Hybrid storage systems (HSS) use multiple different storage devices to provide high and scalable storage capacity at high performance. Recent research proposes various techniques that aim to accurately identify performance-critical data to place it in a "best-fit" storage device. Unfortunately, most of these techniques are rigid, which (1) limits their adaptivity to perform well for a wide range of workloads and storage device configurations, and (2) makes it difficult for designers to extend these techniques to different storage system configurations (e.g., with a different number or different types of storage devices) than the configuration they are designed for. We introduce Sibyl, the first technique that uses reinforcement learning for data placement in hybrid storage systems. Sibyl observes different features of the running workload as well as the storage devices to make system-aware data placement decisions. For every decision it makes, Sibyl receives a reward from the system that it uses to evaluate the long-term performance impact of its decision and continuously optimizes its data placement policy online. We implement Sibyl on real systems with various HSS configurations. Our results show that Sibyl provides 21.6%/19.9% performance improvement in a performance-oriented/cost-oriented HSS configuration compared to the best previous data placement technique. Our evaluation using an HSS configuration with three different storage devices shows that Sibyl outperforms the state-of-the-art data placement policy by 23.9%-48.2%, while significantly reducing the system architect's burden in designing a data placement mechanism that can simultaneously incorporate three storage devices. We show that Sibyl achieves 80% of the performance of an oracle policy that has complete knowledge of future access patterns while incurring a very modest storage overhead of only 124.4 KiB.
翻译:使用多种不同的存储装置来提供高且可缩放的存储能力。 最近的研究提出了各种旨在准确识别性能关键数据以将其置于“ 最佳” 存储装置中的各种技术。 不幸的是, 大部分这些技术都是僵硬的, 多数这些技术都限制了它们的适应性, 以很好地适应广泛的工作量和存储装置配置, 以及(2) 使得设计师难以将这些技术推广到与其设计配置不同的存储系统配置( 例如, 具有不同数目或不同种类的存储装置) 。 我们引入了Sibyl, 这是在混合存储系统中采用数据配置的第一个强化学习技术。 Sibyl 观察到运行中的工作量以及存储装置的不同特点, 以便作出系统认知数据配置决定。 Sibyl 从用来评估其决定的长期性能影响并持续优化其在线数据配置政策。 我们在各种HSS配置中实施了Sibybyl, 我们使用Sibyl为数据配置设计了21.6%/19.9% 将数据配置系统进行最佳的配置, 而Sibel 则在前三个数据配置中, 向Halforforf dal 这样的配置显示, 在前的运行中, Sildalforforforal laved dald dation slavestration Slavemental a sldal sld sld sld slaveal a laveal lavedal a laveal a laveal laveal sal sal a laveal a laved laved lavementaldal lavemental a lad sald lad lad lad lad lad lad lad lad lad lavealdaldaldaldaldald lad ladald lad ladaldaldaldald ladaldaldaldaldaldaldaldaldaldaldaldaldaldaldaldaldal ladaldaldaldaldaldaldaldaldaldaldaldaldaldaldald ladaldaldal lad