Erasure Coding & Read/Write Separation in Flash Storage
Dimitris Skourtis, Dimitris Achlioptas, Noah Watkins, Carlos Maltzahn, and Scott Brandt, University of California, Santa Cruz
We want to create a scalable flash storage system that provides read/write separation and uses erasure coding to provide reliability without the storage cost of replication. Flash on Rails is a system for enabling consistent performance in flash storage by physically separating reads from writes through redundancy. In principle, Rails supports erasure codes. However, it has only been evaluated using replication in small arrays, so it is currently uncertain how it would scale with erasure coding.
In this work we consider the applicability of erasure coding in Rails, in a new system called eRails. We consider the effects of computation due to encoding/decoding on the raw performance, as well as its effect on performance consistency. We demonstrate that up to a certain number of drives the performance remains unaffected while the computation cost remains modest. After that point, the computational cost grows quickly due to coding itself making further scaling inefficient. To support an arbitrary number of drives we present a design allowing us to scale eRails by constructing overlapping erasure coding groups that preserve read/write separation. Finally, through benchmarks we demonstrate that eRails achieves read/write separation and consistent read performance under read/write workloads.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
author = {Dimitris Skourtis and Dimitris Achlioptas and Noah Watkins and Carlos Maltzahn and Scott Brandt},
title = {Erasure Coding \& {Read/Write} Separation in Flash Storage},
booktitle = {2nd Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW 14)},
year = {2014},
address = {Broomfield, CO},
url = {https://www.usenix.org/conference/inflow14/workshop-program/presentation/skourtis},
publisher = {USENIX Association},
month = oct
}
connect with us