XStore: Fast RDMA-Based Ordered Key-Value Store Using Remote Learned Cache

被引:5
|
作者
Wei, Xingda [1 ,2 ]
Chen, Rong [1 ,2 ]
Chen, Haibo [1 ,3 ]
Zang, Binyu [1 ,3 ]
机构
[1] Shanghai Jiao Tong Univ, Shanghai, Peoples R China
[2] Shanghai Artificial Intelligence Lab, Shanghai, Peoples R China
[3] Minist Educ, Engn Res Ctr Domain Specif Operating Syst, Shanghai, Peoples R China
基金
中国国家自然科学基金;
关键词
RDMA-based key-value store; machine learning model; tree-based index structure; index caching; DISTRIBUTED TRANSACTIONS;
D O I
10.1145/3468520
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
RDMA(Remote Direct MemoryAccess) has gained considerable interests in network-attached in-memory key-value stores. However, traversing the remote tree-based index in ordered key-value stores with RDMA becomes a critical obstacle, causing an order-of-magnitude slowdown and limited scalability due to multiple round trips. Using index cache with conventional wisdom-caching partial data and traversing them locally-usually leads to limited effect because of unavoidable capacity misses, massive random accesses, and costly cache invalidations. We argue that the machine learning (ML) model is a perfect cache structure for the tree-based index, termed learned cache. Based on it, we design and implement XStore, an RDMA-based ordered key-value store with a new hybrid architecture that retains a tree-based index at the server to perform dynamic workloads (e.g., inserts) and leverages a learned cache at the client to perform static workloads (e.g., gets and scans). The key idea is to decouple ML model retraining from index updating by maintaining a layer of indirection from logical to actual positions of key-value pairs. It allows a stale learned cache to continue predicting a correct position for a lookup key. XStore ensures correctness using a validation mechanism with a fallback path and further uses speculative execution to minimize the cost of cache misses. Evaluations with YCSB benchmarks and production workloads show that a single XStore server can achieve over 80 million read-only requests per second. This number outperforms state-of-the-art RDMA-based ordered key-value stores (namely, DrTMTree, Cell, and eRPC+Masstree) by up to 5.9x (from 3.7x). For workloads with inserts, XStore still provides up to 3.5x (from 2.7x) throughput speedup, achieving 53M reqs/s. The learned cache can also reduce clientside memory usage and further provides an efficient memory-performance tradeoff, e.g., saving 99% memory at the cost of 20% peak throughput.
引用
收藏
页数:32
相关论文
共 50 条
  • [41] Performance Analysis of Vertically Partitioned Data in Clouds Through a Client-Based In-Memory Key-Value Store Cache
    Kohler, Jens
    Specht, Thomas
    INTERNATIONAL JOINT CONFERENCE: CISIS'15 AND ICEUTE'15, 2015, 369 : 3 - 13
  • [42] HaCache: A Hybrid Adaptive Cache for Persistent Memory Based Key-Value Systems
    Cui, Lixiao
    Wang, Gang
    Li, Yusen
    Liu, Xiaoguang
    WEB AND BIG DATA, PT I, APWEB-WAIM 2022, 2023, 13421 : 180 - 189
  • [43] Using Paxos to Build a Lightweight, Highly Available Key-value Data Store
    Tang, Jiayong
    Yang, Fei
    Zhang, Yong
    Xing, Chunxiao
    2013 10TH WEB INFORMATION SYSTEM AND APPLICATION CONFERENCE (WISA 2013), 2013, : 300 - +
  • [44] FPGA-Accelerated Compactions for LSM-based Key-Value Store
    Zhang, Teng
    Wang, Jianying
    Cheng, Xuntao
    Xu, Hao
    Yu, Nanlong
    Huang, Gui
    Zhang, Tieying
    He, Dengcheng
    Li, Feifei
    Cao, Wei
    Huang, Zhongdong
    Sun, Jianling
    PROCEEDINGS OF THE 18TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES, 2020, : 225 - 237
  • [45] Deduplication Triggered Compaction for LSM-tree Based Key-Value Store
    Zhang, Weitao
    Xu, Yinlong
    PROCEEDINGS OF 2018 IEEE 9TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2018, : 719 - 722
  • [46] A Performance Optimization Method for Key-Value Store Based on LSM-tree
    Wang H.
    Li Z.
    Zhang X.
    Zhao X.
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2019, 56 (08): : 1792 - 1802
  • [48] A Scalable and Persistent Key-Value Store Using Non-Volatile Memory
    Kim, Doyoung
    Choi, Won Gi
    Sung, Hanseung
    Park, Sanghyun
    SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 464 - 467
  • [49] GRAPH/Z: A Key-Value Store Based Scalable Graph Processing System
    Li, Tonglin
    Ma, Chaoqi
    Li, Jiabao
    Zhou, Xiaobing
    Wang, Ke
    Zhao, Dongfang
    Sadooghi, Iman
    Raicu, Ioan
    2015 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING - CLUSTER 2015, 2015, : 516 - 517
  • [50] ACaZoo: A Distributed Key-Value Store based on Replicated LSM-Trees
    Garefalakis, Panagiotis
    Papadopoulos, Panagiotis
    Magoutis, Kostas
    2014 IEEE 33RD INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS (SRDS), 2014, : 211 - 220