Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
- Update xml DTD to handle WIFI sharing policy
[simgrid.git] / src / surf / xml / simgrid.dtd
index f352bde..c8b3b48 100644 (file)
@@ -1,27 +1,54 @@
-<!-- 
+<!--
              DTD of SimGrid platform and deployment files.
 
-More info: http://simgrid.gforge.inria.fr/simgrid/latest/doc/platform.html
+More info: https://simgrid.org/doc/latest/platform.html
 To upgrade your files, use the tool simgrid_update_xml
 
+* Things that will change in upcoming version 5 (TODO):
+  - The following tags will be removed:
+    - <include> spits an error since v3.18
+    - <random> does nothing since a very long time
+    - <as>, <asroute>, <bypassZoneRoute> and <process>, deprecated in DTD4.1
+  - FULLDUPLEX sharing will be removed, deprecated in DTD4.2 (v3.19)
+
+* New in DTD version 4.1 (in SimGrid 3.16): backward compatible change (v4 files are valid v4.1 files)
+   - <zone> can be used as a synonym for the now deprecated <as>
+   - <zoneRoute> can be used as a synonym for the now deprecated <asroute>
+   - <bypassZoneRoute> an be used as a synonym for the now deprecated <bypassAsRoute>
+   - <actor> can be used as a synonym for the now deprecated <process>
+  Other backward-compatible changes for which we did not bump the DTD version.
+  - SPLITDUPLEX is the new spelling of the deprecated FULLDUPLEX (SimGrid v3.19)
+  - In <host> and <peer> availability_file is now speed_file (SimGrid v3.22)
+
 * New in DTD version 4 (in SimGrid 3.13):
    - Rename (power->speed) the attributes describing the amount of flop
      that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
 
    - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
 
-   - The DOCTYPE points to the right URL (this file):
-     http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
+   - In <host> and <link>, attributes availability and state are gone.
+     It was redundant with state and availability profiles, and with peak values.
+
+   - In <cluster>, cannot set the availability nor state profiles.
+     This was too complex and unused.
+
+   - The DOCTYPE points to the right URL (this file).
 
-   - A warning is emited for unit-less values (they are still accepted).
+   - Kill <gpu>. Was not doing anything.
+
+   - A warning is emitted for unit-less values (they are still accepted).
+     The value 0 can remain unit-less, as its unit does not matter.
 
      - speed. Default: 'f' or 'flops'. Also defined:
         'Yf',         'Zf',         'Ef',       'Pf',        'Tf',        'Gf',        'Mf',        'kf'
         'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
 
-     - bandwidth. Default: 'Bps' bytes per second (or 'bps' for bits but 1 Bps = 8 bps)
-       Also defined in bytes: 'TiBps', 'GiBps', 'MiBps', 'KiBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
-       And the same in bits:  'Tibps', 'Gibps', 'Mibps', 'Kibps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
+     - bandwidth. Default: 'Bps' bytes per second
+       In bytes and powers of 2  (1 KiBps = 1024 Bps): 'EiBps', 'PiBps', 'TiBps', 'GiBps', 'MiBps', 'KiBps'
+       In bits  and powers of 2  (1 Bps = 8 bps)     : 'Eibps', 'Pibps', 'Tibps', 'Gibps', 'Mibps', 'Kibps'
+       In bytes and powers of 10 (1 KBps = 1000 Bps) : 'EBps', 'PBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
+       In bits  and powers of 10                     : 'Ebps', 'Pbps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
+       (Exa and Peta notations were introduced in SimGrid v3.14)
 
      - latency. Default: 's' second. Also defined:
        'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
@@ -43,16 +70,17 @@ To upgrade your files, use the tool simgrid_update_xml
 
 * New in DTD version 1 (in SimGrid 3.3):
    - DTD is now versionned with the version attribute of platform
-   - Unit change: 
+   - Unit change:
      - Link bandwidth: from Mb/s to b/s
      - CPU speed: from MFlop/s to Flop/s
 
 -->
 
-<!ELEMENT platform ((config|random)*,(include|cluster|cabinet|peer|AS|trace|trace_connect)*,(process)*)>
+<!ELEMENT platform ((config|random)*,(include|cluster|cabinet|peer|AS|zone|trace|trace_connect)*,(process|actor)*)>
 <!ATTLIST platform version CDATA "0.0">
 
