SILT: A Memory-Efficient, High-Performance Key-Value Store
ACM Symposium on Operating Systems Principles (SOSP'11), Cascais, Portugal, October 2011.
Hyeontaek Lim, Bin Fan, David Andersen and Michael Kaminsky*
Carnegie Mellon University
Pittsburgh, PA 15213
SILT (Small Index Large Table) is a memory-efficient, high-performance key-value store system based on flash storage that scales to serve billions of key-value items on a single node. It requires only 0.7 bytes of DRAM per entry and retrieves key/value pairs using on average 1.01 flash reads each. SILT combines new algorithmic and systems techniques to balance the use of memory, storage, and computation. Our contributions include: (1) the design of three basic key-value stores each with a different emphasis on memoryefficiency and write-friendliness; (2) synthesis of the basic key-value stores to build a SILT key-value store system; and (3) an analytical model for tuning system parameters carefully to meet the needs of different workloads. SILT requires one to two orders of magnitude less memory to provide comparable throughput to current high-performance key-value systems on a commodity desktop system with flash storage.
FULL PAPER: pdf