• Stars
    star
    107
  • Rank 313,276 (Top 7 %)
  • Language
    C++
  • Created over 3 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fast RDMA-based Ordered Key-Value Store using Remote Learned Cache

XStore: an RDMA-based Ordered Key-Value Store

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.

Feature Highlights

  • High-performance & scalable in-memory ordered key-value store
  • High-performance learned index with a two-layer RMI structure as a cache
  • Various machine learning models pre-built
  • Fast communication by leveraging RDMA feature of InfiniBand network

Features not supported yet

This codebase has the basic functionality of XStore, including basic XCache training, deployment, various learned models. It also provides various benchmark code for XCache analysis and static benchmark code. Other features will be released soon.

Getting Started

XStore is a header-only library. Basically, git clone https://github.com/SJTU-IPADS/xstore.git xstore-open --recursive is all you need to use XStore. To use XStore, just include the required header to your project. For instance, xkv_core/src/xtree/mod.hh provides the implementation of XTree.

XStore also provides various benchmark and unit tests code. To build these, please check the following documents:

License

XStore uses SATA License (Star And Thank Author License, originally here) :)

If you use XStore in your research, please cite our paper:

@inproceedings {xstore2020,
    author = {Xingda Wei and Rong Chen and Haibo Chen},
    title = {Fast RDMA-based Ordered Key-Value Store using Remote Learned Cache},
    booktitle = {14th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 20)},
    year = {2020},
    isbn = {978-1-939133-19-9},
    pages = {117--135},
    url = {https://www.usenix.org/conference/osdi20/presentation/wei},
    publisher = {{USENIX} Association},
    month = nov,
}

Academic and Reference Papers

[OSDI] Fast RDMA-based Ordered Key-Value Store using Remote Learned Cache. Xingda Wei and Rong Chen and Haibo Chen. Proceedings of 14th USENIX Symposium on Operating Systems Design and Implementation, Nov, 2020.

More Repositories

1

PowerInfer

High-speed Large Language Model Serving on PCs with Consumer-grade GPUs
C++
6,888
star
2

ServerlessBench

A benchmark suite for serverless computing
C++
204
star
3

wukong

A graph-based distributed in-memory store that leverages efficient graph exploration to provide highly concurrent and low-latency queries over big linked data
C++
184
star
4

OS-Course-Lab

本仓库包含上海交通大学IPADS实验室设计的操作系统课程系列实验。每个实验放在独立分支。
142
star
5

Bamboo

Bamboo-7B Large Language Model
81
star
6

reef

REEF is a GPU-accelerated DNN inference serving system that enables instant kernel preemption and biased concurrent execution in GPU scheduling.
Cuda
78
star
7

drtmh

C++
64
star
8

DeSearch

a decentralized search engine with a decentralized verifiable dataflow
C
54
star
9

drtm

Fast In-memory Transaction Processing using RDMA and HTM
C++
50
star
10

HEDB

Towards A Secure Yet Maintainable Encrypted Database
C++
49
star
11

vegito

C++
48
star
12

krcore-artifacts

Ths is a fast RDMA abstraction layer that works both in the kernel and user-space.
Rust
44
star
13

disb

DISB is a new DNN inference serving benchmark with diverse workloads and models, as well as real-world traces.
C++
41
star
14

reef-artifacts

A GPU-accelerated DNN inference serving system that supports instant kernel preemption and biased concurrent execution in GPU scheduling.
C
38
star
15

gnnlab

A Factored System for Sample-based GNN Training over GPUs
Python
37
star
16

cocytus

Cocytus is an efficient and available in-memory K/V-store through hybrid erasure coding and replication
C
29
star
17

librdpma

C++
24
star
18

fgnn-artifacts

FGNN's artifact evaluation (EuroSys 2022)
Python
18
star
19

ugache

C++
16
star
20

dst

A decentralized scalar timestamp scheme
C++
13
star
21

wukong-cube

A distributed in-memory store for temporal knowledge graphs
C++
9
star
22

ugache-artifacts

The artifact evaluation of SOSP 2023 for UGache
C++
8
star
23

COREMU

COREMU is a scalable and portable parallel full system emulator built on Qemu. Currently, COREMU supports X86_64 and ARM (MPcore).
C
7
star
24

hackwrench

C++
6
star
25

eunomia

C++
5
star
26

wukong-g

Fast and Concurrent RDF Queries using RDMA-assisted GPU Graph Exploration
C++
4
star
27

SQLSolver

An automated prover that verifies the equivalence of SQL queries
Java
4
star
28

Kernel-TwinFunction

1
star