We provide a VM to run p4paxos demo here: usi-systems/sdn-coure-vm
Please follow theses instructions to create a new virtual machine.
After connecting to the VM, change to the p4paxos/bmv2 directory, and start the demo
cd p4paxos/bmv2
sudo ./run_demo.sh
From the mininet prompt
mininet> xterm h4
in h4 terminal
./scripts/test.sh
Or, start Firefox web browser in h4 terminal
firefox &
In the firefox browser, visit 10.0.0.1:8080 , then you can try to Get or Put a (key, value) pair.
In this demo, there are two replicas (learners) running on h2 and h3. The service is still alive if any one of switches or replicas crash.
We can simulate the link failure by running link command in Mininet
mininet> link h2 s2 down
Or, simulate the server failure by stopping the server process
mininet> h2 kill %python
In bmv2/scripts/paxos.cfg configuration file:
[instance]
count=65536
[timeout]
second=0
-
The count variable in the instance section: configures the maximum number of requests that learners will handle.
-
The second variable in timeout section: configures the number of seconds that the learners will stay alive. If timeout is set to 0, the learners forever.