KV-Direct: High-Performance In-Memory Key-Value Store with Programmable NIC
Performance of in-memory key-value store (KVS) continues to be of great importance as modern KVS goes beyond the traditional object-caching workload and becomes a key infrastructure to support distributed main-memory computation in data centers. Recent years have witnessed a rapid increase of network bandwidth in data centers, shifting the bottleneck of most KVS from the network to the CPU. RDMA-capable NIC partly alleviates the problem, but the primitives provided by RDMA abstraction are rather limited. Meanwhile, programmable NICs become available in data centers, enabling in-network processing. In this paper, we present KV-Direct, a high performance KVS that leverages programmable NIC to extend RDMA primitives and enable remote direct key-value access to the main host memory.
We develop several novel techniques to maximize the throughput and hide the latency of the PCIe connection between the NIC and the host memory, which becomes the new bottleneck. Combined, these mechanisms allow a single NIC KV-Direct to achieve up to 180 M key-value operations per second, equivalent to the throughput of tens of CPU cores. Compared with CPU based KVS implementation, KV-Direct improves power efficiency by 3x, while keeping tail latency below 10 µs. Moreover, KV-Direct can achieve near linear scalability with multiple NICs. With 10 programmable NIC cards in a commodity server, we achieve 1.22 billion KV operations per second, which is almost an order-of-magnitude improvement over existing systems, setting a new milestone for a general-purpose in-memory key-value store.
Publication
Bojie Li, Zhenyuan Ruan, Wencong Xiao, Yuanwei Lu, Yongqiang Xiong, Andrew Putnam, Enhong Chen and Lintao Zhang.
Proceedings of the 26th Symposium on Operating Systems Principles (SOSP ‘17). [PDF] [Slides]
Talks
- Oct. 2017, SOSP’17 Conference. [Slides] [Talk Transcription]
- Nov. 2017, Fudan University, Shanghai
- Nov. 2017, University of Science and Technology of China, Hefei
- Nov. 2017, Baidu Corporation, Beijing
- Dec. 2017, Open Source Operating System Annual Technical Conference 2017 (OS2ATC ‘17), Beijing
Awards
- Oct. 2017, SOSP’17 Student Travel Grant.
- Oct. 2017, Microsoft Research Asia Fellowship Award. [English Website] [Chinese Website]
- Oct. 2017, China National Ph.D. Scholarship.
Media Coverage
- The morning paper: KV-Direct: High-performance in-memory key-value store with programmable NIC
- Microsoft Research Asia: Bojie Li: Tinkering with the system, making its performance increase tenfold
- Microsoft Research Asia: SOSP: The weathervane of computer system research
- USTCIF China University of Science and Technology New Creation Public Welfare Foundation: Zhenyuan Ruan: USTC undergraduate students break through in top conferences
- A high-performance K-V storage service K-V Direct
Resources
People
- Bojie Li, 3rd year Ph.D. student in MSRA and USTC
- Zhenyuan Ruan, 4th year undergraduate in USTC (now a Ph.D. student in UCLA)
- Wencong Xiao, 3rd year Ph.D. student in MSRA and Beihang University
- Yuanwei Lu, 4th year Ph.D. student in MSRA and USTC
- Dr. Yongqiang Xiong, Lead Researcher in Microsoft Research Asia
- Dr. Andrew Putnam, Principal Research Hardware Design Engineer in the Microsoft Research Technologies (MSR-T)
- Prof. Enhong Chen, Professor in USTC
- Dr. Lintao Zhang, Principal Researcher in Microsoft Research Asia