Logo AND Algorithmique Numérique Distribuée

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