Simulation FAQ

This provides additional information for using ns-3 in the first home exam.

Background

Discrete event simulation

Discrete-event simulation with continuous time is a very frequently used method for comparing and investigating new features in operating systems and networks. The method is are also at the core of many visual simulators in the wider sense, including the core functions of systems that render animated movies as well as interactive computer games.

When network simulation is used, the goal is frequently to understand whether a new protocol or a new behaviour introduced into an existing protocol provides an improvement. Examples are that simulations help to study whether the changes improve

  • the protocol's properties in competition with other protocols
  • the utilization of network capacities
  • the support of a new kind of workload
  • system scalability
  • ... and many more

For this study, it is highly important to determine the state variables that are required to find the answer. To reach an understanding, it is usually not sufficient to just print the value of a particular state variable as it changes during a simulation run. Several state variable may have to be combined into a derived variable that makes more sense (a very simple example is the combination of a state variable bytes-sent and measured simulation times into the derived variable sending-rate). To answer the question, it is also frequently important to perform statistical analysis of the data and interpret and present a compact form instead of every individual measurement point of a state variable.

System-under-test

The transport control protocol (TCP) is a mainstay of communication over the Internet. It is used in everything from email to streaming video on-demand. With the changing scales, capacities and applications of and in the Internet, TCP has frequently found to have limitations. It has been improved many times, and attempts to improve it are still continuously ongoing. The main variations of TCP have their own names, and the ones that we look at in this assignment are DCTCP, TCP CUBIC and TCP New Reno.

FAQ

Where do we find the code for ns3 and the installation instructions?

In Gitlab: https://gitlab.com/tomhend/modules/l4s-evaluation/tree/hackathon/master

There are very detailed instruction for setting up ns3 and adding the contributions that were made for testing the new TCP version DCTCP (as well as TCP CUBIC).

The instructions are very clear on how to generate results and output charts for individual configurations. The graphs that are generated by these scripts are not the data analysis that we want you to present.

Publisert 1. sep. 2020 11:31 - Sist endret 1. sep. 2020 11:38