PARIX: Speculative Partial Writes in Erasure-Coded Systems

Authors: 

Huiba Li, mos.meituan.com; Yiming Zhang, NUDT; Zhiming Zhang, mos.meituan.com; Shengyun Liu, Dongsheng Li, Xiaohui Liu, and Yuxing Peng, NUDT

Abstract: 

Erasure coding (EC) has been widely used in cloud storage systems because it effectively reduces storage redundancy while providing the same level of durability. However, EC introduces significant overhead to small write operations which perform partial write to an entire EC group. This has been a major barrier for EC to be widely adopted in small-write-intensive systems such as virtual disk service. Parity logging (PL) appends parity changes to a journal to accelerate partial writes. However, since previous PL schemes have to perform a time-consuming write-after-read for each partial write, i.e., read the current value of the data and then compute and write the parity delta, their write performance is still much lower than that of replication-based storage.

This paper presents PARIX, a speculative partial write scheme for fast parity logging. We transform the original formula of parity calculation, so as to use the data deltas (between the current/original data values), instead of the parity deltas, to calculate the parities during journal replay. For each partial write, this allows PARIX to speculatively log only the current value of the data. The original value is needed only once in a journal when performing the first write to the data. For a series of n partial writes to the same data, PARIX performs pure write (instead of write-after-read) for the last n−1 ones while only introducing a small penalty of an extra network RTT (round-trip time) to the first one. Evaluation results show that PARIX remarkably outperforms state-of-the-art PL schemes in partial write performance.

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.

BibTeX
@inproceedings {203205,
author = {Huiba Li and Yiming Zhang and Zhiming Zhang and Shengyun Liu and Dongsheng Li and Xiaohui Liu and Yuxing Peng},
title = {{PARIX}: Speculative Partial Writes in {Erasure-Coded} Systems},
booktitle = {2017 USENIX Annual Technical Conference (USENIX ATC 17)},
year = {2017},
isbn = {978-1-931971-38-6},
address = {Santa Clara, CA},
pages = {581--587},
url = {https://www.usenix.org/conference/atc17/technical-sessions/presentation/li-huiba},
publisher = {USENIX Association},
month = jul
}

Presentation Audio