FSIM (Fluid-based network SIMulator) is a high-speed flow-level simulator for large-scale network simulations. The notable features of FSIM include its accuracy and fast simulation execution compared with conventional flow-level simulators, and its compatibility with the existing network performance analysis tool.
In recent years, the scale of the Internet has been expanding rapidly. Such explosive expansion of the Internet makes it difficult to understand behavior of the entire network. Hence, performance evaluation technique for a large-scale network has been demanded by many networking researchers.
A packet-level simulator (such as ns2) has been widely used by many networking researchers. Because computational complexity increases as the scale of a simulated network becomes large, packet-level simulator can not simulate large-scale networks. To realize a large-scale network simulation, fast simulation execution is required.
Our main objective is to develop a simulator (called FSIM) for performance evaluation of large-scale networks.
For accelerating simulation execution, (1) FSIM performs flow-level simulation where computational complexity hardly increase as the scale of a simulated network become large, (2) FSIM adopts an adaptive numerical computation algorithm for ordinary differential equations.
Flow-level simulation
Flow-level simulator mimics behavior of every flow in a network. For instance, packet arrivals at a router and packet departures from a router are aggregated as a flow (i.e., a stream of packets) in flow-level simulator. Advantage of flow-level simulator includes, contrary to packet-level simulator, its fast simulation execution. Since a number of packets are approximately modeled as a single flow, flow-level simulator can simulate a large-scale network or high-speed network, where the number of in-flight packets is enormous. Disadvantage of flow-level simulator is its inaccuracy compared with packet-level simulator. For improving simulation accuracy, FSIM utilizes accurate fluid-flow models[2].
Adaptive numerical computation algorithm for ordinary differential exactions
FSIM uses the adaptive stepsize control for the Runge-Kutta method, which adjusts the stepsize according change in ordinary differential equations. Namely, when change in the network state is large, the stepsize is decreases for minimizing error in the numerical computation. On the contrary, when change in the network state is small, the stepsize is increased for speeding up the numerical computation. With such an adaptive control, computational complexity required for flow-level simulation can be significantly reduced, while maintaining the accuracy of simulation results.
The following software is required: - C++ compiler (tested with gcc-4.1.2) - GNU make - Perl 5 - Graph::Enhanced module (available from http://www.lsnl.jp/~ohsaki/software/graphtools/) - Graph module (available from http://www.cpan.org/)
Source files
http://www.lsnl.jp/~ohsaki/software/fsim/fsim-1.1.tar.gz
Sample files
http://www.lsnl.jp/~ohsaki/software/fsim/fsim-1.1-examples.tar.gz
tar xzvf fsim-1.1.tar.gz
cd fsim-1.1
make
make install
fsim will be installed in /usr/local/bin by default.
fsim [-nh] [-c file] [-o file] [-f format] file
-n ns-2 compatibility mode (load topology file in ns-2 format)
-h display help message and exit
-c file load configuration file from FILE (default ./system.conf)
-o file write simulation results to FILE (default out.tr)
-f format specify output format (fsim/fsim_avg/trace_all/namtrace_all)
The current version of FSIM supports only persistent flows (i.e., bursty flows are not supported). Simulation end time must be known in advance.
Hiroyuki Ohsaki <ohsaki[atmark]lsnl.jp>