Flashield: a Hybrid Key-value Cache that Controls Flash Write Amplification

Website Maintenance Alert

Due to scheduled maintenance on Monday, December 10, 2018, from 10 am-12 noon, parts of the USENIX website (e.g. user account changes) may not be available. We apologize for the inconvenience.

Authors: 

Assaf Eisenman, Stanford University; Asaf Cidon, Stanford University and Barracuda Networks; Evgenya Pergament and Or Haimovich, Stanford University; Ryan Stutsman, University of Utah; Mohammad Alizadeh, MIT CSAIL; Sachin Katti, Stanford University

Abstract: 

As its price per bit drops, SSD is increasingly becoming the default storage medium for hot data in cloud application databases. Even though SSD’s price per bit is more than 10× lower, and it provides sufficient performance (when accessed over a network) compared to DRAM, the durability of flash has limited its adoption in write-heavy use cases, such as key-value caching. This is because key-value caches need to frequently insert, update and evict small objects. This causes excessive writes and erasures on flash storage, which significantly shortens the lifetime of flash. We present Chimera, a hybrid key-value cache that uses DRAM as a “filter” to control and limit writes to SSD. Chimera performs lightweight machine learning admission control to predict which objects are likely to be read frequently without getting updated; these objects, which are prime candidates to be stored on SSD, are written to SSD in large chunks sequentially. In order to efficiently utilize the cache’s available memory, we design a novel in-memory index for the variable-sized objects stored on flash that requires only 4 bytes per object in DRAM. We describe Chimera’s design and implementation, and evaluate it on real-world traces from a widely used caching service, Memcachier. Compared to state-of-the-art systems that suffer a write amplification of 2.5× or more, Chimera maintains a median write amplification of 0.5× (since many filtered objects are never written to flash at all), without any loss of hit rate or throughput.

BibTeX
@inproceedings {226000,
author = {Assaf Eisenman and Asaf Cidon and Evgenya Pergament and Or Haimovich and Ryan Stutsman and Mohammad Alizadeh and Sachin Katti},
title = {Flashield: a Hybrid Key-value Cache that Controls Flash Write Amplification},
booktitle = {16th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 19)},
year = {2019},
address = {Boston, MA},
url = {https://www.usenix.org/conference/nsdi19/presentation/eisenman},
publisher = {{USENIX} Association},
}