WOPE: A write-optimized and parallel-efficient B+-tree for persistent memory

IF 3.7 2区 计算机科学 Q1 COMPUTER SCIENCE, HARDWARE & ARCHITECTURE
Xianyu He, Runyu Zhang, Pengpeng Tian, Lening Zhou, Min Lian, Chaoshu Yang
{"title":"WOPE: A write-optimized and parallel-efficient B+-tree for persistent memory","authors":"Xianyu He,&nbsp;Runyu Zhang,&nbsp;Pengpeng Tian,&nbsp;Lening Zhou,&nbsp;Min Lian,&nbsp;Chaoshu Yang","doi":"10.1016/j.sysarc.2024.103187","DOIUrl":null,"url":null,"abstract":"<div><p>Emerging Persistent Memory (PM) usually has the serious drawback of expensive write activities. Thus, existing PM-oriented B<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-trees mainly concentrate on alleviating the write overhead (i.e., reducing PM writes and flush instructions). Unfortunately, due to the improper data organization in the sorted leaf node, existing solutions cause massive data migration when data inserting or node splitting occurs. In this paper, we propose a write-optimized PM-oriented B<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-tree with aligned flush and selective migration, called WPB<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-tree, to solve the above problems. WPB<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-tree first adopts a buffer-assisted mechanism that temporarily stores the newly inserted data to reduce the overhead of entry shifts. Second, WPB<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-tree employs a selective migration of node entries scheme to achieve less than half of the data migration when a node is split. Moreover, existing PM-oriented B<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-trees usually employ a coarse-grained lock to avoid thread conflicts, which can severely degrade the concurrency efficiency. Thus, we further propose a fine-grained lock technique for WPB<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-tree, namely, parallel-efficient WPB<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-tree (WOPE), to improve the concurrency efficiency. We implement the proposed WPB<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-tree and WOPE on Linux and conduct extensive evaluations with actual persistent memory, where WOPE achieves 23.5%, 30.7%, and 15.3% of performance improvement (<em>insert</em>, <em>read</em>, and <em>scan</em>) over the straightforward solutions (i.e., SSB-Tree, Fast&amp;Fair, and wB<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>tree), and 10.1% of performance improvement over WPB<span><math><msup><mrow></mrow><mrow><mo>+</mo></mrow></msup></math></span>-tree, on average.</p></div>","PeriodicalId":50027,"journal":{"name":"Journal of Systems Architecture","volume":"153 ","pages":"Article 103187"},"PeriodicalIF":3.7000,"publicationDate":"2024-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems Architecture","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1383762124001243","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0

Abstract

Emerging Persistent Memory (PM) usually has the serious drawback of expensive write activities. Thus, existing PM-oriented B+-trees mainly concentrate on alleviating the write overhead (i.e., reducing PM writes and flush instructions). Unfortunately, due to the improper data organization in the sorted leaf node, existing solutions cause massive data migration when data inserting or node splitting occurs. In this paper, we propose a write-optimized PM-oriented B+-tree with aligned flush and selective migration, called WPB+-tree, to solve the above problems. WPB+-tree first adopts a buffer-assisted mechanism that temporarily stores the newly inserted data to reduce the overhead of entry shifts. Second, WPB+-tree employs a selective migration of node entries scheme to achieve less than half of the data migration when a node is split. Moreover, existing PM-oriented B+-trees usually employ a coarse-grained lock to avoid thread conflicts, which can severely degrade the concurrency efficiency. Thus, we further propose a fine-grained lock technique for WPB+-tree, namely, parallel-efficient WPB+-tree (WOPE), to improve the concurrency efficiency. We implement the proposed WPB+-tree and WOPE on Linux and conduct extensive evaluations with actual persistent memory, where WOPE achieves 23.5%, 30.7%, and 15.3% of performance improvement (insert, read, and scan) over the straightforward solutions (i.e., SSB-Tree, Fast&Fair, and wB+tree), and 10.1% of performance improvement over WPB+-tree, on average.

WOPE:针对持久内存的写优化并行高效 B[公式省略]树
新兴的持久内存(PM)通常都有一个严重的缺点,那就是写入活动成本高昂。因此,现有的面向持久内存的 B 树主要集中在减少写开销(即减少持久内存写入和刷新指令)上。遗憾的是,由于排序叶节点的数据组织不当,现有解决方案会在数据插入或节点拆分时造成大量数据迁移。为了解决上述问题,我们在本文中提出了一种写优化的面向 PM 的 B 树,它具有对齐刷新和选择性迁移功能,称为 WPB-tree。WPB-tree 首先采用缓冲辅助机制,临时存储新插入的数据,以减少入口转移的开销。其次,WPB-tree 采用节点条目的选择性迁移方案,在节点分裂时实现少于一半的数据迁移。此外,现有的面向 PM 的 B 树通常采用粗粒度锁来避免线程冲突,这会严重降低并发效率。因此,我们进一步提出了一种针对 WPB 树的细粒度锁技术,即并行高效 WPB 树(WOPE),以提高并发效率。我们在 Linux 上实现了所提出的 WPB-tree 和 WOPE,并用实际的持久内存进行了广泛的评估,结果表明 WOPE 比直接的解决方案(即 SSB-Tree、Fast&Fair 和 wBtree)分别提高了 23.5%、30.7% 和 15.3% 的性能(、、和),比 WPB-tree 平均提高了 10.1% 的性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Journal of Systems Architecture
Journal of Systems Architecture 工程技术-计算机:硬件
CiteScore
8.70
自引率
15.60%
发文量
226
审稿时长
46 days
期刊介绍: The Journal of Systems Architecture: Embedded Software Design (JSA) is a journal covering all design and architectural aspects related to embedded systems and software. It ranges from the microarchitecture level via the system software level up to the application-specific architecture level. Aspects such as real-time systems, operating systems, FPGA programming, programming languages, communications (limited to analysis and the software stack), mobile systems, parallel and distributed architectures as well as additional subjects in the computer and system architecture area will fall within the scope of this journal. Technology will not be a main focus, but its use and relevance to particular designs will be. Case studies are welcome but must contribute more than just a design for a particular piece of software. Design automation of such systems including methodologies, techniques and tools for their design as well as novel designs of software components fall within the scope of this journal. Novel applications that use embedded systems are also central in this journal. While hardware is not a part of this journal hardware/software co-design methods that consider interplay between software and hardware components with and emphasis on software are also relevant here.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信