Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Mega-KV: a case for GPUs to maximize the throughput of in-memory key-value stores
Zhang K., Wang K., Yuan Y., Guo L., Lee R., Zhang X. Proceedings of the VLDB Endowment8 (11):1226-1237,2015.Type:Article
Date Reviewed: Aug 11 2016

When a central processing unit (CPU) is augmented by a graphics processing unit (GPU), compute-intensive functions can be offloaded to the GPU. While a CPU typically contains a few cores, current generation GPUs contain over 2,000 cores that can operate in parallel. GPUs have been widely applied to accelerate computations in engineering, genetics, and many other disciplines, but have not been applied extensively to database applications. This paper documents a successful open-source application called Mega-KV (http://kay21s.github.io/megakv/) that uses commodity personal computers (PCs) and GPUs to accelerate the performance of a very important application: in-memory key-value (IMKV) stores. To report their results, the authors use the open-source IMKV store MICA [1] for comparison with Mega-KV because MICA is the CPU-based IMKV store with the highest documented throughput. Mega-KV, running on two off-the-shelf CPUs and GPUs, was 1.4 to 2.8 times as fast as CPU-based MICA.

The major challenges of using GPUs in this case are: (1) limited GPU memory and slow transfers between the CPU and GPU; (2) finding a design point that balances transfer size (larger transfers mean higher latency) with throughput (smaller transfers mean less utilization and less throughput). Rather than directly porting [that is, re-coding in compute unified device architecture (CUDA)] a known IMKV store like memcached to a GPU, the authors developed a custom optimized solution that carefully considers the capabilities of GPU architectures. They studied possible techniques separately in multiple testbeds and chose design points (such as transfer size) before they combined techniques into an overall approach. Their study identified two main issues with previous IMKV approaches: the poor match of index operations to GPU architectures and the unpredictability of operation scheduling that does not distinguish among different types of operations. The techniques they employed to overcome these issues included the use of cuckoo hashing, selecting the best number of threads in each of the multiple processing units they defined within the GPU, and careful scheduling of batches so that, as desired, GETs execute faster than SETs.

The paper documents the authors’ design techniques well and is of value to anyone wanting to create custom nongraphical CUDA software for a GPU.

Reviewer:  George S. Carson Review #: CR144683 (1702-0150)
1) Lim, H.; Han, D.; Andersen, D. G.; Kaminsky, M. MICA: a holistic approach to fast in-memory key-value storage. In Proc. of NSDI '14. USENIX, 2014, 429–444.
Bookmark and Share
  Reviewer Selected
 
 
General (H.2.0 )
 
 
Graphics Processors (I.3.1 ... )
 
 
Physical Design (H.2.2 )
 
 
Systems (H.2.4 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Design of the Mneme persistent object store
Moss J. ACM Transactions on Information Systems 8(2): 103-139, 2001. Type: Article
Jul 1 1991
Database management systems
Gorman M., QED Information Sciences, Inc., Wellesley, MA, 1991. Type: Book (9780894353239)
Dec 1 1991
Database management (3rd ed.)
McFadden F., Hoffer J., Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1991. Type: Book (9780805360400)
Jun 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy