General Functional Regenerating Codes with Uncoded Repair for Distributed Storage System
Qing Liu, Dan Feng, Zhan Shi, Min Fu · 2015
Erasure codes are widely used in modern distributed storage systems to prevent data loss and server failures. Regenerating codes are a class of erasure codes that trades storage efficiency and computation for repair bandwidth reduction. However, their non-unified coding parameters and huge computation overhead prohibit their applications. Hence, we first propose a family of Functional Regenerating Codes (FRCs) with uncoded repair, balancing storage efficiency and repair bandwidth with general parameters. FRCs take advantage of a heuristic repair algorithm, which makes efforts to employ as little repair bandwidth as possible. Second, we optimize encoding by constructing the generator matrix with a bitmatrix, so encoding of FRCs can be executed by fast bitwise XORs. Further, we also optimize repairing with the Scheduled Shift Multiplication (SSM) algorithm, which accelerates the matrix product over the Galois field during repair. Compared to the traditional table-lookup multiplication algorithm, our SSM algorithm gains 1.2~2X speed-up.