  Distributed storage systems support failures of individual devices by the use
of replication or erasure correcting codes. While erasure correcting codes
offer a better storage efficiency than replication for similar fault tolerance,
they incur higher CPU consumption, higher network consumption and higher disk
I/Os. To address these issues, codes specific to storage systems have been
designed. Their main feature is the ability to repair a single lost disk
efficiently. In this paper, we focus on one such class of codes that minimize
network consumption during repair, namely regenerating codes. We implement the
original Product-Matrix Regenerating codes as well as a new optimization we
propose and show that the resulting optimized codes allow achieving 790 MB/s
for encoding in typical settings. Reported speeds are significantly higher than
previous studies, highlighting that regenerating codes can be used with little
CPU penalty.
