Simulations for A Comparison of Equation-Based and AIMD Congestion Control

This page has pointers to the simulation scripts for the following paper. These simulation scripts are also available from a tar file. The README file describes the procedures for running these simulations.

[FHP00] Sally Floyd, Mark Handley, and Jitendra Padhye, A Comparison of Equation-Based and AIMD Congestion Control (postscript, gzipped postscript, PDF), May 2000.

These scripts are quick amalgams of shell scripts, awk, tcl, and whatever else was handy at the time, so they are not intended as examples of good programming style. They are run in a directory with a "graphs" subdirectory for saved output and *.mf files, and an "awk" subdirectory for awk files. Some of these scripts use supporting *.awk files that are available in the awk directory, but are not listed separately below. Some of the scripts (tfrm12*.run) also use "bwcnt" C programs for processing output data; the C code for these is in the scripts directory. Possibly one day we will clean this all up to reduce the proliferation of scripts and languages involved.

The implementation of TFRC in the NS simulator is still occasionally being modified, so the precise results of simulations can change with different versions of NS.

Many of these simulations must be run with SBSIZE in scoreboard.h set to 10000 instead of to 1024, to allow larger TCP congestion windows.


The simulations for Figure 2 on "TCP competing with TCP($1/5$,~$1/8$), with RED" (top, bottom) can be run with:
tfrm12-3.com, with supporting files tfrm12-5.run, tfrm12-aimd.tcl, and queueSize.tcl, and postprocessing scripts awk/plotdrops.awk, bwcnt5, graphs/getmean.tcl. This took 30 minutes to run on Sally's machine.

The following supporting files were also required for generating the postscript file:
tfrm12-5.run1, graphs/s0.12D.mf, graphs/s0.loss1.mf.


The simulations for Figure 3 on "TCP competing with TCP($1/5$,~$1/8$), with RED" (top, bottom) can be run with:
tfrm12-3.com, as in Figure 2 above.
The simulations for Figure 4 on "TCP competing with TCP($2/5$,~$1/8$), with RED" (top, bottom) can be run with:
tfrm12-2.com, with supporting files tfrm12-2.run and other files listed for Figure 2 above. This took 10 minutes to run on Sally's machine.

The following supporting files were also required for generating the postscript file:
tfrm12-2.run1, graphs/s0.12F.mf, graphs/s0.loss1.mf.


The simulations for Figure 5 on "TFRC competing with TCP($1/5$,~$1/8$), with RED" (top, bottom) can be run with:
tfrm12-6.com, with supporting files tfrm12-6.run, tfrm-aimd.tcl, and other files listed for Figure 2 above. This took 20 minutes to run on Sally's machine.

The following supporting files were also required for generating the postscript file:
tfrm12-5.run1, graphs/s0.12E.mf, graphs/s0.loss1.mf.


The simulations for Figure 6 on "TFRC competing with TCP($2/5$,~$1/8$), with RED" (top, bottom) can be run with:
tfrm12-7.com, with other files listed for Figures 2 and 5 above. This took 20 minutes to run on Sally's machine.
Figure 7 on "Tradeoffs between responsiveness, smoothness, and aggressiveness" was created with:
aimd.com, with supporting files data/aimd.mf, data/aimd1.mf, and supporting data files.
The simulation for Figure 8 on "TCP[2/5, 1/8] and TCP flows, with RED and ECN" can be run with:
tfrm12F.com, with supporting files available from the tar file.
The simulations for Figure 9 on "TFRC and TCP flows, with RED and ECN", Figure 10 on "Histogram of throughput variation", and Figure 11 on "Cumulative distribution of throughput variation" can be run with:
tfrm12A.com, with supporting files available from the tar file.
The simulations for Figure 12 on "TCP competing with TCP($1$,~$1/8$), with RED" (top, bottom) can be run with:
tfrm12-5.com, with supporting files available from the tar file. This took 20 minutes to run on Sally's machine.
Figure 13 on "Exact vs. approximate solutions to the sending rate".
Last modified: May 2000.