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.
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
<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-my_cluster_1_router.me
c-0.my_cluster_1.me
c-1.my_cluster_1.me
c-2.my_cluster_1.me
\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
</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
\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.
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">
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.
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.