Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / doc / doxygen / platform.doc
index 0085a2d..109d3cb 100644 (file)
@@ -126,7 +126,7 @@ attributes.
     That also have a big impact on how many information you'll have to
     provide to help the simulator to route between the AS elements.
     <b>routing</b> possible values are <b>Full, Floyd, Dijkstra,
-    DijkstraCache, none, RuleBased, Vivaldi, Cluster</b>. For more
+    DijkstraCache, none, Vivaldi, Cluster</b>. For more
     explanation about what to choose, take a look at the section
     devoted to it below.  
 
@@ -162,15 +162,16 @@ contain more than 1 core. Here are the attributes of a host :
     referring to it.
 \li <b>power (mandatory)</b>:the peak number FLOPS the CPU can manage.
     Expressed in flop/s.
-\li <b>core</b>: The number of core of this host. If set, the power
-    gives the power of one core. The specified computing power will be
+\li <b>core</b>: The number of core of this host (by default, 1). If
+    you specify the amount of cores, the 'power' parameter is the power 
+    of each core. 
+    For example, if you specify that your host has 6 cores, it will be
     available to up to 6 sequential tasks without sharing. If more
     tasks are placed on this host, the resource will be shared
-    accordingly. For example, if you schedule 12 tasks on the host,
-    each will get half of the computing power. Please note that
-    although sound, this model were never scientifically assessed.
+    accordingly. For example, if you schedule 12 tasks on that host,
+    each will get half of the specified computing power. Please note
+    that although sound, this model were never scientifically assessed.
     Please keep this fact in mind when using it.
-
 \li <b>availability</b>: specify if the percentage of power available.
 \li <b>availability_file</b>: Allow you to use a file as input. This
     file will contain availability traces for this computer. The
@@ -360,30 +361,48 @@ unset.
     availability. Similar to <b>hosts</b> attribute. 
 \li <b>state_file</b>: Allow you to use a file as input for states.
     Similar to <b>hosts</b> attribute. 
+\li <b>loopback_bw </b>: bandwidth for loopback (if any). See <b>link</b>
+    section for syntax/details. If both loopback_* attributes are omitted,
+    no loopback link is created and all intra-node communication will 
+    use the main network link of the node. Loopback link is a <b>FATPIPE</b>.
+\li <b>loopback_lat </b>: latency for loopback (if any). See <b>link</b>
+    section for syntax/details. See loopback_bw for more info.
+\li <b>topology </b>: network topology to use. For now SimGrid supports FLAT 
+     (default, with or without backbone, as described before), 
+     <a href="http://en.wikipedia.org/wiki/Torus_interconnect">TORUS
+     </a> and FAT_TREE attributes for this tag.
+\li <b>topo_parameters </b>: specific parameters to pass for the topology 
+     defined in the topology tag. For torus networks, comma-separated list of 
+    the number of nodes in each dimension of the torus. For fat trees, refer to
+    \ref AsClusterFatTree "AsClusterFatTree documentation".
+
 
 the router name is defined as the resulting String in the following
 java line of code: 
 
 @verbatim
-router_name = prefix + clusterId + router_ + suffix;
+router_name = prefix + clusterId + _router + suffix;
 @endverbatim
 
 
 <b>cluster example</b>
 \verbatim
-<cluster id="my_cluster_1" prefix="" suffix=""
-               radical="0-262144"      power="1000000000"    bw="125000000"     lat="5E-5"/>
-<cluster id="my_cluster_1" prefix="c-" suffix=".me"
-               radical="0-99"  power="1000000000"    bw="125000000"     lat="5E-5"
-        bb_bw="2250000000" bb_lat="5E-4"/>
+<cluster id="my_cluster_1" prefix="" suffix="" radical="0-262144"
+         power="1e9" bw="125e6" lat="5E-5"/>
+
+<cluster id="my_cluster_1" prefix="c-" suffix=".me" radical="0-99"
+         power="1e9" bw="125e6" lat="5E-5"
+         bb_bw="2.25e9" bb_lat="5E-4"/>
 \endverbatim
