Log-structured storage has been widely deployed in various domains of storage systems, yet its garbage collection incurs write amplification (WA) due to the rewrites of live data. We show that there exists an optimal data placement scheme that minimizes WA using the future knowledge of block invalidation time (BIT) of each written block, yet it is infeasible to realize in practice. We propose a novel data placement algorithm for reducing WA, SepBIT, that aims to infer the BITs of written blocks from storage workloads and separately place the blocks into groups with similar estimated BITs. We show via both mathematical and production trace analyses that SepBIT effectively infers the BITs by leveraging the write skewness property in practical storage workloads. Trace analysis and prototype experiments show that SepBIT reduces WA and improves I/O throughput, respectively, compared with state-of-the-art data placement schemes. SepBIT is currently deployed to support the log-structured block storage management at Alibaba Cloud.
翻译:由于实时数据的重写,其垃圾收集工作需要写作放大(WA),我们显示,目前存在一个最佳的数据放置方案,利用每个书面区块未来街区区块失效时间(BIT)知识将WA降到最低程度,但在实践中无法实现。我们提出了一个减少WA的新的数据放置算法,即SepBIT,目的是从储存工作量中推断成书面区块的双边投资条约,并将区块单独置于具有类似估计双边投资条约的集团中。我们通过数学和生产方面的追踪分析显示,SepBIT通过在实际储存工作量中利用书写折叠属性,有效地推断了双边投资条约。追踪分析和原型实验显示,SepBIT与最新数据放置计划相比,分别减少了WA并改进了I/O的吞吐量。目前正在部署SpIT,以支持Alibaba云的日志式区块储存管理。