EPLog: Elastic Parity Logging for SSD RAID Arrays

Introduction

Parity-based RAID poses a design trade-off issue for large-scale SSD storage systems: it improves reliability against SSD failures through redundancy, yet its parity updates incur extra I/Os and garbage collection operations, thereby degrading the endurance and performance of SSDs. We propose EPLog, a storage layer that reduces parity traffic to SSDs, so as to provide endurance, reliability, and performance guarantees for SSD RAID arrays. EPLog mitigates parity update overhead via elastic parity logging, which redirects parity traffic to separate log devices (to improve endurance and reliability) and eliminates the need of pre-reading data in parity computations (to improve performance). We design EPLog as a user-level implementation that is fully compatible with commodity hardware and general erasure coding schemes. We evaluate EPLog through reliability analysis and trace-driven testbed experiments. Compared to the Linux software RAID implementation, our experimental results show that our EPLog prototype reduces the total write traffic to SSDs, reduces the number of garbage collection operations, and increases the I/O throughput. In addition, EPLog significantly improves the I/O performance over the original parity logging design, and incurs low metadata overhead.

Publication

Download

People

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

Please contact Helen Chan if you have any questions.

License

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

Acknowledgments

The software of EPLog codes uses open source libraries Jerasure (Revision 2.0, archived) and GF-Complete (archived) developed by Prof. James S. Plank.