-<!ELEMENT include (include|cluster|cabinet|peer|AS|trace|trace_connect)*>
+<!-- tag include is deprecated. Not documented, and removed in v3.22 -->
+<!ELEMENT include (include|cluster|cabinet|peer|AS|zone|trace|trace_connect)*>
 <!ATTLIST include file CDATA #REQUIRED>
 
 <!ELEMENT trace (#PCDATA)>
@@ -75,32 +103,44 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST trace_connect trace CDATA #REQUIRED>
 <!ATTLIST trace_connect element CDATA #REQUIRED>
 
-<!ELEMENT AS ((prop*), ((AS|ASroute|include|storage_type|storage|link|backbone|cabinet|router|host|gpu|cluster|peer|host_link)*,(route|ASroute|trace|trace_connect|bypassRoute|bypassASroute)*))>
+<!-- A zone is either an internal node that contains other zones, 
+     or a  leaf containing hosts and other leaf-like elements -->
+<!ELEMENT AS ((prop*),
+          (((AS|zone|include|link|backbone|cabinet|cluster|peer|trace|trace_connect)*,
+           (zoneRoute|ASroute|trace|trace_connect|bypassASroute|bypassZoneRoute)*,
+           (trace|trace_connect)*)
+          |((include|storage_type|storage|host|cabinet|router|link|backbone|trace|trace_connect|host_link)*,
+            (route|trace|trace_connect|bypassRoute)*)))>
 <!ATTLIST AS id CDATA #REQUIRED>
-<!ATTLIST AS routing (Full|Floyd|Dijkstra|DijkstraCache|None|Vivaldi|Cluster|ClusterTorus|ClusterFatTree) #REQUIRED>
+<!ATTLIST AS routing (Full|Floyd|Dijkstra|DijkstraCache|None|Vivaldi|Cluster|ClusterTorus|ClusterFatTree|ClusterDragonfly) #REQUIRED>
+
+<!-- A zone is either an internal node that contains other zones, 
+     or a  leaf containing hosts and other leaf-like elements -->
+<!ELEMENT zone ((prop*),
+          (((AS|zone|include|link|backbone|cluster|peer|trace|trace_connect)*,
+            (zoneRoute|ASroute|trace|trace_connect|bypassASroute|bypassZoneRoute)*,
+           (trace|trace_connect)*)
+          |((include|storage_type|storage|host|cabinet|router|link|backbone|trace|trace_connect|host_link)*,
+            (route|trace|trace_connect|bypassRoute)*)))>
+<!ATTLIST zone id CDATA #REQUIRED>
+<!ATTLIST zone routing (Full|Floyd|Dijkstra|DijkstraCache|None|Vivaldi|Cluster|ClusterTorus|ClusterFatTree|ClusterDragonfly) #REQUIRED>
 
 <!ELEMENT storage_type ((model_prop|prop)*)>
 <!ATTLIST storage_type id       CDATA #REQUIRED>
-<!ATTLIST storage_type model    CDATA #REQUIRED>
+<!ATTLIST storage_type model    CDATA "N11">
 <!ATTLIST storage_type size     CDATA #REQUIRED>
 <!ATTLIST storage_type content  CDATA "">
-<!ATTLIST storage_type content_type  CDATA "txt_unix">
 
 <!ELEMENT mount EMPTY>
 <!ATTLIST mount storageId CDATA #REQUIRED>
 <!ATTLIST mount name CDATA #REQUIRED>
 
-<!ELEMENT mstorage EMPTY>
-<!ATTLIST mstorage typeId CDATA #REQUIRED>
-<!ATTLIST mstorage name CDATA #REQUIRED>
-
-<!ELEMENT host (prop|mount|mstorage)*>
+<!ELEMENT host (prop|mount)*>
 <!ATTLIST host id CDATA #REQUIRED>
 <!ATTLIST host speed CDATA #REQUIRED>
 <!ATTLIST host core  CDATA "1">
-<!ATTLIST host availability CDATA "1.0">
-<!ATTLIST host availability_file CDATA "">
-<!ATTLIST host state (ON|OFF) "ON">
+<!ATTLIST host speed_file CDATA "">
+<!ATTLIST host availability_file CDATA ""> <!-- deprecated -->
 <!ATTLIST host state_file CDATA "">
 <!ATTLIST host coordinates  CDATA "">
 <!ATTLIST host pstate CDATA "0.0">
@@ -109,12 +149,8 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST storage id CDATA #REQUIRED>
 <!ATTLIST storage typeId CDATA #REQUIRED>
 <!ATTLIST storage content  CDATA "">
-<!ATTLIST storage content_type  CDATA "txt_unix">
 <!ATTLIST storage attach CDATA #REQUIRED>
 
-<!ELEMENT gpu EMPTY>
-<!ATTLIST gpu name CDATA #REQUIRED>
-
 <!ELEMENT host_link EMPTY>
 <!ATTLIST host_link id CDATA #REQUIRED>
 <!ATTLIST host_link up CDATA #REQUIRED>
@@ -129,14 +165,12 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST cluster core CDATA "1">
 <!ATTLIST cluster bw CDATA #REQUIRED>
 <!ATTLIST cluster lat CDATA #REQUIRED>
-<!ATTLIST cluster sharing_policy (SHARED|FULLDUPLEX|FATPIPE) "FULLDUPLEX">
-<!ATTLIST cluster topology (FLAT|TORUS|FAT_TREE) "FLAT">
+<!ATTLIST cluster sharing_policy (SHARED|SPLITDUPLEX|FULLDUPLEX|FATPIPE) "SPLITDUPLEX">
+<!ATTLIST cluster topology (FLAT|TORUS|FAT_TREE|DRAGONFLY) "FLAT">
 <!ATTLIST cluster topo_parameters CDATA "">
 <!ATTLIST cluster bb_bw CDATA "">
 <!ATTLIST cluster bb_lat CDATA "0s">
 <!ATTLIST cluster bb_sharing_policy (SHARED|FATPIPE) "SHARED">
-<!ATTLIST cluster availability_file CDATA "">
-<!ATTLIST cluster state_file CDATA "">
 <!ATTLIST cluster router_id CDATA "">
 <!ATTLIST cluster limiter_link CDATA "">
 <!ATTLIST cluster loopback_bw CDATA "">
@@ -156,9 +190,10 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST peer speed CDATA #REQUIRED>
 <!ATTLIST peer bw_in CDATA #REQUIRED>
 <!ATTLIST peer bw_out CDATA #REQUIRED>
-<!ATTLIST peer lat CDATA #REQUIRED>
+<!ATTLIST peer lat CDATA "0">
 <!ATTLIST peer coordinates CDATA "">
-<!ATTLIST peer availability_file CDATA "">
+<!ATTLIST peer speed_file CDATA ""> 
+<!ATTLIST peer availability_file CDATA ""> <!-- deprecated -->
 <!ATTLIST peer state_file CDATA "">
 
 <!ELEMENT router EMPTY>
@@ -176,21 +211,27 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST link bandwidth_file CDATA "">
 <!ATTLIST link latency CDATA "0">
 <!ATTLIST link latency_file CDATA "">
-<!ATTLIST link state (ON|OFF) "ON">
 <!ATTLIST link state_file CDATA "">
-<!ATTLIST link sharing_policy (SHARED|FATPIPE|FULLDUPLEX) "SHARED">
+<!ATTLIST link sharing_policy (SHARED|SPLITDUPLEX|FULLDUPLEX|FATPIPE|WIFI) "SHARED">
 
 <!ELEMENT route (link_ctn*)>
 <!ATTLIST route src CDATA #REQUIRED>
 <!ATTLIST route dst CDATA #REQUIRED>
-<!ATTLIST route symmetrical (YES|NO) "YES">
+<!ATTLIST route symmetrical (YES|NO|yes|no) "YES">
 
 <!ELEMENT ASroute (link_ctn*)>
 <!ATTLIST ASroute src CDATA #REQUIRED>
 <!ATTLIST ASroute dst CDATA #REQUIRED>
 <!ATTLIST ASroute gw_src CDATA #REQUIRED>
 <!ATTLIST ASroute gw_dst CDATA #REQUIRED>
-<!ATTLIST ASroute symmetrical (YES|NO) "YES">
+<!ATTLIST ASroute symmetrical (YES|NO|yes|no) "YES">
+
+<!ELEMENT zoneRoute (link_ctn*)>
+<!ATTLIST zoneRoute src CDATA #REQUIRED>
+<!ATTLIST zoneRoute dst CDATA #REQUIRED>
+<!ATTLIST zoneRoute gw_src CDATA #REQUIRED>
+<!ATTLIST zoneRoute gw_dst CDATA #REQUIRED>
+<!ATTLIST zoneRoute symmetrical (YES|NO|yes|no) "YES">
 
 <!ELEMENT link_ctn EMPTY>
 <!ATTLIST link_ctn id CDATA #REQUIRED>
@@ -206,6 +247,12 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST bypassASroute gw_src CDATA #REQUIRED>
 <!ATTLIST bypassASroute gw_dst CDATA #REQUIRED>
 
+<!ELEMENT bypassZoneRoute (link_ctn*)>
+<!ATTLIST bypassZoneRoute src CDATA #REQUIRED>
+<!ATTLIST bypassZoneRoute dst CDATA #REQUIRED>
+<!ATTLIST bypassZoneRoute gw_src CDATA #REQUIRED>
+<!ATTLIST bypassZoneRoute gw_dst CDATA #REQUIRED>
+
 <!ELEMENT process ((argument|prop)*)>
 <!ATTLIST process host CDATA #REQUIRED>
 <!ATTLIST process function CDATA #REQUIRED>
@@ -213,6 +260,13 @@ To upgrade your files, use the tool simgrid_update_xml
 <!ATTLIST process kill_time CDATA "-1.0">
 <!ATTLIST process on_failure (DIE|RESTART) "DIE">
 
+<!ELEMENT actor ((argument|prop)*)>
+<!ATTLIST actor host CDATA #REQUIRED>
+<!ATTLIST actor function CDATA #REQUIRED>
+<!ATTLIST actor start_time CDATA "-1.0">
+<!ATTLIST actor kill_time CDATA "-1.0">
+<!ATTLIST actor on_failure (DIE|RESTART) "DIE">
+
 <!ELEMENT argument EMPTY>
 <!ATTLIST argument value CDATA #REQUIRED>