EKRM: Efficient Key-Value Retrieval Method to Reduce Data Lookup Overhead for Redis.

Yiming Yao,Xiaolin Wang,Diyu Zhou,Liujia Li,Jianyu Wu,Liren Zhu,Zhenlin Wang,Yingwei Luo
DOI: https://doi.org/10.1007/978-3-031-69577-3_12
2024-01-01
Abstract:As an open-source key-value system, Redis has been widely used in internet service stations. A key-value lookup in Redis usually involves several chained memory accesses, and the address translation overhead can significantly increase the lookup latency. This paper introduces a new software-based approach that can reduce chained memory accesses and total address translation overhead of lookup requests by placing key-value entries in a specially managed memory space organized as huge pages with a fast hash table and enabling a fast lookup approach with simple hash functions, while keeping the integrity of Redis data structure. The new approach brings up to 1.38x average speedup for the key-value retrieval process, and significantly reduces misses in TLB and last-level cache. It outperforms SLB, an address caching software approach and has match the performance to STLT, a software-hardware co-designed address-centric design.
What problem does this paper attempt to address?