Navigationsweiche Anfang

Navigationsweiche Ende

Lehrstuhl für Automatisierungstechnik / Informatik

Prof. Dr.-Ing. Dietmar Tutsch


  • Das Sekretariat ist vom 02.10. bis 08.11.19 nicht besetzt
    Während das Sekretariat nicht besetzt ist, sind für folgende Anliegen diese Mitarbeiter zuständig: ... [mehr]
  • Neue Sprechstunden ab Oktober 2019
    Ab Oktober 2019 finden die Sprechstunden von Prof. Tutsch mittwochs von 11h00 bis 12h00 statt. [mehr]
zum Archiv ->

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.

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)
      • Buffers
      • Packet generators (sources)
      • Target buffers (destinations)
      • Routes (links)
      • Meta components for hierarchical descriptions

    Apart from these, CINSim features a separate component for taking measures called analyzer. Currently the following properties of networks and their components can be examined:

      • Source- and target throughput
      • Queue length
      • Delay
      • Latency

    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

    Terminating simulation offers the possibility to determine performance measures for particular network clock cycles. Thus, the transient network behavior can be observed.


    The measurement results can be characterized by

      • Mean values
      • Quantiles

    The simulation is stopped if all given confidence levels and estimated precisions are reached.

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

    On the other hand, traffic can also be distributed in space concerning the number of destinations and concerning the communication pairs:

      • multicast distributions (including broadcast and unicast)
      • localities in traffic

Routing Strategies

    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

Scheduling Strategies

    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:

      • Least-/most-frequently-used
      • Least-/most-frequently-used
      • Round-robin
      • Oldest-packet-first
      • Longest-waiting-packet-first
      • Fixed-order
      • By deadline or priority

    For every output port of a router an own arbiter will be used.


    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.