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/