User Tools

Site Tools


XSTORE: efficient RDMA-based ordered key-value store using learned cache


XSTORE is an RDMA-enabled ordered key-value store targeted at a client-sever setting. Specifically, the server has an in-memory B+Tree; and the client uses one-sided RDMA READs to traverse the B+Tree. To accelerate the lookup, we deploy a learned cache (xcache) at the client to accomplish the traversal in one round-trip (if the learned cache is all cached). Even if the xcahe is not cached, XStore client only needs at most 2 round-trips for the traversal.

Recommended hardware setup

  • RDMA: As XStore leverages RDMA's feature, we recommend using RDMA NIC with good one-sided performance. For Mellanox NICs, we recommend using recent generations of NICs, including ConnectX-4 or ConnectX-5.
  • RTM: XStore server uses Intel restricted transactional memory (RTM) to coordinate server's concurrent threads. Recent generations of processor later than Haswell all have RTM. (Note that some processor may disable this feature; please contact us if you want to re-enable RTM).

Source code

pub/projects/xstore.txt · Last modified: 2020/10/15 16:14 by weixd