diff --git a/README.md b/README.md index 53a8d65..5b7d9cc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # Baxos Consensus -This repository implements Baxos Consensus. +This repository implements ```Baxos Consensus```. + +```Baxos``` is a variant of ```Paxos```. +In ```leader-based Paxos``` (a.k.a. ```Multi-Paxos```), a leader is elected and all the proposals are initiated by the leader. +In contrast, in ```Baxos```, each replica acts as a leader and propose simultaneously. +When replicas experience contention, in the event when more than 1 proposer is proposing at the same time, ```Baxos``` uses +random exponential backoff to avoid further collisions. This repository uses [Protocol Buffers](https://developers.google.com/protocol-buffers/). It requires the ```protoc``` compiler with the ```go``` output plugin installed. @@ -17,5 +23,4 @@ run ```go mod vendor``` to install dependencies run ```go build -v -o ./client/bin/client ./client/``` and ```go build -v -o ./replica/bin/replica ./replica/``` to build the client and the replica - All the commands to run replicas and the clients are available in the ```integration-test/``` directory \ No newline at end of file diff --git a/integration-test/safety_test.sh b/integration-test/safety_test.sh index bbf1a5c..b6df704 100644 --- a/integration-test/safety_test.sh +++ b/integration-test/safety_test.sh @@ -1,6 +1,6 @@ arrivalRate=$1 round_trip_time=$2 -attack=$3 +attack=$3 # 1 for attack, 0 for no attack replica_path="replica/bin/replica" ctl_path="client/bin/client"