The experiment setup uses two Google cloud VMs running a modified linux kernel. We provide a simple install script to create the VMs and install all needed dependencies.
The setup is modified from https://github.com/google/bbr/blob/master/Documentation/bbr-quick-start.md
The setup script uses gcloud commandline tools, so first install those following the instructions at: https://cloud.google.com/sdk/downloads
Login to a gcloud project:
gcloud auth login
By default, the script uses a new "bbr-replication" Google cloud project for the VMs,
but you can change this by modifying settings.sh
Run the script to create the VMs:
# This script will take roughly 30 minutes to complete.
# You may need to interact with 1 or 2 prompts at the beginning when it
# launches the VMs
bash create_vms.sh
To run all of the experiments and download the results:
# This will run all the three experiments with vm-vm and mininet setup.
# At the end of this experiment, the figures will be in the folder ./figures/
# This will take roughly 10 minutes to complete.
bash run_experiments.sh
To run individual experiments, log in to the client machine:
source settings.sh
gcloud compute ssh --project "$PROJECT" --zone "$ZONE" "$NAME1"
On the client machine, you can run figure5.sh
, figure6.sh
, or bonus.sh
individually.
For example,
cd bbr-replication
sudo ./figure5.sh [arg] # arg is optional, one of: iperf, netperf, mininet, all (default)
# The figure will be created in ./figure5_[arg]/figure5_[arg].png
You can copy the figures to the local machine by running:
gcloud compute scp --recurse --project $PROJECT --zone $ZONE $NAME1:~/bbr-replication/path/to/file ./