A Performance Evaluation and Examination of Open-Source Erasure Coding Libraries For Storage
This papers compares different EC implementations to discern whether theory matches practice. It also demostrates how parameter selection affects the EC’s performance. It also provides a reference for EC code designers about the potential research directions. Five ECs, including Classic Reed-Solomon codes, Cauchy Reed-Solomon codes, EVENODD, Row Diagonal Parity (RDP) and Minimal Density RAID-6 codes are compared.
Experiments * Encoding/Decoding. n different disks. Each piece of n = m + k resides in 1 disk. * Fixed size data buffer/coding buffer. A data buffer consists of k blocks, coding buffer with m blocks. * A block consists of s strips, each strip partitioned into words with size w. Data buffer size: kswPS. PS represents a theoretical stripe.
3.1 Parameter Space * Test cases: RAID-6 (6,2), (14, 2), (12, 4), (10, 6), file: 1GB random file, w are different for each library.
3.2 Impact of packet size: high packet size performs better. A maximum of performance when the code makes the best use of L1 cache. Smaller packets are necessary for most of the stripes to fit into cache.
3.3 Overall Encoding performance * Packet size: optimal for each lib * The overall performance will be greately affected by w. * RDP performs best, suffers while w increases. * Jerasure performs good, Luby and Cleversafe not that good, reason: implementation of GS not optimized * RS RAID-6 performs good.
4.1 Results * Macbook matches the theory closely * Minimal Density code benefits greately from Code-Specific Hybrid Reconstruction in Jerasure. * The performance can be compared with the number of XOR’s.
N/A
N/A