• Stars
    star
    111
  • Rank 314,510 (Top 7 %)
  • Language
    C++
  • Created about 4 years ago
  • Updated almost 4 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++
7,898
star
2

OS-Course-Lab

本仓库包含上海交通大学IPADS实验室设计的操作系统课程系列实验。
C
234
star
3

ServerlessBench

A benchmark suite for serverless computing
C++
216
star
4

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++
188
star
5

Bamboo

Bamboo-7B Large Language Model
88
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
84
star
7

drtmh

Fast In-memory Transaction Processing using Hybrid RDMA Primitives
C++
67
star
8

drtm

Fast In-memory Transaction Processing using RDMA and HTM
C++
55
star
9

HEDB

Towards A Secure Yet Maintainable Encrypted Database
C++
55
star
10

DeSearch

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

vegito

C++
51
star
12

krcore-artifacts

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

disb

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

gnnlab

A Factored System for Sample-based GNN Training over GPUs
Python
41
star
15

reef-artifacts

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

cocytus

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

SQLSolver

An automated prover that verifies the equivalence of SQL queries
Java
27
star
18

librdpma

C++
25
star
19

ugache

C++
20
star
20

fgnn-artifacts

FGNN's artifact evaluation (EuroSys 2022)
Python
17
star
21

dst

A decentralized scalar timestamp scheme
C++
14
star
22

fisslock

A fast and scalable distributed lock service using programmable switches.
C++
12
star
23

wukong-cube

A distributed in-memory store for temporal knowledge graphs
C++
10
star
24

hackwrench

C++
9
star
25

ugache-artifacts

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

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
27

eunomia

C++
6
star
28

wukong-g

Fast and Concurrent RDF Queries using RDMA-assisted GPU Graph Exploration
C++
5
star
29

Kernel-TwinFunction

1
star