ERROR: Content Element type "page_php_content_pi1" has no rendering definition!
This is version 0.6.2 of the simulation tool CINSim, a revision containing the basic features: The implementation of network components and their behaviour, various routing, switching, and scheduling strategies, traffic distributions in time and in space for simulating regular and irregular, non-cyclic networks based on the available network components.
- To simulate a given network structure by using CINSim, an abstract description must be defined in XML, using the following network components:
- Routers (switches)
- Packet generators (sources)
- Target buffers (destinations)
- Routes (links)
- Meta components for hierarchical descriptions
- Source- and target throughput
- Queue length
The measurements can be restricted to particular packet priorities that are to investigate.
Simulation Types and Results
- Two types of simulation can be started:
- Steady-state simulation
- Terminating simulation
- Mean values
The measurement results can be characterized by
Artificially Generated Traffic
- To create artificial traffic for simulating networks, messages of different kind and distribution are provided by packet generators. Currently, CINSim features four different distributions in time:
- Geometrically distributed traffic
- Periodic (deterministic) traffic
- Pareto distributed traffic
- Bursty traffic
- multicast distributions (including broadcast and unicast)
- localities in traffic
- A routing strategy in CINSim is used to determine the valid paths for messages from their source to their target(s), independent from the state of the network. Using a common interface, the following strategies are featured:
- Bitmask routing
- Shortest-path routing
- XY routing
- West-first routing
- Whenever more than one message may use a single output port of a router component a scheduling strategy must be applied to solve this conflict. CINSim features various scheduling strategies nested in arbiter components:
- By deadline or priority
- The CINSim core applications are written in C++. As far as possible simulation features have been encapsulated into classes and a factory is used to create instances of classes by their name, for example, arbiter components. This software model allows to combine the various simulation features in many different ways.
Distributed Simulation Runs
- To speed up simulations, CINSim is able to run simulations in parallel. Therefor, CINSim incorporates the Message-Passing Interface (MPI) to handle distribution and communication of the parallel tasks. MPI was designed for large parallel computers, like cluster computers, but some MPI-Implementations support SMP and/or multicore computers.
With MPI, it is possible to start an arbitrary number of tasks. Every task simulates the model with its own random number sequence. All intermediate measurements are collected in one task and the final result is estimated. The simulation stops automatically if the precision and confidence requirements are fullfilled. This scheme is called Multiple Replications in Parallel (MRIP).
Dynamic Network Reconfiguration
- CINSim allows to simulate static or dynamic reconfiguration of network components. Parameters describe when and how the reconfiguration takes place. Terminating simulation helps to investigate the network behavior during reconfiguation.
- CINSim uses XML to describe simulation sets. The XML files are based on an XML schema, that is used for schema-driven editing and validating.
Graphical User Interface
- The CINSim project features a schema-driven GUI written in Java to create XML files defining simulations sets.
- CINSim currently supports only Linux platforms.