Repair Pipelining for Erasure-Coded Storage

Introduction

We propose repair pipelining, a technique that speeds up the repair performance in general erasure-coded storage. By pipelining the repair of failed data in small-size units across storage nodes, repair pipelining reduces the repair time to approximately the same as the normal read time to the same amount of data in homogeneous environments. We further extend repair pipelining for heterogeneous environments. We implement a repair pipelining prototype called ECPipe and integrate it as a middleware system into two open-source distributed storage systems HDFS and QFS. Experiments on a local testbed and Amazon EC2 show that repair pipelining significantly improves the performance of both degraded reads and full-node recovery over existing repair techniques.

Publication

Downloads

ECPipe depends on the following third-party packages. We provide their copies here only for users to try ECPipe. We do not own the packages.

ECPipe source code:

People

ECPipe is developed by the Applied Distributed Systems Lab in the Department of Computer Science and Engineering at the Chinese University of Hong Kong (CUHK).

Acknowledgments

ECPipe uses GF-Complete for erasure-coding related computations and Redis for data caching and delivery.

License

The source code of ECPipe is released under the GNU/GPL license.

Contacts

Please contact Xiaolu Li if you have any questions and comments.