G-CRS: GPU Accelerated Cauchy Reed-Solomon Coding

Chengjian Liu, Qiang WANG, Xiaowen CHU*, Yiu Wing LEUNG

*Corresponding author for this work

Research output: Contribution to journalJournal articlepeer-review

20 Citations (Scopus)


Recently, erasure coding has been extensively deployed in large-scale storage systems to replace data replication. With the increase in disk I/O throughput and network bandwidth, the performance of erasure coding becomes a major bottleneck of erasure-coded storage systems. In this paper, we propose a graphics processing unit (GPU)-based implementation of erasure coding named G-CRS, which employs the Cauchy Reed-Solomon (CRS) code, to overcome the aforementioned bottleneck. To maximize the coding performance of G-CRS, we designed and implemented a set of optimization strategies, such as a compact structure to store the bitmatrix in GPU constant memory, efficient data access through shared memory, and decoding parallelism, to fully utilize the GPU resources. In addition, we derived a simple yet accurate performance model to demonstrate the maximum coding performance of G-CRS on GPU. We evaluated the performance of G-CRS through extensive experiments on modern GPU architectures such as Maxwell and Pascal, and compared with other state-of-the-art coding libraries. The evaluation results revealed that the throughput of G-CRS was 10 times faster than most of the other coding libraries. Moreover, G-CRS outperformed PErasure (a recently developed, well optimized CRS coding library on the GPU) by up to 3 times in the same architecture.

Original languageEnglish
Pages (from-to)1484-1498
Number of pages15
JournalIEEE Transactions on Parallel and Distributed Systems
Issue number7
Publication statusPublished - 1 Jul 2018

Scopus Subject Areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics

User-Defined Keywords

  • Cauchy reed-solomon code
  • distributed storage system
  • erasure coding
  • graphics processing unit


Dive into the research topics of 'G-CRS: GPU Accelerated Cauchy Reed-Solomon Coding'. Together they form a unique fingerprint.

Cite this