BigBug - nsg-ethz/SDNRacer GitHub Wiki
BigBug Manual
Tested on a Laptop with:
- Intel® Core™ i7-3740QM CPU @ 2.70GHz
- 16 GB RAM
- Ubuntu 14.04 LTS 64-bit
Installation
Use the following instructions to install BigBug, POX and Floodlight in a folder "bigbug" in the home directory.
Install required packages:
sudo apt-get install git build-essential python-dev ant openjdk-7-jdk python-docutils python-networkx xdot graphviz python-pygraphviz python-matplotlib python-scipy python-numpy gnuplot
BigBug
cd ~
mkdir bigbug
cd ~/bigbug
git clone https://github.com/nsg-ethz/SDNRacer.git
cd SDNRacer
git checkout cluster
git submodule update --init --recursive
./tools/install_hassel_python.sh
POX EEL Controller
cd ~/bigbug
git clone https://github.com/jmiserez/pox.git
cd pox
git checkout eel-hb
Floodlight controller
cd ~/bigbug
git clone https://github.com/jmiserez/floodlight.git
cd floodlight
git checkout hb
ant
Fixed Load Balancer module Floodlight
Note, that there is no separate module available. Use the following commands to copy floodlight and replace two files to use Floodlight with the fixed module.
cd ~/bigbug
cp -r floodlight/ floodlight_fixed
cp SDNRacer/sts/happensbefore/reduce/floodlight_fix/LoadBalancer.java floodlight_fixed/src/main/java/net/floodlightcontroller/loadbalancer/LoadBalancer.java
cp SDNRacer/sts/happensbefore/reduce/floodlight_fix/OFChannelHandler.java floodlight_fixed/src/main/java/net/floodlightcontroller/core/internal/OFChannelHandler.java
cd floodlight_fixed
ant
Running BigBug (single)
Generally, to run BigBug, one can use the same steps as for SDNRacer. The following example simulates Floodlight Load Balancer on StarTopology for 200 steps. For other configurations use an appropriate configuration file from the 'config' folder or create a new one. The path to the simulation file has to be modified for other configurations when running BigBug.
Simulation
cd ~/bigbug/SDNRacer
./simulator.py -L logging.cfg -c config/test_floodlight_loadbalancer_200.py
BigBug
cd ~/bigbug/SDNRacer
./sts/happensbefore/reduce/reduce.py results/floodlight_loadbalancer-StarTopology4-steps200/hb.json
Running BigBug (batch)
Use the script "batch_simulate_only.sh" followed by "batch_cluster_only.sh" to run the simulations for all applications used in the evaluation for 200 steps on single topology and then run BigBug on each of them. Each configuration will be ran once. For more repetitions of each configuration, different simulation lengths or other topologies, modify the script "batch_simulate_only.sh".
Simulation (~5 minutes)
cd ~/bigbug
mkdir results
./sts/happensbefore/reduce/tools/batch_simulate_only.sh results/
BigBug (~1.5 minutes)
cd ~/bigbug
./sts/happensbefore/reduce/tools/batch_cluster_only.sh results/