Describing your Simulated Platform

In SimGrid, platforms are usually described in XML. This formalism has some drawbacks, but using a specific format ensures that the platform is not mixed with the tested application. This separation of concern is a must for your Modeling and Simulation (M&S) work. When XML is too limiting, you may describe your platforms using the lua bindings (it is not yet possible to do so in python or directly in C++).

Any simulated platform must contain basic elements, such as <host>, <link>, <disk>, and similar. SimGrid makes no assumption about the routing of your platform, so you must declare explicitly the network path taken between each pair of hosts. This can be done through a flat list of <route> for each pair of hosts (routes are symmetrical by default), or you may use the advanced concept of networking zone to efficiently express the routing of your platform. Finally, you may also describe an experimental scenario, with qualitative (e.g., bandwidth variations representing an external load) and qualitative (e.g., representing how some elements fail and restart over time) changes.

The most efficient way to learn about platform description is to look at the many examples included in the archive and described in the next section. This documentation also contains some hints and howtos, as well as the full XML reference guide.