The source code and experiment scripts used for the DSF paper are provided here for reproducibility: dsf.tgz. DSF is implemented in the ns-3 simulator (version 3.23), but can also be used in ns-2 (version 2.35).

Prerequisites

  1. Install the ns-3 dependencies
  2. Install gnuplot
  3. Install gnu R
  4. Install the following R packages and respective dependencies (libgmp-dev, libmpfr-dev on Ubuntu)
  5. install.packages("data.table")
    	  install.packages("doParallel")
    	  install.packages("foreach")
    	  install.packages("ggplot2")
    	  install.packages("Rmpfr")

Setup ns-3 environment

  1. download and unpack the DSF archive dsf.tgz
  2. edit the DSFDIR and OUTDIR configuration parameters in the file "config"
  3. follow the ns-3 download instructions and compile using
    make -C ns3 init
  4. run the test case
    cd ns3; ./run.sh

Reproduce the experiments from our DSF (ITC 2016) paper

Fig. 3: Throughput Interference - Analysis

Takes about 1 min.

  1. install all prerequisites and setup the ns-3 environment
  2. execute the simulation (results will be found in OUTDIR)
    ./scripts/markov/run.sh
  3. convert the simulation results in gnuplot format
    ./scripts/markov/process.sh
  4. execute gnuplot script (plots will be found in DSFDIR/plots)
    ./scripts/markov/plot.sh
Fig. 3.

Fig. 5: TIĀ² and Delay Distributions

Takes about 45 min.

  1. install all prerequisites and setup the ns-3 environment
  2. execute the simulation (results will be found in OUTDIR)
    ./scripts/basic/run.sh
  3. convert the simulation results in gnuplot format
    ./scripts/basic/process.sh
  4. execute gnuplot script (plots will be found in DSFDIR/plots)
    ./scripts/basic/plot.sh
Fig. 5.

Fig. 6: Throughput Interference - Packet Simulation

Takes about 3-4 hours.

  1. install all prerequisites and setup the ns-3 environment
  2. execute the simulation (results will be found in OUTDIR)
    ./scripts/bias/run.sh
  3. convert the simulation results in gnuplot format
    ./scripts/bias/process.sh
  4. execute gnuplot script (plots will be found in DSFDIR/plots)
    ./scripts/bias/plot.sh
Fig. 6.

Fig. 7: Multiple Classes - FIFO vs. DSF

Takes about 1 hour.

  1. install all prerequisites and setup the ns-3 environment
  2. execute the simulation (results will be found in OUTDIR)
    ./scripts/many/run.sh
  3. convert the simulation results in gnuplot format
    ./scripts/many/process.sh
  4. execute gnuplot script (plots will be found in DSFDIR/plots)
    ./scripts/many/plot.sh
Fig. 7.

Fig. 8: Traffic Mix

Takes more than 24 hours (depending on your hardware).

  1. install all prerequisites and setup the ns-3 environment
  2. execute the simulation (results will be found in OUTDIR)
    ./scripts/tmix/run.sh
  3. convert the simulation results in gnuplot format
    ./scripts/tmix/process.sh
  4. execute gnuplot script (plots will be found in DSFDIR/plots)
    ./scripts/tmix/plot.sh
Fig. 8.