- 3 server machines
- 1 client machine
Do git checkout paxos-no-batching to get the setup we used to get the results for Paxos in Table 1. Then, follow the instructions down below.
Do git checkout epaxos-no-batching to get the setup we used to get the results for EPaxos in Table 1. Then, follow the instructions down below.
- Make sure Rabia is properly installed. Follow the instructions in the repo. This step is critical as it provides the go binary and python3.8 needed for testing.
- SSH into each of the VMs and do the following inside
~/go/src:git clone https://github.com/rabia-consensus/epaxos.git && cd epaxos. compile.sh- After compiling, you should see
Built Master
Built Server
Built Client
- First, find the description of your machine by looking for a
<node>tag with the attributeclient_id=<your_machine_name>.2. Inside the node tag, look for<interface>, and inside it you should see an<ip/>tag. The attributeaddresswill give you the machine's experiment network ip. - The address likely has the format
10.10.1.x. 
Inside epaxos.sh, configure the experimental network IP address of all server machines, client machines, and the specific address of the server machine that will be the master.
- Finally, run
. epaxos.sh > run.txton your master machine. - If all works correctly, you should see n client logs inside the /logs directory in your master machine.
- For throughput/latency analysis, run:
python3.8 analysis.py ./logs