BiloKey : A Scalable Bi-Index Locality-Aware In-Memory Key-Value Store

被引:2
|
作者
Ma, Wenlong [1 ,2 ]
Zhu, Yuqing [1 ,2 ]
Li, Cheng [3 ]
Guo, Mengying [1 ,2 ]
Bao, Yungang [1 ,2 ]
机构
[1] Chinese Acad Sci, State Key Lab Comp Architecture, Inst Comp Technol, Beijing 100190, Peoples R China
[2] Univ Chinese Acad Sci, Beijing 10048, Peoples R China
[3] Univ Sci & Technol China, Sch Comp Sci & Technol, Hefei 230026, Anhui, Peoples R China
基金
中国国家自然科学基金; 国家重点研发计划;
关键词
In-memory key-value store; multi-core scalability; locality-aware networking; hybrid index; lock-free access;
D O I
10.1109/TPDS.2019.2891599
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Fast in-memory key value stores are the keys to building large-scale Internet services. The state-of-the-art solutions mainly focus on optimizing the performance for read-intensive workloads. Nevertheless, a wide range of applications demonstrate a significant amount of updates and range queries, which scale poorly with the current implementations. In this paper, we present BiloKey, a highly scalable in-memory key value store on multi-core machines, significantly outperforming Redis and Memcached for a variety of mixed read and write workloads. To achieve this, BiloKey leverages a fast bi-index comprised by a Hash Table index and a SkipList index, where the former supports feature rich operations including GET, UPDATE and DELETE with O(1) complexity, while the latter supports SCAN with O(logN) complexity. Furthermore, to make the bi-index design scale well, BiloKey adopts three techniques: lazy synchronization for reducing the overhead of maintaining index consistency, lock-free data structure for supporting multi-writers, and locality-aware data parallel processing for preserving the data locality of requests. Compared with two popular in-memory KV stores (i.e., Redis and Memcached), experimental results show that: (1) for write-intensive workloads, BiloKey outperforms Redis and Memcached by 7.8x and 3.7x on average (up to 11.5x and 4.8x), respectively; (2) for scan-intensive workloads, BiloKey achieves an average speedup of 2.3x against Redis; (3) for read-intensive workloads, BiloKey also outperforms Redis and Memcached by 1.2x and 1.8x on average.
引用
收藏
页码:1528 / 1540
页数:13
相关论文
共 50 条
  • [1] Optimizing Locality-Aware Memory Management of Key-Value Caches
    Hu, Xiameng
    Wang, Xiaolin
    Zhou, Lan
    Luo, Yingwei
    Ding, Chen
    Jiang, Song
    Wang, Zhenlin
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2017, 66 (05) : 862 - 875
  • [2] HotRing: A Hotspot-Aware In-Memory Key-Value Store
    Chen, Jiqiang
    Chen, Liang
    Wang, Sheng
    Zhu, Guoyun
    Sun, Yuanyuan
    Liu, Huan
    Li, Feifei
    [J]. PROCEEDINGS OF THE 18TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES, 2020, : 239 - 252
  • [3] SwapKV: A Hotness Aware In-Memory Key-Value Store for Hybrid Memory Systems
    Cui, Lixiao
    He, Kewen
    Li, Yusen
    Li, Peng
    Zhang, Jiachen
    Wang, Gang
    Liu, Xiaoguang
    [J]. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2023, 35 (01) : 917 - 930
  • [4] S3: A Scalable In-memory Skip-List Index for Key-Value Store
    Zhang, Jingtian
    Wu, Sai
    Tan, Zeyuan
    Chen, Gang
    Cheng, Zhushi
    Cao, Wei
    Gao, Yusong
    Feng, Xiaojie
    [J]. PROCEEDINGS OF THE VLDB ENDOWMENT, 2019, 12 (12): : 2183 - 2194
  • [5] LibreKV: A Persistent in-Memory Key-Value Store
    Liu, Hao
    Huang, Linpeng
    Zhu, Yanmin
    Shen, Yanyan
    [J]. IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING, 2020, 8 (04) : 916 - 927
  • [6] In-Memory Key-Value Store Live Migration with NetMigrate
    Zhu, Zeying
    Zhao, Yibo
    Liu, Zaoxing
    [J]. PROCEEDINGS OF THE 21ST USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION, NSDI 24, 2024, : 209 - 224
  • [7] In-Memory Key-Value Store Live Migration with NetMigrate
    Zhu, Zeying
    Zhao, Yibo
    Liu, Zaoxing
    [J]. PROCEEDINGS OF THE 22ND USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES, FAST 24, 2024, : 209 - 224
  • [8] SKVM: Scaling In-Memory Key-Value Store on Multicore
    Zheng, Ran
    Wang, Wenjin
    Jin, Hai
    Zhang, Qin
    [J]. 2015 IEEE SYMPOSIUM ON COMPUTERS AND COMMUNICATION (ISCC), 2015, : 601 - 606
  • [9] KVSEV: A Secure In-Memory Key-Value Store with Secure Encrypted Virtualization
    You, Junseung
    Lee, Kyeongryong
    Moon, Hyungon
    Cho, Yeongpil
    Paek, Yunheung
    [J]. PROCEEDINGS OF THE 2023 ACM SYMPOSIUM ON CLOUD COMPUTING, SOCC 2023, 2023, : 233 - 248
  • [10] CubicRing: Exploiting Network Proximity for Distributed In-Memory Key-Value Store
    Zhang, Yiming
    Li, Dongsheng
    Guo, Chuanxiong
    Wu, Haitao
    Xiong, Yongqiang
    Lu, Xicheng
    [J]. IEEE-ACM TRANSACTIONS ON NETWORKING, 2017, 25 (04) : 2040 - 2053