-
Notifications
You must be signed in to change notification settings - Fork 12
SimulationConfiguration
TOPAZ provides an elegant solution to the generic problem of interconnection network simulation. The same compiled version of TOPAZ can be used to experiment with very different architectural proposals. The specification of the type of experiment is performed through three different SGML files. Each file describes a different set of network components: RouterSGML defines the router microarchitecture as well as the main router parameters, NetworkSGML focuses on the network topological aspects and finally, SimulaSGML describes general parameters of the simulation process. An example of the content that can be found at each file is shown below. TOPAZ accesses these files through the "TPZSimul.ini" file. Configuration files are interpreted by the simulator at runtime, making code recompilation unnecessary if the user wants to use any of the modules included in the simulation.
Command-line options are also available in TOPAZ. Some simulation parameters can be overridden if scripting-based simulation is necessary. However, only the specification of the simulation to evaluate (-s command line parameter) is strictly necessary through command line.
Some parameter combinations might turn into an incorrect behavior of the Simulation tool. For example, Cut-Through routers should not implement buffers with a smaller size than packet size, Wormhole buffering must be at least as large as round-trip delay, some router-topology combinations might be deadlock-prone (and a large etc.). Feel free to ask in the discussion list if you think you are experiencing troubles with simulation configuration.
Additionally, in some cases command-line options might be ignored. For example if you have a router with buffer sizes specified buffer by buffer in the SGML, the -u option is ignored. You have to change SGML to modify those values (or play with the source the source code to override SGML values with command line option. Other parameters, such as message length greater than 1 packet could be ignored (message is associated to network interface level and packets to the network). To have multi-message support you need disassembling/reassembling logic at network interfaces, and by default is not implemented in most consumers and injectors_