Simulation Software Description
The Simulation Environment is composed by the following main file "script.tcl", and two helpers "change_protocol.sh" and "submit_batch".
The file "script.tcl" is the one that manages all the ns-2 networking creating according to the pre-configured network model from the previous phase. It also has the profiles of the short and long lived TCP connections. Finally, it creates data summaries of thrughput per flow, queueing status - loss and etc - per core router queue and congestion window dynamics per "long-lived" flows. It has only four parameters:
$1 = Protocol 1 (50% of the flows - the even ones) are going to be set to this protocol
$2 = Protocol 2 (50% of the flows - the odd ones) are going to be set to this protocol
$3 = Core Routers Buffer Sizes - this set all the routers to an homogeneous amount of space
$4 = Duration of the Simulation in Seconds
If one wants to create homogeneous flows scenarios (like only TCP NewReno flows), you just need to set Protocol 1 and Protocol 2 to be "reno". In order to create heterogeneous flows scenarios (like 50% of the flows to be an advanced TCP protocol and 50% of the flow TCP NewReno), it is just necessary to set the new protocol as Protocol 1 and "reno" as Protocol 2. NOTE: Since, we have based our TCP evaluation suite on the ns-2 Linux TCP patch, the names of the protocols are in lowercase and have the same names as in Linux.
We created a helper script to run the "script.tcl" smoothly. The script called "changed_protocol.sh" allow one to configure the protocols to be used, the buffer sizes and duration, and it creates a number of "execution experiment scripts" depending on the number of SEEDS specified. Another simple helper "submit_batch", calls all the "execution experiment scripts" at once if the CPU/IO processing permits, since there will be 12 ns-2 processes running at same time.
IT'S IMPORTANT TO REMEMBER THAT THE SCRIPT.TCL NEEDS THE DIRECTORY "MODEL" and DIRECTORIES "DATA" and "DATA4" IN PLACE MODEL - comes directly from a single "long_livedX" directory inside topology_generator DATA, DATA4 - are created automatically if you use the submit_batch.