2013 · 307 citations · 21 references
ComputingComputer EngineeringComputer ScienceCloud InfrastructureDistributed SystemsStorage SystemsData SynchronizationDistributed Memory SystemsHigh-throughput ComputingRemote Memory AccessDistributed Key-value StoresDistributed MemoryHigh PerformanceHigh-performance Computing NetworksHigh-performance Computing SystemsKey-value StorageKey-value StoresRemote Direct Memory Access
Future datacenter networks are expected to include HPC features such as ultra‑low latency and CPU bypassing. The paper investigates how to leverage these features to build a datacenter‑scale key‑value store. Pilaf uses RDMA reads for get operations, server‑side handling of puts, and self‑verifying data structures to detect read‑write races without coordination, achieving high performance with low CPU overhead. Experiments show Pilaf delivers over 1.3 million ops/s (90 % gets) on a single core, far surpassing Memcached and Redis while consuming minimal CPU resources.
Recent technological trends indicate that future datacenter networks will incorporate High Performance Computing network features, such as ultra-low latency and CPU bypassing. How can these features be exploited in datacenter-scale systems infrastructure? In this paper, we explore the design of a distributed in-memory key-value store called Pilaf that takes advantage of Remote Direct Memory Access to achieve high performance with low CPU overhead.\n\n\nIn Pilaf, clients directly read from the server's memory via RDMA to perform gets, which commonly dominate key-value store workloads. By contrast, put operations are serviced by the server to simplify the task of synchronizing memory accesses. To detect inconsistent RDMA reads with concurrent CPU memory modifications, we introduce the notion of self-verifying data structures that can detect read-write races without client-server coordination. Our experiments show that Pilaf achieves low latency and high throughput while consuming few CPU resources. Specifically, Pilaf can surpass 1.3 million ops/sec (90% gets) using a single CPU core compared with 55K for Memcached and 59K for Redis.
21
Benchmarking cloud serving systems with YCSB
Brian F. Cooper, Adam Silberstein, Erwin Tam et al. · 2010 · 3.6K citations
Fay W. Chang, Sanjay Ghemawat, Wilson C. Hsieh et al. · ACM Transactions on Computer Systems · 2008 · 3.4K citations
Avinash Lakshman, Prashant Malik · ACM SIGOPS Operating Systems Review · 2010 · 2.6K citations
Maurice Herlihy · ACM Transactions on Programming Languages and Systems · 1991 · 1.8K citations · Full text