Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
further convert some bits of the documentation
[simgrid.git] / doc / doxygen / platform.doc
index 3b909d4..21121e1 100644 (file)
@@ -1,62 +1,11 @@
 /*! @page platform Describing the virtual platform
 
-@tableofcontents
-
-@htmlonly
-<div align="center">
-@endhtmlonly
-@htmlinclude graphical-toc.svg
-@htmlonly
-</div>
-<script>
-document.getElementById("VirtualPlatform").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";
-</script>
-@endhtmlonly
-
-As @ref starting_components "explained in the introduction," any
-SimGrid study must entail the description of the platform on which you
-want to simulate your application. You have to describe **each element
-of your platform**, such as computing hosts, clusters, each disks,
-links, etc. You must also define the **routing on your platform**, ie
-which path is taken between two hosts. Finally, you may also describe
-an **experimental scenario**, with qualitative changes (e.g.,
-bandwidth changes representing an external load) and qualitative
-changes (representing how some elements fail and restart over time).
-
-You should really separate your application from the platform
-description, as it will ease your experimental campain afterward.
-Mixing them is seen as a really bad experimental practice. The easiest
-to enforce this split is to put the platform description in a XML
-file. Many example platforms are provided in the archive, and this
-page gives all needed details to write such files, as well as some
-hints and tricks about describing your platform.
-
-On the other side, XML is sometimes not expressive enough for some
-platforms, in particular large platforms exhibiting repetitive
-patterns that are not simply expressed in XML.  In practice, many
-users end up generating their XML platform files from some sort of
-scripts. It is probably preferable to rewrite your XML @ref
-platform_lua "platform using the lua scripting language" instead.
-In the future, it should be possible to describe the platform directly
-in C++, but this is not possible yet.
+
 
 As usual, SimGrid is a versatile framework, and you should find the
 way of describing your platform that best fits your experimental
 practice. 
 
-@section pf_overview Describing the platform with XML
-
-Your platform description should follow the specification presented in
-the [simgrid.dtd](http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd)
-DTD file. The same DTD is used for both the platform and deployment
-files.
-
-From time to time, this DTD evolves to introduce possibly
-backward-incompatible changes. That is why each platform desciption is
-enclosed within a @c platform tag, that have a @c version attribute. 
-The current version is <b>4.1</b>. The @c simgrid_update_xml program can
-upgrade most of the past platform files to the recent formalism.
-
 @section pf_first_example First Platform Example 
 
 Here is a very simple platform file, containing 3 resources (two hosts
@@ -64,7 +13,7 @@ and one link), and explicitly giving the route between the hosts.
 
 @code{.xml}
 <?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
+<!DOCTYPE platform SYSTEM "https://simgrid.org/simgrid.dtd">
 <platform version="4.1">
   <zone id="first zone" routing="Full">
     <!-- the resources -->
@@ -79,8 +28,6 @@ and one link), and explicitly giving the route between the hosts.
 </platform>
 @endcode
 
-As we said, the englobing @ref pf_overview "&lt;platform&gt;" tag is
-used to specify the dtd version used for this file.
 
 Then, every resource (specified with @ref pf_tag_host, @ref
 pf_tag_link or others) must be located within a given **networking
@@ -128,7 +75,6 @@ Attribute         | Values                                 | Description
 id                | String (mandatory)                     | The identifier of the host. facilitates referring to this AS.
 speed             | double (mandatory)                     | Computational power of every core of this host in FLOPS (must be positive)
 core              | int (defaults to 1)                    | Number of cores (see @ref howto_multicore)
-state             | optionally "OFF"                       | If set to OFF, the host is initially turned off.
 availability_file | File name (optional) | (Relative or absolute) filename to use as input; must contain availability traces for this host. The syntax of this file is defined below.
 state_file        | File name (optional) |  File to use as a state profile (see @ref howto_churn)
 coordinates       | String (mandatory when using Vivaldi routing) | The coordinates of this host (see @ref pf_P2P_tags).
@@ -310,8 +256,7 @@ lat             | yes       | int    | Latency for the links between nodes and b
 
 @note
     Please note that as of now, it is impossible to change attributes such as,
-    amount of cores (always set to 1), the initial state of hosts/links
-    (always set to ON), the sharing policy of the links (always set to @ref pf_sharing_policy_splitduplex "SPLITDUPLEX").
+    amount of cores (always set to 1), the sharing policy of the links (always set to @ref pf_sharing_policy_splitduplex "SPLITDUPLEX").
 
 #### Example ####
 
@@ -429,10 +374,9 @@ to latency.
 Attribute name  | Mandatory | Values | Description
 --------------- | --------- | ------ | -----------
 id              | yes       | string | The identifier of the link to be used when referring to it.
-bandwidth       | yes       | int    | Maximum bandwidth for this link, given in bytes/s
+bandwidth       | yes       | string | Maximum bandwidth for this link, along with its unit.
 latency         | no        | double (default: 0.0) | Latency for this link.
 sharing_policy  | no        | @ref sharing_policy_shared "SHARED"@|@ref pf_sharing_policy_fatpipe "FATPIPE"@|@ref pf_sharing_policy_splitduplex "SPLITDUPLEX" (default: SHARED) | Sharing policy for the link.
-state           | no        | ON@|OFF (default: ON) | Allows you to to turn this link on or off (working / not working)
 bandwidth_file  | no        | string | Allows you to use a file as input for bandwidth.
 latency_file    | no        | string | Allows you to use a file as input for latency.
 state_file      | no        | string | Allows you to use a file as input for states.
@@ -1451,7 +1395,7 @@ Any such configuration must be given at the very top of the platform file.
 
 @verbatim
 <?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<!DOCTYPE platform SYSTEM "https://simgrid.org/simgrid.dtd">
 <platform version="4">
 <config>
        <prop id="maxmin/precision" value="0.000010" />
@@ -1666,7 +1610,7 @@ complicated in using it, here is an example:
 
 @verbatim
 <?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<!DOCTYPE platform SYSTEM "https://simgrid.org/simgrid.dtd">
 <platform version="4">
 
  <zone  id="zone0"  routing="Vivaldi">
@@ -1693,7 +1637,7 @@ Note that the previous example defines a routing directly between hosts but it c
 That is for example what is commonly done when using peers (see Section @ref pf_peer).
 @verbatim
 <?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<!DOCTYPE platform SYSTEM "https://simgrid.org/simgrid.dtd">
 <platform version="4">
 
  <zone  id="zone0"  routing="Vivaldi">
@@ -1737,6 +1681,18 @@ characteristics (lookup: time to resolve a route):
 @li <b>Cluster</b>: Cluster routing, specific to cluster tag, should
     not be used.
 
+@subsection pf_loopback I want to specify the characteristics of the loopback link!
+
+Each routing model automatically adds a loopback link for each declared host, i.e.,
+a network route from the host to itself, if no such route is declared in the XML
+file. This default link has a bandwidth of 498 Mb/s, a latency of 15 microseconds, 
+and is <b>not</b> shared among network flows. 
+
+If you want to specify the characteristics of the loopback link for a given host, you
+just have to specify a route from this host to itself with the desired characteristics 
+in the XML file. This will prevent the routing model to add and use the default 
+loopback link.
+
 @subsection pf_switch I want to describe a switch but there is no switch tag!
 
 Actually we did not include switch tag. But when you're trying to