WOPE:针对持久内存的写优化并行高效 B[公式省略]树

IF 3.7 2区 计算机科学 Q1 COMPUTER SCIENCE, HARDWARE & ARCHITECTURE Journal of Systems Architecture Pub Date : 2024-05-28 DOI:10.1016/j.sysarc.2024.103187
Xianyu He, Runyu Zhang, Pengpeng Tian, Lening Zhou, Min Lian, Chaoshu Yang
{"title":"WOPE:针对持久内存的写优化并行高效 B[公式省略]树","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":"{\"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}","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

摘要

新兴的持久内存(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% 的性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
WOPE: A write-optimized and parallel-efficient B+-tree for persistent memory

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.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
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.
期刊最新文献
EDF-based Energy-Efficient Probabilistic Imprecise Mixed-Criticality Scheduling Collaborative optimization of offloading and pricing strategies in dynamic MEC system via Stackelberg game GTA: Generating high-performance tensorized program with dual-task scheduling Editorial Board Electric vehicle charging network security: A survey
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1