DiStore: A Full-Memory-Disaggregation-Friendly Key-Value Store with Improved Tail Latency and Space Efficiency

被引:0
作者
Xiong, Ziwei [1 ]
Jiang, Dejun [1 ]
Xiong, Jin [1 ]
机构
[1] Univ Chinese Acad Sci, CAS, Inst Comp Technol, SKLP, Beijing, Peoples R China
来源
53RD INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, ICPP 2024 | 2024年
基金
中国国家自然科学基金;
关键词
Key-value store; disaggregated memory;
D O I
10.1145/3673038.3673088
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Memory disaggregation decouples CPUs and memory in monolithic servers to form compute nodes (CNs) and memory nodes (MNs) for elastic and efficient memory scaling. Memory disaggregation benefits in-memory key-value stores (KVSs) that demand large memory capacity. Building a KVS with full functionality, low latency, and high space efficiency under memory disaggregation is critically required by real-world applications. However, we observe that existing disaggregated KVSs fail to achieve all the above demands simultaneously. In this paper, we present DiStore, a full-disaggregation-friendly KVS that accomplishes the above goals. We carefully divide the responsibilities of CNs and MNs when involved in index traversing, concurrency control, and memory management. We first design a two-layer indexing structure, separable adaptive linked array, to reduce network RTTs for index traversing and improve space efficiency. Then, DiStore introduces thread-context-based concurrency control to enable inter-thread collaborating to reduce stall time under multi-thread contention on CNs. Finally, we propose cachable disaggregated memory management to allow CNs to manage remote memory locally with marginal space overhead. We implement DiStore and the evaluation shows that DiStore can reduce P999 tail latency by up to 72.1% and improve space efficiency by up to 33.6%. Meanwhile, DiStore achieves comparable throughput as state-of-the-art disaggregated KVSs.
引用
收藏
页码:607 / 617
页数:11
相关论文
共 45 条
  • [1] Fast key-value stores: An idea whose time has come and gone
    Adya, Atul
    Grandl, Robert
    Myers, Daniel
    Qin, Henry
    [J]. PROCEEDINGS OF THE WORKSHOP ON HOT TOPICS IN OPERATING SYSTEMS (HOTOS '19), 2019, : 113 - 119
  • [2] Atikoglu Berk, 2012, Performance Evaluation Review, V40, P53, DOI 10.1145/2318857.2254766
  • [3] Rethinking Software Runtimes for Disaggregated Memory
    Calciu, Irina
    Imran, M. Talha
    Puddu, Ivan
    Kashyap, Sanidhya
    Al Maruf, Hasan
    Mutlu, Onur
    Kolli, Aasheesh
    [J]. ASPLOS XXVI: TWENTY-SIXTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, 2021, : 79 - 92
  • [4] Cao ZC, 2020, PROCEEDINGS OF THE 18TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES, P209
  • [5] Chen Y., 2020, Proc. VLDB Endow., V13, P12
  • [6] Cooper B.F., 2010, Proceedings of the 1st ACM symposium on Cloud computing, SoCC '10, ACM, P143, DOI DOI 10.1145/1807128.1807152
  • [7] Dragojevic A., 2014, P USENIX NSDI
  • [8] Gao PX, 2016, PROCEEDINGS OF OSDI'16: 12TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, P249
  • [9] Ghose S., 2018, P ACM MEAS AN COMP S
  • [10] github, Jemalloc