-The second examples creates 100 machines, which names are the following:
+The second examples creates one router and 100 machines, which names 
+are the following:
 \verbatim
-c-0.my_cluster_1.me
-c-1.my_cluster_1.me
-c-2.my_cluster_1.me
+c-my_cluster_1_router.me
+c-0.me
+c-1.me
+c-2.me
 ...
-c-99.my_cluster_1.me
+c-99.me
 \endverbatim
 
 \subsubsection pf_peer peer
@@ -605,22 +624,37 @@ find /path/you/want -type f -exec ls -l {} \; 2>/dev/null > ./content.txt
 \li <b>content</b>: default value 0. The file containing the disk
     content. (may be moved soon or later to <b>storage</b> tag. 
 
-The tag must contains some predefined prop, as may do some other
-resources tags. This should moved to attributes soon or later. 
-<b>storage_type</b> mandatory <b>prop</b> :
+The tag must contains some predefined model prop, as may do some other
+resources tags.
+<b>storage_type</b> mandatory <b>model_prop</b> :
 \li <b>Bwrite</b>: value in B/s. Write throughput
 \li <b>Bread</b>: value in B/s. Read throughput
 \li <b>Bconnexion</b>: value in B/s. Connection throughput (i.e. the
     throughput of the storage connector). 
 
+A storage_type can also contain the <b>prop</b> tag. The prop tag allows you
+to define additional information on this storage_type following the
+attribute/value schema. You may want to use it to give information to
+the tool you use for rendering your simulation, for example.
+
+\verbatim
+<storage_type id="single_HDD" model="linear_no_lat" size="4000" content_type="txt_unix">
+  <model_prop id="Bwrite" value="30MBps" />
+  <model_prop id="Bread" value="100MBps" />
+  <model_prop id="Bconnection" value="150MBps" />
+  <b><prop id="Brand" value="Western Digital" /></b>
+</storage_type>
+\endverbatim
+
 \subsubsection pf_sto_st storage
 
 <b>storage_type</b> attributes :
 \li <b>id (mandatory)</b>: the identifier of the storage to be used
     when referring to it. 
 \li <b>typeId (mandatory)</b>: the identifier of the storage_type that
-    this storage  belongs to. 
-
+    this storage belongs to. 
+\li <b>attach (mandatory)</b>: the host (name) to which the storage is 
+       attached to.
 
 \subsubsection pf_sto_mo mount
 
@@ -770,12 +804,6 @@ DijsktraCache example :
 \subsubsection pf_rm_me Manually-entered route models
 
 \li <b>Full</b>: You have to enter all necessary routes manually
-\li <b>RuleBased</b>: Rule-Based routing data; same as Full except you
-    can use regexp to express route. As SimGrid has to evaluate the
-    regexp, it's slower than Full, but requires less memory. Regexp
-    syntax is similar as <a href="http://www.pcre.org">pcre</a> ones,
-    as this is the lib SimGrid use to do so.
-
 
 Full example :
 \verbatim
@@ -787,54 +815,6 @@ Full example :
  </AS>
 \endverbatim
 
-RuleBased example :
-\verbatim
-<AS id="AS_orsay" routing="RuleBased" >
-                       <cluster id="AS_gdx" prefix="gdx-" suffix=".orsay.grid5000.fr"
-                               radical="1-310" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
-                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
-                       <link   id="link_gdx" bandwidth="1.25E9" latency="1.0E-4"/>
-
-                       <cluster id="AS_netgdx" prefix="netgdx-" suffix=".orsay.grid5000.fr"
-                               radical="1-30" power="4.7144E9" bw="1.25E8" lat="1.0E-4"
-                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
-                       <link   id="link_netgdx" bandwidth="1.25E9" latency="1.0E-4"/>
-
-                       <AS id="gw_AS_orsay" routing="Full">
-                               <router id="gw_orsay"/>
-                       </AS>
-                       <link   id="link_gw_orsay" bandwidth="1.25E9" latency="1.0E-4"/>
-
-                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
-                               gw_src="$1src-AS_$1src_router.orsay.grid5000.fr"
-                               gw_dst="$1dst-AS_$1dst_router.orsay.grid5000.fr"
-                               symmetrical="YES">
-                                       <link_ctn id="link_$1src"/>
-                                       <link_ctn id="link_$1dst"/>
-                       </ASroute>
-
-                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
-                               gw_src="$1src-AS_$1src_router.orsay.grid5000.fr"
-                               gw_dst="gw_$1dst"
-                               symmetrical="NO">
-                                       <link_ctn id="link_$1src"/>
-                       </ASroute>
-
-                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
-                               gw_src="gw_$1src"
-                               gw_dst="$1dst-AS_$1dst_router.orsay.grid5000.fr"
-                               symmetrical="NO">
-                                       <link_ctn id="link_$1dst"/>
-                       </ASroute>
-
-               </AS>
-\endverbatim
-
-The example upper contains $1src and $1dst. It's simply a reference to
-string matching regexp enclosed by "()" within respectively <b>src</b>
-and <b>dst</b> attributes. If they were more than 1 "()", then you
-could refer to it as $2src, $3src and so on.
-
 \subsubsection pf_rm_sf Simple/fast models
 
 \li <b>none</b>: No routing (Unless you know what you are doing, avoid
@@ -914,7 +894,7 @@ a <b>link_ctn</b> is the tag that is used in order to reference a
 \subsubsection pf_asro ASroute
 
 ASroute tag purpose is to let people write manually their routes
-between AS. It's usefull when you're in Full or Rule-based model.
+between AS. It's useful when you're in Full model.
 
 <b>ASroute</b> attributes :
 \li <b>src (mandatory)</b>: the source AS id.
@@ -929,15 +909,6 @@ between AS. It's usefull when you're in Full or Rule-based model.
     will be the opposite of the one defined. Can be either YES or NO,
     default is YES.
 
-<b>Example of ASroute with RuleBased</b>
-\verbatim
-<ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
-                               gw_src="gw_$1src"
-                               gw_dst="$1dst-AS_$1dst_router.orsay.grid5000.fr"
-                               symmetrical="NO">
-                                       <link_ctn id="link_$1dst"/>
-                       </ASroute>
-\endverbatim
 <b>Example of ASroute with Full</b>
 \verbatim
 <AS  id="AS0"  routing="Full">
@@ -968,8 +939,8 @@ between AS. It's usefull when you're in Full or Rule-based model.
 The principle is the same as ASroute : <b>route</b> contains list of
 links that are in the path between src and dst, except that it is for
 routes between a src that can be either <b>host</b> or \b router and a
-dst that can be either <b>host</b> or \b router. Useful for Full and
-RuleBased, as well as for the shortest-paths based models, where you
+dst that can be either <b>host</b> or \b router. Useful for Full 
+as well as for the shortest-paths based models, where you
 have to give topological information.
 
 
@@ -997,7 +968,7 @@ Note that when using route to give topological information, you have
 to give routes with one link only in it, as SimGrid needs to know
 which host are at the end of the link.
 
-\subsubsection pf_byro bypassASroute
+\subsubsection pf_byASro bypassASroute
 
 <b>Note : bypassASroute and bypassRoute are under rewriting to perform
 better ; so you may not use it yet</b> As said before, once you choose
@@ -1398,9 +1369,6 @@ characteristics (lookup : time to resolve a route):
     Defines that there is no routes, so if you try to determine a
     route without constant network within this AS, SimGrid will raise
     an exception.
-\li <b>RuleBased</b>: Rule-Based routing data (fast initialisation,
-    relatively slow lookup, moderate memory requirements, fully
-    expressive): uses regexp to define routes;
 \li <b>Vivaldi</b>: Vivaldi routing, so when you want to use coordinates
 \li <b>Cluster</b>: Cluster routing, specific to cluster tag, should
     not be used.