Mlog: Multi-logWrite Buffer upon Ultra-fast SSD RAID

ICPP(2022)

引用 0|浏览7
暂无评分
摘要
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 122x in the write throughput under intensive workloads.
更多
查看译文
关键词
RAID, Write Buffer, Solid State Disk, I/O Scheduling
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要