X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cc6169324e997d1676ed89a0bdd1380567982f12..4afe4eabf76e9bb40b728e96ac1de3039029ffc6:/docs/source/Platform.rst diff --git a/docs/source/Platform.rst b/docs/source/Platform.rst index 836e48ad27..d08376fd17 100644 --- a/docs/source/Platform.rst +++ b/docs/source/Platform.rst @@ -20,19 +20,38 @@ some drawbacks, but using a specific format ensures that the platform is not mixed with the tested application. This separation of concern :ref:`is a must ` for your Modeling and Simulation (M&S) work. When XML is too limiting, you may describe your platforms using -directly :ref:`C++ code ` +directly :ref:`C++ code `. Any simulated platform must contain **basic elements**, such as :ref:`pf_tag_host`, :ref:`pf_tag_link`, :ref:`pf_tag_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. +explicitly the network path taken between each pair of hosts. This can be done through a flat list of :ref:`pf_tag_route` for each pair of hosts (routes are symmetrical by default), or you may use the advanced concept of :ref:`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 +Here is a minimalistic platform example, describing a zone which routing is fully described, containing two hosts and a +link. You need to explicitly add a :ref:`pf_tag_route` between ``host0`` and ``host1`` for this link to get used during +communications. + +.. code-block:: xml + + + + + + + + +SimGrid only perform minimalistic verifications about the described platforms, to make things flexible and interesting. +It enables weird topologies, such as a single link used for all communications in a large platform, or a single used by +hosts from different zones, or even worse. It is also OK to not describe some routing paths. SimGrid won't complain +unless your application tries to actually use inexistant paths. In short, it is your responsibility to write proper +platform files, and SimGrid will not try to be smarter than you! + +To learn further about platform descriptions, the easiest is to look at the :ref:`many examples ` included in the archive and described in the next section. This documentation also contains some :ref:`hints and howtos `, as well as the full :ref:`XML reference guide