Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Various docs update
[simgrid.git] / docs / source / platform.rst
1 .. raw:: html
2
3    <object id="TOC" data="graphical-toc.svg" type="image/svg+xml"></object>
4    <script>
5    window.onload=function() { // Wait for the SVG to be loaded before changing it
6      var elem=document.querySelector("#TOC").contentDocument.getElementById("PlatformBox")
7      elem.style="opacity:0.93999999;fill:#ff0000;fill-opacity:0.1;stroke:#000000;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1";
8    }
9    </script>
10    <br/>
11    <br/>
12
13 .. _platform:
14
15 Describing your Simulated Platform
16 ##################################
17
18 In SimGrid, platforms are usually described in XML. This formalism has
19 some drawbacks, but using a specific format ensures that the platform
20 is not mixed with the tested application. This separation of concern
21 :ref:`is a must <howto_science>` for your Modeling and Simulation (M&S)
22 work. When XML is too limiting, you may describe your platforms using
23 the :ref:`lua bindings <platform_lua>` (it is not yet possible to do so in
24 python or directly in C++).
25
26 Any simulated platform must contain **basic elements**, such as
27 :ref:`pf_tag_host`, :ref:`pf_tag_link`, :ref:`pf_tag_disk`, and similar.
28 SimGrid makes no assumption about the **routing of your platform**, so you must declare
29 explicitly the network path taken between each pair of hosts. 
30 This can be done through a flat list of :ref:`pf_tag_route` for each pair of hosts (routes
31 are symmetrical by default), or you may use the advanced concept of :ref:`networking zone <platform_routing>`
32 to efficiently express the routing of your platform.
33 Finally, you may also describe an **experimental scenario**, with qualitative (e.g., bandwidth variations representing
34 an external load) and qualitative (e.g., representing how some elements fail and restart over time) changes.
35
36 The most efficient way to learn about platform description is to look at the
37 :ref:`many examples <platform_examples>` included in the archive and described
38 in the next section. This documentation also contains some :ref:`hints and
39 howtos <howto>`, as well as the full :ref:`XML reference guide
40 <platform_reference>`.
41
42 ..  LocalWords:  SimGrid