In-memory Key-value Cache System Based on APUs

Jiayu Hu,Bei Hua
DOI: https://doi.org/10.3969/j.issn.1000-0755.2016.09.016
2016-01-01
Abstract:In-memory key-value cache system is widely deployed in current web service systems, and it accelerates data accessing by storing the most likely visiting key-value objects. Current in-memory key-value cache systems use discrete GPUs to improve performance, however, the PCIe data transfer between the CPU and the GPU makes fine-grained cooperation between them impossible, which consequently under-utilizes hardware resources. By taking advantage of the memory sharing feature between the CPU and the GPU on APUs with coupled CPU-GPU architecture, we propose a fine-grained task assignment between the CPU and the GPU to fully utilize their respective computing abilities, and first build an in-memory key-value cache system based on APUs. According to workload features of in-memory key-value cache systems, our system explores the fine-grained cooperation between the CPU and the GPU, and solve read-write conflicts of concurrent data accesses on the CPU and the GPU. The experiment results show that our system achieves quite better performance under various kinds of read-dominant workloads.
What problem does this paper attempt to address?