arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2004.10360cs.DB
收藏

打破内存墙:基于LSM的存储系统中的自适应存储管理(扩展版)

Breaking Down Memory Walls: Adaptive Memory Management in LSM-based Storage Systems (Extended Version)

Chen Luo, Michael J. Carey

摘要:

日志结构合并树(Log-Structured Merge-Trees,LSM-trees)在现代NoSQL系统中得到了广泛的应用。由于其不适当的更新设计,LSM树在多个LSM树的存储器组件之间以及在写存储器和缓冲区高速缓存之间引入了存储器墙。这些区域之间的最佳内存分配是不平凡的,因为它是高度依赖于工作负载。现有的LSM树实现由于其简单性和鲁棒性而采用静态内存分配方案,从而牺牲了性能。在本文中,我们试图打破这些内存墙在基于LSM的存储系统。我们首先提出了一个存储管理架构,使自适应存储管理。然后,我们提出了一个分区的内存组件结构与新的刷新策略,以更好地利用写内存,以尽量减少写成本。为了打破写内存和缓冲区缓存之间的内存墙,我们进一步引入了一个内存调谐器,它可以调谐这两个区域之间的内存分配。我们使用YCSB和TPC-C基准测试在Apache AsterixDB的上下文中进行了广泛的实验,我们在这里展示了结果。

英文摘要:

Log-Structured Merge-trees (LSM-trees) have been widely used in modern NoSQL systems. Due to their out-of-place update design, LSM-trees have introduced memory walls among the memory components of multiple LSM-trees and between the write memory and the buffer cache. Optimal memory allocation among these regions is non-trivial because it is highly workload-dependent. Existing LSM-tree implementations instead adopt static memory allocation schemes due to their simplicity and robustness, sacrificing performance. In this paper, we attempt to break down these memory walls in LSM-based storage systems. We first present a memory management architecture that enables adaptive memory management. We then present a partitioned memory component structure with new flush policies to better exploit the write memory to minimize the write cost. To break down the memory wall between the write memory and the buffer cache, we further introduce a memory tuner that tunes the memory allocation between these two regions. We have conducted extensive experiments in the context of Apache AsterixDB using the YCSB and TPC-C benchmarks and we present the results here.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