TR-15-1.pdf

"Mega-KV: case for GPUs to maximize the throughput of in-memory key-value 
stores"  

Kai Zhang, Kaibo Wang, Yuan Yuan, Lei Guo, Rubao Lee, and Xiaodong Zhang 

Proceedings of 41st International Conference on Very Large Data Bases 
(VLDB  2015), 
Hawaii, USA, August 31 - September 4, 2015.


Abstract

In-memory key-value stores play a critical role in data 
processing to provide high throughput and low latency data
accesses. In-memory key-value stores have several unique
properties that include (1) data intensive operations 
demanding high memory bandwidth for fast data accesses, (2)
high data parallelism and simple computing operations 
demanding many slim parallel computing units, and (3) a large
working set. As data volume continues to increase, our 
experiments show that conventional and general-purpose multicore
systems are increasingly mismatched to the special
properties of key-value stores because they do not provide
massive data parallelism and high memory bandwidth; the
powerful but the limited number of computing cores do not
satisfy the demand of the unique data processing task; and
the cache hierarchy may not well benefit to the large working
set.

In this paper, we make a strong case for GPUs to serve
as special-purpose devices to greatly accelerate the operations
of in-memory key-value stores. Specifically, we present
the design and implementation of Mega-KV, a GPU-based
in-memory key-value store system that achieves high performance
and high throughput. Effectively utilizing the
high memory bandwidth and latency hiding capability of
GPUs, Mega-KV provides fast data accesses and significantly 
boosts overall performance. Running on a commodity
PC installed with two CPUs and two GPUs, Mega-KV can
process up to 160+ million key-value operations per second,
which is 1.4-2.8 times as fast as the state-of-the-art key-value
store system on a conventional CPU-based platform.