Advanced Elastic Reed-Solomon Codes for Erasure-Coded Key Value Stores

Junmei Chen,Zongpeng Li,Ruiting Zhou,Lina Su,Ne Wang
DOI: https://doi.org/10.1109/jiot.2023.3299574
IF: 10.6
2024-01-01
IEEE Internet of Things Journal
Abstract:Erasure coding is a storage-efficient redundancy scheme for modern key-value (KV) stores, storing stripes of data and parity chunks in multiple nodes. To accommodate the highly skewed and time-varying nature of the workload, KV stores require erasure code that dynamically optimizes its parameters, known as redundancy converting. Stretched Reed-Solomon (SRS) and Elastic Reed-Solomon (ERS) codes represent promising candidates for meeting such requirements. However, both SRS and ERS are limited to RS(d,r) → RS(d′,r′) converting, where d′>d,r′=r, failing to fully meet actual needs. This work presents an advanced ERS code (AERS code), which builds upon flexible encoding matrices and placement strategies, serving different types of redundancy converting, and minimizing converting traffic. We further prove that AERS code is an optimal redundancy converting solution that achieves the theoretical lower bound on data traffic during redundancy converting while guaranteeing node-level fault tolerance. We evaluate AERS code through both mathematical analysis and experiments. In the mise-en-scène of its state-of-the-art alternatives, AERS stands out by reducing network traffic up to 50%~85.7% while accelerating redundancy converting.
What problem does this paper attempt to address?