Mlog: Multi-log Write Buffer upon Ultra-fast SSD RAID

Shucheng Wang, Q. Cao, Ziyi Lu, Jie Yao
{"title":"Mlog: Multi-log Write Buffer upon Ultra-fast SSD RAID","authors":"Shucheng Wang, Q. Cao, Ziyi Lu, Jie Yao","doi":"10.1145/3545008.3545034","DOIUrl":null,"url":null,"abstract":"Parity-based RAID suffering from partial-stripe write-penalty has to introduce write buffer to fast absorb and merge incoming writes, and then flush them to RAID array in batch. However, we experimentally observe that the popular buffering mechanism as Linux RAID journal and partial parity logging (PPL) becomes a bottleneck for ultra-fast SSD-based RAID, and we further uncover that the centralized log-buffer model is the prime cause. In this paper, we propose a highly-parallel multi-Log RAID write buffer, Mlog, employing a two-dimensional log data-layout and a parallel I/O processing model to fully exploit both intra-/inter-SSDs parallelism. Specifically, Mlog partitions the global log-buffer into a set of SSD-zones located within each SSDs in horizontal, and the SSD-zone further divided into sublogs in vertical. Each sublog adopts a fine-grained submission lock. A set of sublogs with the same logical offset across different SSDs are combined into a LogGroup. Moreover, Mlog presents a two-phase write allocation to hash an incoming request to a LogGroup, and then strategically writes it to a dedicated sublog, thus providing highly-parallel logging writes. Mlog schedules part of LogGroups to serve incoming requests while reclaiming the others in the background, unleashing the internal-parallelism of SSDs. Finally, Mlog generates parities for the buffered user data within a LogGroup, enhancing data reliability. We evaluate Mlog with a variety of benchmarks and real-world traces. Mlog is shown to consistently outperform Linux RAID journal and PPL by up to 122 × in the write throughput under intensive workloads.","PeriodicalId":360504,"journal":{"name":"Proceedings of the 51st International Conference on Parallel Processing","volume":"14 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 51st International Conference on Parallel Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3545008.3545034","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Parity-based RAID suffering from partial-stripe write-penalty has to introduce write buffer to fast absorb and merge incoming writes, and then flush them to RAID array in batch. However, we experimentally observe that the popular buffering mechanism as Linux RAID journal and partial parity logging (PPL) becomes a bottleneck for ultra-fast SSD-based RAID, and we further uncover that the centralized log-buffer model is the prime cause. In this paper, we propose a highly-parallel multi-Log RAID write buffer, Mlog, employing a two-dimensional log data-layout and a parallel I/O processing model to fully exploit both intra-/inter-SSDs parallelism. Specifically, Mlog partitions the global log-buffer into a set of SSD-zones located within each SSDs in horizontal, and the SSD-zone further divided into sublogs in vertical. Each sublog adopts a fine-grained submission lock. A set of sublogs with the same logical offset across different SSDs are combined into a LogGroup. Moreover, Mlog presents a two-phase write allocation to hash an incoming request to a LogGroup, and then strategically writes it to a dedicated sublog, thus providing highly-parallel logging writes. Mlog schedules part of LogGroups to serve incoming requests while reclaiming the others in the background, unleashing the internal-parallelism of SSDs. Finally, Mlog generates parities for the buffered user data within a LogGroup, enhancing data reliability. We evaluate Mlog with a variety of benchmarks and real-world traces. Mlog is shown to consistently outperform Linux RAID journal and PPL by up to 122 × in the write throughput under intensive workloads.
Mlog: Multi-log Write Buffer on Ultra-fast SSD RAID
基于奇偶校验的RAID受到部分条带写入惩罚的困扰,必须引入写缓冲区来快速吸收和合并传入的写,然后批量将其刷新到RAID阵列中。然而,我们通过实验观察到,Linux RAID日志和部分奇偶记录(PPL)等流行的缓冲机制成为基于ssd的超高速RAID的瓶颈,并且我们进一步发现集中式日志缓冲模型是主要原因。在本文中,我们提出了一个高度并行的多日志RAID写缓冲区Mlog,它采用二维日志数据布局和并行I/O处理模型来充分利用ssd内/ ssd间的并行性。具体来说,Mlog在水平方向上将全局日志缓冲区划分为一组位于每个ssd中的ssd区域,在垂直方向上将ssd区域进一步划分为子日志。每个子日志采用一个细粒度的提交锁。在不同ssd上具有相同逻辑偏移量的一组子日志被组合成一个LogGroup。此外,Mlog提供了一个两阶段的写分配,将传入的请求散列到LogGroup,然后有策略地将其写入专用的子日志,从而提供高度并行的日志写入。Mlog调度loggroup的一部分来处理传入请求,同时在后台回收其他请求,从而释放ssd的内部并行性。最后,Mlog为LogGroup中的缓冲用户数据生成校验,从而增强数据可靠性。我们使用各种基准测试和实际跟踪来评估Mlog。在高强度工作负载下,Mlog的写吞吐量始终比Linux RAID journal和PPL高122倍。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
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学术文献互助群
群 号:604180095
Book学术官方微信