2 DTD of SimGrid platform and deployment files.
4 More info: http://simgrid.gforge.inria.fr/simgrid/latest/doc/platform.html
5 To upgrade your files, use the tool simgrid_update_xml
7 * New in DTD version 4.1 (in SimGrid 3.16): backward compatible change (v4 files are valid v4.1 files)
8 - <zone> can be used as a synonym for the now deprecated <as>
9 - <zoneZoute> an be used as a synonym for the now deprecated <asroute>
10 - <bypassZoneRoute> an be used as a synonym for the now deprecated <bypassAsRoute>
11 - <actor> can be used as a synonym for the now deprecated <process>
13 * New in DTD version 4 (in SimGrid 3.13):
14 - Rename (power->speed) the attributes describing the amount of flop
15 that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
17 - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
19 - In <host> and <link>, attributes availability and state are gone.
20 It was redundent with state and availability traces, and with peak values.
22 - In <cluster>, cannot set the availability nor state traces.
23 This was too complex and unused.
25 - The DOCTYPE points to the right URL (this file):
26 http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
28 - Kill <gpu>. Was not doing anything.
30 - A warning is emitted for unit-less values (they are still accepted).
32 - speed. Default: 'f' or 'flops'. Also defined:
33 'Yf', 'Zf', 'Ef', 'Pf', 'Tf', 'Gf', 'Mf', 'kf'
34 'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
36 - bandwidth. Default: 'Bps' bytes per second
37 In bytes and powers of 2 (1 KiBps = 1024 Bps): 'EiBps', 'PiBps', 'TiBps', 'GiBps', 'MiBps', 'KiBps'
38 In bits and powers of 2 (1 Bps = 8 bps) : 'Eibps', 'Pibps', 'Tibps', 'Gibps', 'Mibps', 'Kibps'
39 In bytes and powers of 10 (1 KBps = 1000 Bps) : 'EBps', 'PBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
40 In bits and powers of 10 : 'Ebps', 'Pbps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
41 (Exa and Peta notations were introduced in SimGrid v3.14)
43 - latency. Default: 's' second. Also defined:
44 'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
46 * New in DTD version 3 (in SimGrid 3.5):
47 - The AS tag were introduced. Every platform should now
48 contain an englobing AS tag.
49 - Routes are now symmetric by default.
50 - Renamed tags (for sake of XML sanity):
51 - LINK:CTN -> LINK_CTN
52 - TRACE:CONNECT -> TRACE_CONNECT
54 * New in DTD version 2 (in SimGrid 3.4):
57 - NETWORK_LINK -> LINK
58 - ROUTE_ELEMENT -> LINK:CTN (changed again in v3)
59 - PLATFORM_DESCRIPTION -> PLATFORM
61 * New in DTD version 1 (in SimGrid 3.3):
62 - DTD is now versionned with the version attribute of platform
64 - Link bandwidth: from Mb/s to b/s
65 - CPU speed: from MFlop/s to Flop/s
69 <!ELEMENT platform ((config|random)*,(include|cluster|cabinet|peer|AS|zone|trace|trace_connect)*,(process|actor)*)>
70 <!ATTLIST platform version CDATA "0.0">
72 <!-- tag include is deprecated. Not documented, and soon removed -->
73 <!ELEMENT include (include|cluster|cabinet|peer|AS|zone|trace|trace_connect)*>
74 <!ATTLIST include file CDATA #REQUIRED>
76 <!ELEMENT trace (#PCDATA)>
77 <!ATTLIST trace id CDATA #REQUIRED>
78 <!ATTLIST trace file CDATA "">
79 <!ATTLIST trace periodicity CDATA #REQUIRED>
81 <!ELEMENT random EMPTY>
82 <!ATTLIST random id CDATA #REQUIRED>
83 <!ATTLIST random min CDATA #REQUIRED>
84 <!ATTLIST random max CDATA #REQUIRED>
85 <!ATTLIST random mean CDATA #REQUIRED>
86 <!ATTLIST random std_deviation CDATA #REQUIRED>
87 <!ATTLIST random seed CDATA "2147483647">
88 <!ATTLIST random radical CDATA "">
89 <!ATTLIST random generator (DRAND48|RAND|RNGSTREAM|NONE) "DRAND48">
91 <!ELEMENT trace_connect EMPTY>
92 <!ATTLIST trace_connect kind (HOST_AVAIL|SPEED|LINK_AVAIL|BANDWIDTH|LATENCY) "HOST_AVAIL">
93 <!ATTLIST trace_connect trace CDATA #REQUIRED>
94 <!ATTLIST trace_connect element CDATA #REQUIRED>
96 <!ELEMENT AS ((prop*), ((AS|zone|ASroute|zoneRoute|include|storage_type|storage|link|backbone|cabinet|router|host|cluster|peer|host_link)*,(route|ASroute|zoneRoute|trace|trace_connect|bypassRoute|bypassASroute|bypassZoneRoute)*))>
97 <!ATTLIST AS id CDATA #REQUIRED>
98 <!ATTLIST AS routing (Full|Floyd|Dijkstra|DijkstraCache|None|Vivaldi|Cluster|ClusterTorus|ClusterFatTree|ClusterDragonfly) #REQUIRED>
100 <!ELEMENT zone ((prop*), ((AS|zone|ASroute|zoneRoute|include|storage_type|storage|link|backbone|cabinet|router|host|cluster|peer|host_link)*,(route|ASroute|zoneRoute|trace|trace_connect|bypassRoute|bypassASroute|bypassZoneRoute)*))>
101 <!ATTLIST zone id CDATA #REQUIRED>
102 <!ATTLIST zone routing (Full|Floyd|Dijkstra|DijkstraCache|None|Vivaldi|Cluster|ClusterTorus|ClusterFatTree|ClusterDragonfly) #REQUIRED>
104 <!ELEMENT storage_type ((model_prop|prop)*)>
105 <!ATTLIST storage_type id CDATA #REQUIRED>
106 <!ATTLIST storage_type model CDATA #REQUIRED>
107 <!ATTLIST storage_type size CDATA #REQUIRED>
108 <!ATTLIST storage_type content CDATA "">
109 <!ATTLIST storage_type content_type CDATA "txt_unix">
111 <!ELEMENT mount EMPTY>
112 <!ATTLIST mount storageId CDATA #REQUIRED>
113 <!ATTLIST mount name CDATA #REQUIRED>
115 <!ELEMENT host (prop|mount)*>
116 <!ATTLIST host id CDATA #REQUIRED>
117 <!ATTLIST host speed CDATA #REQUIRED>
118 <!ATTLIST host core CDATA "1">
119 <!ATTLIST host availability_file CDATA "">
120 <!ATTLIST host state_file CDATA "">
121 <!ATTLIST host coordinates CDATA "">
122 <!ATTLIST host pstate CDATA "0.0">
124 <!ELEMENT storage (prop*)>
125 <!ATTLIST storage id CDATA #REQUIRED>
126 <!ATTLIST storage typeId CDATA #REQUIRED>
127 <!ATTLIST storage content CDATA "">
128 <!ATTLIST storage content_type CDATA "txt_unix">
129 <!ATTLIST storage attach CDATA #REQUIRED>
131 <!ELEMENT host_link EMPTY>
132 <!ATTLIST host_link id CDATA #REQUIRED>
133 <!ATTLIST host_link up CDATA #REQUIRED>
134 <!ATTLIST host_link down CDATA #REQUIRED>
136 <!ELEMENT cluster (prop*)>
137 <!ATTLIST cluster id CDATA #REQUIRED>
138 <!ATTLIST cluster prefix CDATA #REQUIRED>
139 <!ATTLIST cluster suffix CDATA #REQUIRED>
140 <!ATTLIST cluster radical CDATA #REQUIRED>
141 <!ATTLIST cluster speed CDATA #REQUIRED>
142 <!ATTLIST cluster core CDATA "1">
143 <!ATTLIST cluster bw CDATA #REQUIRED>
144 <!ATTLIST cluster lat CDATA #REQUIRED>
145 <!ATTLIST cluster sharing_policy (SHARED|FULLDUPLEX|FATPIPE) "FULLDUPLEX">
146 <!ATTLIST cluster topology (FLAT|TORUS|FAT_TREE|DRAGONFLY) "FLAT">
147 <!ATTLIST cluster topo_parameters CDATA "">
148 <!ATTLIST cluster bb_bw CDATA "">
149 <!ATTLIST cluster bb_lat CDATA "0s">
150 <!ATTLIST cluster bb_sharing_policy (SHARED|FATPIPE) "SHARED">
151 <!ATTLIST cluster router_id CDATA "">
152 <!ATTLIST cluster limiter_link CDATA "">
153 <!ATTLIST cluster loopback_bw CDATA "">
154 <!ATTLIST cluster loopback_lat CDATA "">
156 <!ELEMENT cabinet EMPTY>
157 <!ATTLIST cabinet id CDATA #REQUIRED>
158 <!ATTLIST cabinet prefix CDATA #REQUIRED>
159 <!ATTLIST cabinet suffix CDATA #REQUIRED>
160 <!ATTLIST cabinet radical CDATA #REQUIRED>
161 <!ATTLIST cabinet speed CDATA #REQUIRED>
162 <!ATTLIST cabinet bw CDATA #REQUIRED>
163 <!ATTLIST cabinet lat CDATA #REQUIRED>
165 <!ELEMENT peer EMPTY>
166 <!ATTLIST peer id CDATA #REQUIRED>
167 <!ATTLIST peer speed CDATA #REQUIRED>
168 <!ATTLIST peer bw_in CDATA #REQUIRED>
169 <!ATTLIST peer bw_out CDATA #REQUIRED>
170 <!ATTLIST peer lat CDATA "0">
171 <!ATTLIST peer coordinates CDATA "">
172 <!ATTLIST peer availability_file CDATA "">
173 <!ATTLIST peer state_file CDATA "">
175 <!ELEMENT router EMPTY>
176 <!ATTLIST router id CDATA #REQUIRED>
177 <!ATTLIST router coordinates CDATA "">
179 <!ELEMENT backbone EMPTY>
180 <!ATTLIST backbone id CDATA #REQUIRED>
181 <!ATTLIST backbone bandwidth CDATA #REQUIRED>
182 <!ATTLIST backbone latency CDATA #REQUIRED>
184 <!ELEMENT link (prop*)>
185 <!ATTLIST link id CDATA #REQUIRED>
186 <!ATTLIST link bandwidth CDATA #REQUIRED>
187 <!ATTLIST link bandwidth_file CDATA "">
188 <!ATTLIST link latency CDATA "0">
189 <!ATTLIST link latency_file CDATA "">
190 <!ATTLIST link state_file CDATA "">
191 <!ATTLIST link sharing_policy (SHARED|FATPIPE|FULLDUPLEX) "SHARED">
193 <!ELEMENT route (link_ctn*)>
194 <!ATTLIST route src CDATA #REQUIRED>
195 <!ATTLIST route dst CDATA #REQUIRED>
196 <!ATTLIST route symmetrical (YES|NO) "YES">
198 <!ELEMENT ASroute (link_ctn*)>
199 <!ATTLIST ASroute src CDATA #REQUIRED>
200 <!ATTLIST ASroute dst CDATA #REQUIRED>
201 <!ATTLIST ASroute gw_src CDATA #REQUIRED>
202 <!ATTLIST ASroute gw_dst CDATA #REQUIRED>
203 <!ATTLIST ASroute symmetrical (YES|NO) "YES">
205 <!ELEMENT zoneRoute (link_ctn*)>
206 <!ATTLIST zoneRoute src CDATA #REQUIRED>
207 <!ATTLIST zoneRoute dst CDATA #REQUIRED>
208 <!ATTLIST zoneRoute gw_src CDATA #REQUIRED>
209 <!ATTLIST zoneRoute gw_dst CDATA #REQUIRED>
210 <!ATTLIST zoneRoute symmetrical (YES|NO) "YES">
212 <!ELEMENT link_ctn EMPTY>
213 <!ATTLIST link_ctn id CDATA #REQUIRED>
214 <!ATTLIST link_ctn direction (UP|DOWN|NONE) "NONE">
216 <!ELEMENT bypassRoute (link_ctn*)>
217 <!ATTLIST bypassRoute src CDATA #REQUIRED>
218 <!ATTLIST bypassRoute dst CDATA #REQUIRED>
220 <!ELEMENT bypassASroute (link_ctn*)>
221 <!ATTLIST bypassASroute src CDATA #REQUIRED>
222 <!ATTLIST bypassASroute dst CDATA #REQUIRED>
223 <!ATTLIST bypassASroute gw_src CDATA #REQUIRED>
224 <!ATTLIST bypassASroute gw_dst CDATA #REQUIRED>
226 <!ELEMENT bypassZoneRoute (link_ctn*)>
227 <!ATTLIST bypassZoneRoute src CDATA #REQUIRED>
228 <!ATTLIST bypassZoneRoute dst CDATA #REQUIRED>
229 <!ATTLIST bypassZoneRoute gw_src CDATA #REQUIRED>
230 <!ATTLIST bypassZoneRoute gw_dst CDATA #REQUIRED>
232 <!ELEMENT process ((argument|prop)*)>
233 <!ATTLIST process host CDATA #REQUIRED>
234 <!ATTLIST process function CDATA #REQUIRED>
235 <!ATTLIST process start_time CDATA "-1.0">
236 <!ATTLIST process kill_time CDATA "-1.0">
237 <!ATTLIST process on_failure (DIE|RESTART) "DIE">
239 <!ELEMENT actor ((argument|prop)*)>
240 <!ATTLIST actor host CDATA #REQUIRED>
241 <!ATTLIST actor function CDATA #REQUIRED>
242 <!ATTLIST actor start_time CDATA "-1.0">
243 <!ATTLIST actor kill_time CDATA "-1.0">
244 <!ATTLIST actor on_failure (DIE|RESTART) "DIE">
246 <!ELEMENT argument EMPTY>
247 <!ATTLIST argument value CDATA #REQUIRED>
249 <!ELEMENT config (prop*)>
250 <!ATTLIST config id CDATA "">
252 <!ELEMENT prop EMPTY>
253 <!ATTLIST prop id CDATA #REQUIRED> <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
254 <!ATTLIST prop value CDATA #REQUIRED>
256 <!ELEMENT model_prop EMPTY>
257 <!ATTLIST model_prop id CDATA #REQUIRED> <!-- <!ATTLIST model_prop key CDATA #REQUIRED> -->
258 <!ATTLIST model_prop value CDATA #REQUIRED>