1 <!-- This platform shows the use of traces, clusters and sets of hosts defined with the new XML format. It also explains how to define
2 routes between sets of hosts using the route:multi tag
5 <!DOCTYPE platform SYSTEM "surfxml.dtd">
8 <!-- define a trace inside the XML file -->
9 <trace id="mytrace" periodicity="12">
15 <!-- define a cluster for Nancy. Hosts, links, backbone, routes for inter linkage and external linkage are generated by the parser automatically -->
16 <cluster id="Nancy" prefix="nancy_" suffix="_host" radical="0-2" power="1234566789" bw="125000000" lat="0.00005" bb_bw="50000000" bb_lat="0.001"/>
18 <!-- Now we will define in 5 steps the same thing for cluster Lille but using the tags foreach and route:multi -->
20 <!-- 1. Define Lille set -->
21 <set id="Lille" prefix="lille_" suffix="_host" radical="0-2"/>
23 <!-- 2. Define the Lille group (host+link) -->
24 <foreach set_id="Lille">
25 <host id="$1" power="1234566789"/>
26 <link id="$1" bandwidth="125000000" latency="0.00005"/>
29 <!-- 3. Backbones for Lille hosts -->
30 <link id="Lille_bb" bandwidth="50000000" latency="0.00005"/>
32 <!-- Define backbone for communication between Nancy and Lille-->
33 <link id="INTER-bb" bandwidth="125000000" latency="0.000100"/>
35 <!-- 4. Define startpoint for Lille -> $* (All other hosts including Nancy hosts) routes. It is the starting point so it overrides all previosly routes!!! -->
36 <route:multi src="Lille" dst="$*" action="OVERRIDE" symmetric="NO">
40 <!-- 5. Define Lille intra-cluster communication. Default behaviour POSTPEND links to already existing routes, and NOT symmetric because all routes are created in the first pass. If you choose symmetric you will duplicate links due to POSTPEND !!!-->
41 <route:multi src="Lille" dst="Lille" symmetric="NO">
42 <link:ctn id="Lille_bb"/>
45 <!-- Add other links to routes. Default behaviour POSTPEND links to already existing routes -->
46 <route:multi src="Nancy" dst="Lille">
47 <link:ctn id="INTER-bb"/>
51 <!-- Connect the trace with the host nancy_0_host -->
52 <trace:connect kind="POWER" trace_id="mytrace" element="HOST" connector_id="nancy_0_host"/>