gPPM: A Generalized Matrix Operation and Parallel Algorithm to Accelerate the Encoding/Decoding Process of Erasure Codes
Shiyi Li,Qiang Cao,Shenggang Wan,Wen Xia,Changsheng Xie
DOI: https://doi.org/10.1145/3625005
IF: 1.444
2023-09-21
ACM Transactions on Architecture and Code Optimization
Abstract:Erasure codes are widely deployed in modern storage systems, leading to frequent usage of their encoding/decoding operations. The encoding/decoding process for erasure codes is generally carried out using the parity-check matrix approach. However, this approach is serial and computationally expensive, mainly due to dealing with matrix operations, which results in low encoding/decoding performance. These drawbacks are particularly evident for newer erasure codes, including SD and LRC codes. To address these limitations, this paper introduces the Partitioned and Parallel Matrix ( PPM ) algorithm. This algorithm partitions the parity-check matrix, parallelizes encoding/decoding operations, and optimizes calculation sequence to facilitate fast encoding/decoding of these codes. Furthermore, we present a generalized PPM ( gPPM ) algorithm that surpasses PPM in performance by employing fine-grained dynamic matrix calculation sequence selection. Unlike PPM, gPPM is also applicable to erasure codes such as RS code. Experimental results demonstrate that PPM improves the encoding/decoding speed of SD and LRC codes by up to \(210.81\% \) . Besides, gPPM achieves up to \(102.41\% \) improvement over PPM and \(32.25\% \) improvement over RS regarding encoding/decoding speed.
computer science, theory & methods, hardware & architecture