LESS is More for I/O-Efficient Repairs inErasure-Coded Storage
为 FAST'26 顶会论文,原文链接为 LESS is More for I/O-Efficient Repairs inErasure-Coded Storage
@article{chengless,
title={LESS is More for I/O-Efficient Repairs in Erasure-Coded Storage},
author={Cheng, Keyun and Li, Guodong and Li, Xiaolu and Hu, Sihuang and Lee, Patrick PC}
}
Table of Contents
团子观点
Reed-Solomon (RS) 确实是当前分布式存储中离不开的编码方式。本文基于广泛使用的 RS 编码,通过对条带、子条带的扩展和划分,并通过数学证明了其在范德蒙矩阵 RS 编码下的正确性。
为什么分布式存储仍然钟爱 EC 编码和 RS 编码
译者经常和同事讨论这个话题。近年来有许多结构复杂的编码,它们往往通过更复杂的拓扑组合和逻辑达到了更好的性能、成本或修复效率。
造型优美
但开发者和工程应用往往喜欢大道至简的东西。在分布式的混沌系统中,编码的造型越优美、越对称,越能够降低开发者和运维者的心智负担。
EC 编码就是一个这样的编码。虽然修复时候有较大的 IO 放大,但就是这样一个 EC(n, k) 的结构,非常易于理解和落地。
站在巨人的肩膀上
现代的硬件和基础库往往对 RS 进行了高度的优化。直接使用工业级编码库省去了很多工作量。
LRC 又如何
译者的同事有一个观点:LRC 是罕见的能够以小博大的优美方法。通过简单加入 XOR 本地块,略微增大冗余却大大降低了修复代价。
LRC 同时保持了心智友好。虽然不是 MDS 的,但是仍然可以轻松在一张纸上画出分片结构。
LESS
本文回归到 RS 码的线性叠加逻辑上。通过“分层扩展子条带”的设计,它仅需极小的子分块数(如 $$\alpha=2$$)就能显著降低修复 I/O。
LESS 很好地继承了 RS 码的对称性,确保了数据块和校验块在修复时具有相同的成本。这种确定性对于运维调度来说,可能比不稳定的“理论最优”更可取。
LESS 可以作为 RS 码的一个“插件化”增强。如果读者正在寻找更低修复代价,同时又要求足够简约的编码方式,可以尝试此方法。
其他材料推荐
推荐以下材料
CubeFS技术揭秘 | 多AZ纠删码容灾技术: 非常好的工程文章,详细描述了 cubefs ec/lrc 的实现动机和细节,非常适合正在使用工业库构建自己编码系统的开发者参考。
Erasure-Code 系列文章 - OpenACID Blog: 从数学原理娓娓道来,并阐述了工业库的实现经验。
受限于博客 markdown 公式渲染,论文的全文翻译请移步 https://storage-memo.steinslab.io/sys/fast26-less/ ,感谢!