Simured, multicomputer network simulator
Simured is a multicomputer network simulator. Simured can be executed in interactive and batch modes. It allows to see the movement
of the packets in the network as well as the realization of batch complex simulations. The
environment is completely visual and the current Java version can be executed in
almost any platform.
Man advantages of this simulator:
- It is free and the sources are available in C++ and Java.
- It is very simple to use and offers a complete interactive interface.
- It is completely parallel and takes full advantage of current multicore
processors.
- The goal of this program is just the multicomputer network simulation of
the topology, switching and routing layers. Other simulators offer the
possibility of simulating higher layers, but then the use of the simulator
becomes complex and the intention was to have a tool very simple to use but
powerful at the same time.
These are the complete characteristics of the simulator:
- The program is of free distribution. Its objective is mainly educational, but it
can be useful to start research on multicomputer networks.
- The simulator has been thought to be the most portable possible. Its Java
implementations runs on almost any platform and the C++ version (command
line version) compiles with almost any compiler of C++.
- The current stable Java version increases program portability. It can be
tested as an Applet at the
Jsimured page. It has the typical limitations of
an Applet, so it is recommended to locally download the Java version and run
it on your computer to guaranty full functionality.
- The program simured is in fact a front-end for the module that makes the
simulation. The source of the internal simulator and a sample front-end can be
downloaded right here. Simured works in Linux
and Windows.
- The simulator base network is the orthogonal k-ari n-cube. Most
other networks, as meshes, can be simulated including channel restrictions in
the routing algorithm.
- Wormhole is the switching mechanism supported by the simulator.
Nevertheless, it is easy to include other pipelines mechanism.
Non pipelined techniques as the circuit switching are not simple to implement in the simulator
due to its special nature.
- It has several routing functions: deterministic, adaptive, with dead-locks, etc. The implementation of new functions is
very simple.
- Crossbar arbitration mechanism is fifo.
- It is possible to modify the number of virtual channels of the network. It is
possible decided if these channels are physical or virtual. Also they can be made bidirectional or unidirectional.
- It is possible to change the i/o fifo length and to allow data advancement (if
the fifo is empty the arriving flit does not need to traverse the whole fifo.
- It allows to specify the delays of the fifos, switching, crossbar, and channel.
- Packet length can be modified as well as the length of the head.
-
Test packets can be generated from a trace file. The format of the trace file
is plain text. In each line the launching time of a packet, or the packet it
depend on, can be specified, so the first field of the line is the cycle, or a
packet id, to indicate when to send the packet,
the second field contains the node origin and the third
the node destiny. There are two more fields which can optionally indicate the
packet length and an Id for dependent packet delivery. The packets must be ordered according to the cycle in which they are sent. The fields go separated by spaces.
The nodes are numbered beginning at dimension 0 where
there are nodes 0, 1, 2...
- An automatic traffic generator is included in the simulator for the case a
trace file is not provided: it is possible to specify the number of
packets to send or flits by node, and also the productivity that is desired
expressed in Flits/Cycle/Node.
- The simulation can be interactive. In this way, the two first dimensions of the network with their tails and channels
is shown, so that the packet evolution over the network can be seen. An
interval time among cycles can be specified, so it is possible
increase/decrease movement speed, also
the simulation can be stopped and run step by step.
- In non-interactive mode a simulation with the specified parameters is
performed.
- There is also a "multiple" simulation mode so in just one run multiple results
are generated based on the variation of one or two parameters.
In the simple multiple simulation the value of the productivity
from a beginning to an end is modified. A logarithmic or linear scale for this change can be chosen.
A more complex multiple simulation consists of several simple simulations like the previous one but in which it is modified some other parameter.
- The results of the multiple simulation can be saved to a file in text format (CSV) that can be read directly by any spreadsheet.
- The simulator can also show these results in chart form.
- This simulator has been implemented taking as it bases the book "Interconnection Networks"
of José Duato, Sudhakar Yalamanchili and Lionel Ni, Ed. IEEE Computer Society Press, 1997.
- SimuRed is available in English and Spanish.