BlowFish: Dynamic Storage-Performance Tradeoff in Data Stores
Anurag Khandelwal, Rachit Agarwal, and Ion Stoica, University of California, Berkeley
We present BlowFish, a distributed data store that admits a smooth tradeoff between storage and performance for point queries. What makes BlowFish unique is its ability to navigate along this tradeoff curve efficiently at finegrained time scales with low computational overhead. Achieving a smooth and dynamic storage-performance tradeoff enables a wide range of applications. We apply BlowFish to several such applications from real-world production clusters: (i) as a data recovery mechanism during failures: in practice, BlowFish requires 5.4× lower bandwidth and 2.5× lower repair time compared to stateof-the-art erasure codes, while reducing the storage cost of replication from 3× to 1.9×; and (ii) data stores with spatially-skewed and time-varying workloads (e.g., due to object popularity and/or transient failures): we show that navigating the storage-performance tradeoff achieves higher system-wide utility (e.g., throughput) than selectively caching hot objects.
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 = {Anurag Khandelwal and Rachit Agarwal and Ion Stoica},
title = {{BlowFish}: Dynamic {Storage-Performance} Tradeoff in Data Stores},
booktitle = {13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16)},
year = {2016},
isbn = {978-1-931971-29-4},
address = {Santa Clara, CA},
pages = {485--500},
url = {https://www.usenix.org/conference/nsdi16/technical-sessions/presentation/khandelwal},
publisher = {USENIX Association},
month = mar
}
connect with us