This repository contains the code for the paper:
HovercRaft: Achieving Scalability and Fault-tolerance for microsecond-scale Datacenter Services
Marios Kogias, Edouard Bugnion
Eurosys 2020
You can find the paper here
The repository contains several submodules and directories.
- r2p2
- The codebase for the Request Response Pair Protocol for datacenter RPCs
- raft
- The raft codebase used with its modifications.
- redis
- The redis codebase with the R2P2 modifications
- lancet
- The lancet latency measuring tool and load generator used for the experiments
- redismodule
- A redis module that implements the YCSB-E workload used in HovercRaft's evaluation
- distbenchr
- A python package used to run distributed experiments
- scripts
- Basic scripts to deploy and run HovercRaft for the synthetic and Redis experiments.
To get the dependencies and build an example run:
git submodule update --init --recursive
make hovercraft-stss
Check the Makefile for more build options.
Check the scipts
directory for running experiments. Configure the fabfile.py
and driver.py
scripts accordingly.
Also, configure the r2p2.conf
for HovercRaft as described in the R2P2 repository.