asim: A fast, approximate, analytical network simulator

Figure 1: Structure of asim


Packet level simulators, such as ns, are discrete event driven and their granularity is a single packet. Although simple simulations can be run quite quickly,   simulating scenarios with many nodes and at high traffic rates   can easily become quite time consuming. Understanding the behavior of the network may require many scenarios with alternate traffic or configuration choices. Often many of these scenarios are not interesting. Also, only a few scenarios are critical i.e. provide a good balance   to define the operating limits of the network. Another fact about simulations with protocols such as TCP is that they often need to be run for several seconds in order to reach a steady state. Such restrictions further add to the simulation time for each scenario. We note that there is no need to simulate  the uninteresting scenarios in detail.

Our tool, asim is  a design tool that can very quickly evaluate  the steady-state behavior of scenarios and pre-filter them by user-supplied criteria. It allows uninteresting scenarios to be dismissed quickly   and the interesting ones to be evaluated in detail. We have designed and implemented a  framework to calculate the approximate fixed point of the network. This exists both as a stand-alone tool and embedded into ns.


A user would input a regular Tcl script and within that script he would enable the use of asim.
[Simulator instance] use-asim

Then the user would fire the asim routine using a Tcl command
[Simulator instance] asim-run


The output of the asim-run command would yield the approximate steady state statistics (such as throughputs and delays) of the links, the long term TCP flows and aggregates of short lived TCP flows. This information is accessed by Tcl commands.

For examples on usage, please download the demos and try it out.