当前位置: X-MOL 学术ACM Trans. Archit. Code Optim. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
WIPE: A Write-Optimized Learned Index for Persistent Memory
ACM Transactions on Architecture and Code Optimization ( IF 1.6 ) Pub Date : 2024-02-15 , DOI: 10.1145/3634915
Zhonghua Wang 1 , Chen Ding 1 , Fengguang Song 2 , Kai Lu 1 , Jiguang Wan 1 , Zhihu Tan 1 , Changsheng Xie 1 , Guokuan Li 1
Affiliation  

Learned Index, which utilizes effective machine learning models to accelerate locating sorted data positions, has gained increasing attention in many big data scenarios. Using efficient learned models, the learned indexes build large nodes and flat structures, thereby greatly improving the performance. However, most of the state-of-the-art learned indexes are designed for DRAM, and there is hence an urgent need to enable high-performance learned indexes for emerging Non-Volatile Memory (NVM). In this article, we first evaluate and analyze the performance of the existing learned indexes on NVM. We discover that these learned indexes encounter severe write amplification and write performance degradation due to the requirements of maintaining large sorted/semi-sorted data nodes. To tackle the problems, we propose a novel three-tiered architecture of write-optimized persistent learned index, which is named WIPE, by adopting unsorted fine-granularity data nodes to achieve high write performance on NVM. Thereinto, we devise a new root node construction algorithm to accelerate searching numerous small data nodes. The algorithm ensures stable flat structure and high read performance in large-size datasets by introducing an intermediate layer (i.e., index nodes) and achieving accurate prediction of index node positions from the root node. Our extensive experiments on Intel DCPMM show that WIPE can improve write throughput and read throughput by up to 3.9× and 7×, respectively, compared to the state-of-the-art learned indexes. Also, WIPE can recover from a system crash in ∼ 18 ms. WIPE is free as an open-source software package.1



中文翻译:

WIPE:持久内存的写入优化学习索引

学习索引利用有效的机器学习模型来加速定位排序数据位置,在许多大数据场景中受到越来越多的关注。使用高效的学习模型,学习索引构建大节点和扁平结构,从而大大提高性能。然而,大多数最先进的学习索引都是为 DRAM 设计的,因此迫切需要为新兴的非易失性存储器(NVM)启用高性能学习索引。在本文中,我们首先评估和分析现有学习索引在 NVM 上的性能。我们发现,由于需要维护大型排序/半排序数据节点,这些学习索引遇到了严重的写入放大和写入性能下降。为了解决这个问题,我们提出了一种新颖的写优化持久学习索引的三层架构,名为WIPE,通过采用未排序的细粒度数据节点来实现 NVM 上的高写入性能。其中,我们设计了一种新的根节点构造算法来加速搜索大量小数据节点。该算法通过引入中间层(即索引节点)并实现从根节点开始准确预测索引节点位置,保证了在大数据集上稳定的扁平结构和较高的读取性能。我们在 Intel DCPMM 上进行的大量实验表明,与最先进的学习索引相比,WIPE 可以将写入吞吐量和读取吞吐量分别提高高达 3.9 倍和 7 倍。此外,WIPE 可以在大约 18 毫秒内从系统崩溃中恢复。 WIPE 作为开源软件包是免费的。1

更新日期:2024-02-16
down
wechat
bug