A distributed kv-store with adaptive atomic commit protocol supported.
It supports
- 2PC, 3PC, C-PAC, and PRAC ACPs.
- TPC-C, and Micro-benchmark Test.
Firstly, the docker container could be pulled from the DockerHub.
sudo docker pull lawyerphx/rac
For cohort node
sudo docker run -dt --name="cohort" --network host lawyerphx/rac
sudo docker exec -i cohort ./bin/rac-server -node=co -preload -addr=$(Your cohort address)
For collaborator node
sudo docker run -dt --name="collaborator" --network host lawyerphx/rac
A simple experiment program could be found in experiment/experiment/py
If you make some change to the code, make sure to rebuild the program:
make build
For local test, please set the LocalTest
in utils\utils.go
to True and run:
make local
This would add a 20ms delay to localhost for local test.
For remote test, please update the links in ./configs/remote.json
and ./utils/utils.go
and run
make exp
You can find our raw data log here.