TRIAD: Creating Synergies Between Memory, Disk and Log in Log Structured Key-Value StoresReportar como inadecuado

TRIAD: Creating Synergies Between Memory, Disk and Log in Log Structured Key-Value Stores - Descarga este documento en PDF. Documentación en PDF para descargar gratis. Disponible también para leer online.

Presented at: USENIX ATC '17, Santa Clara, California, USA, July 12-14, 2017 Publication date: 2017

We present TRIAD, a new persistent key-value (KV) store based on Log-Structured Merge (LSM) trees. TRIAD improves LSM KV throughput by reducing the write amplification arising in the maintenance of the LSM tree structure. Although occurring in the background, write amplification consumes significant CPU and I/O resources. By reducing write amplification, TRIAD allows these resources to be used instead to improve user-facing throughput. TRIAD uses a holistic combination of three techniques. At the LSM memory component level, TRIAD leverages skew in data popularity to avoid frequent I/O operations on the most popular keys. At the storage level, TRIAD amortizes management costs by deferring and batching multiple I/O operations. At the commit log level, TRIAD avoids duplicate writes to storage. We implement TRIAD as an extension of Facebook’s RocksDB and evaluate it with production and synthetic workloads. With these workloads, TRIAD yields up to 193% improvement in throughput. It reduces write amplification by a factor of up to 4x, and decreases the amount of I/O by an order of magnitude.

Keywords: Log-structured merge ; key-value store ; write amplification Reference EPFL-CONF-228863

Autor: Balmau, Oana Maria; Didona, Diego; Guerraoui, Rachid; Zwaenepoel, Willy; Yuan, Huapeng; Arora, Aashray; Gupta, Karan; Konka, Pavan


Documentos relacionados