SkyE key-value store boosts persistent memory write speed and scaling

SKYE: Write-Optimized Key-Value Store with Fine-Grained Control over Persistent Memory Accesses

Databases

Summary

Persistent memory offers fast access but struggles when many threads write at once, causing slowdowns. The authors present SKYE, which improves performance by carefully managing how data is written to memory. Instead of letting hardware handle everything, SKYE uses dedicated threads to organize memory access, avoiding bottlenecks. This approach lets SKYE achieve much faster and more scalable writing than previous systems.

What this means in practice

  • For database engineers: Build key-value stores that write data to persistent memory efficiently to handle high-concurrency workloads with improved throughput.
  • For systems programmers: Design storage systems that avoid overloading persistent memory hardware by controlling thread access and data placement across multiple memory devices.

Authors

Soujanya Ponnapalli, Sekwon Lee, Rohan Kadekodi, Vijay Chidambaram

Abstract

State-of-the-art key-value stores built for persistent memory (PM) provide low latency as they allow application threads to directly access the data on PM and rely on hardware to manage multiple non-volatile DIMMs (NVDIMMs). While this provides low latency, it results in low throughput and scalability. Performance degrades because PM hardware requires fine-grained control over PM accesses; for example, throughput degrades if too many threads write to PM concurrently. We present SKYE, a write-optimized PM key-value store that achieves high throughput and scalability. SKYE builds on the central idea of maintaining fine-grained control over all PM accesses and obtains high PM write-bandwidth utilization. To achieve this, SKYE deviates from current practice and provides indirect access to applications; applications send requests to SKYE, which uses dedicated threads to access PM on their behalf. Instead of relying on hardware-managed PM, SKYE controls how data is placed on individual NVDIMMs. SKYE leverages multiple media to avoid overloading PM and limits remote NUMA accesses for scalable throughput. We show that on a single NVDIMM, SKYE outperforms state-of-the-art PM stores by 2.5-5x on the standard Yahoo Cloud Serving Benchmark (YCSB). With four NVDIMMs across four NUMA nodes, SKYE obtains about 86% of PM write bandwidth, and its write throughput scales by 3.9x.