Bluecache: A scalable distributed flash-based key-value store

S Xu - 2016 - dspace.mit.edu
2016dspace.mit.edu
Low-latency and high-bandwidth access to a large amount of data is a key requirement for
many web applications in data centers. To satisfy such a requirement, a distributed
inmemory key-value store (KVS), such as memcached and Redis, is widely used as a
caching layer to augment the slower persistent backend storage (eg disks) in data centers.
DRAMbased KVS is fast key-value access, but it is difficult to further scale the memory pool
size because of cost, power/thermal concerns and floor plan limits. Flash memory offers an …
Low-latency and high-bandwidth access to a large amount of data is a key requirement for many web applications in data centers. To satisfy such a requirement, a distributed inmemory key-value store (KVS), such as memcached and Redis, is widely used as a caching layer to augment the slower persistent backend storage (e.g. disks) in data centers. DRAMbased KVS is fast key-value access, but it is difficult to further scale the memory pool size because of cost, power/thermal concerns and floor plan limits. Flash memory offers an alternative as KVS storage media with higher capacity per dollar and less power per byte. However, a flash-based KVS software running on an x86 server with commodity SSD cannot harness the full potential device performance of flash memory, because of overheads of the legacy storage I/O stack and relatively slow network in comparison with faster flash storage. In this work, we examine an architecture of a scalable distributed flash-based key-value store to overcome these limitations. BlueCache consists of low-power hardware accelerators which directly manage raw NAND flash chips and also provide near-storage network processing. We have constructed a BlueCache KVS cluster which achieve the full potential performance of flash chips, and whose throughput directly scales with the number of nodes. BlueCache is 3.8x faster and 25x lower power consumption than a flash-backed KVS software running on x86 servers. As a data-center caching solution, BlueCache becomes a superior choice when the DRAM-based KVS has more than 7.7% misses due to limited capacity. BlueCache presents an attractive point in the cost-performance trade-off for data-center-scale key-value system.
dspace.mit.edu