Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make attribute 'model' of <storage_type> optional: for future usage
authorMartin Quinson <martin.quinson@loria.fr>
Mon, 22 May 2017 21:12:53 +0000 (23:12 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Mon, 22 May 2017 21:12:53 +0000 (23:12 +0200)
ChangeLog
doc/doxygen/platform.doc
examples/platforms/storage/remote_io.xml
examples/platforms/storage/storage.xml
src/surf/xml/simgrid.dtd
src/surf/xml/simgrid_dtd.c

index 8ab07b0..444bfc2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,7 +13,8 @@ SimGrid (3.16) UNRELEASED
    - state_file and avail_file periodicity is now easier to express
      (check the documentation) the old behavior should still work.
  * Storage: not backward compatible, but it seems that nobody ever used it
    - state_file and avail_file periodicity is now easier to express
      (check the documentation) the old behavior should still work.
  * Storage: not backward compatible, but it seems that nobody ever used it
-   - Remove attribute content_type of <storage_type>: was never used
+   - Remove attribute 'content_type' of <storage_type>: was never used
+   - Make attribute 'model' of <storage_type> optional: for future usage
 
  SimDag
   - New and Backwards Compatibility break: 
 
  SimDag
   - New and Backwards Compatibility break: 
index 7b34304..1ef202b 100644 (file)
@@ -682,7 +682,7 @@ these might also help you to get started.
 Attribute name  | Mandatory | Values | Description
 --------------- | --------- | ------ | -----------
 id              | yes       | string | Identifier of this storage_type; used when referring to it
 Attribute name  | Mandatory | Values | Description
 --------------- | --------- | ------ | -----------
 id              | yes       | string | Identifier of this storage_type; used when referring to it
-model           | yes       | string | For reasons of future backwards compatibility only; specifies the name of the model for the storage that should be used
+model           | no        | string | In the future, this will allow to change the performance model to use
 size            | yes       | string | Specifies the amount of available storage space; you can specify storage like "500GiB" or "500GB" if you want. (TODO add a link to all the available abbreviations)
 content         | yes       | string | Path to a \ref pf_storage_content_file "Storage Content File" on your system. This file must exist.
 
 size            | yes       | string | Specifies the amount of available storage space; you can specify storage like "500GiB" or "500GB" if you want. (TODO add a link to all the available abbreviations)
 content         | yes       | string | Path to a \ref pf_storage_content_file "Storage Content File" on your system. This file must exist.
 
@@ -693,7 +693,6 @@ Property id     | Mandatory | Values | Description
 --------------- | --------- | ------ | -----------
 Bwrite          | yes       | string | Bandwidth for write access; in B/s (but you can also specify e.g. "30MBps")
 Bread           | yes       | string | Bandwidth for read access; in B/s (but you can also specify e.g. "30MBps")
 --------------- | --------- | ------ | -----------
 Bwrite          | yes       | string | Bandwidth for write access; in B/s (but you can also specify e.g. "30MBps")
 Bread           | yes       | string | Bandwidth for read access; in B/s (but you can also specify e.g. "30MBps")
-Bconnexion      | yes       | string | Throughput (of the storage connector) in B/s.
 
 \note
      A storage_type can also contain the <b>&lt;prop&gt;</b> tag. The &lt;prop&gt; tag allows you
 
 \note
      A storage_type can also contain the <b>&lt;prop&gt;</b> tag. The &lt;prop&gt; tag allows you
@@ -703,10 +702,9 @@ Bconnexion      | yes       | string | Throughput (of the storage connector) in
 
 Here is a complete example for the ``storage_type`` tag:
 \verbatim
 
 Here is a complete example for the ``storage_type`` tag:
 \verbatim
-<storage_type id="single_HDD" model="linear_no_lat" size="4000">
+<storage_type id="single_HDD" size="4000">
   <model_prop id="Bwrite" value="30MBps" />
   <model_prop id="Bread" value="100MBps" />
   <model_prop id="Bwrite" value="30MBps" />
   <model_prop id="Bread" value="100MBps" />
-  <model_prop id="Bconnection" value="150MBps" />
   <prop id="Brand" value="Western Digital" />
 </storage_type>
 \endverbatim
   <prop id="Brand" value="Western Digital" />
 </storage_type>
 \endverbatim
@@ -751,10 +749,9 @@ is; this location is specified by the ``name`` attribute.
 Here is a simple example, taken from the file ``examples/platform/storage.xml``:
 
 \verbatim
 Here is a simple example, taken from the file ``examples/platform/storage.xml``:
 
 \verbatim
-    <storage_type id="single_SSD" model="linear_no_lat" size="500GiB">
+    <storage_type id="single_SSD" size="500GiB">
        <model_prop id="Bwrite" value="60MBps" />
        <model_prop id="Bread" value="200MBps" />
        <model_prop id="Bwrite" value="60MBps" />
        <model_prop id="Bread" value="200MBps" />
-       <model_prop id="Bconnection" value="220MBps" />
     </storage_type>
 
     <storage id="Disk2" typeId="single_SSD"
     </storage_type>
 
     <storage id="Disk2" typeId="single_SSD"
index 4400e6c..069fdf9 100644 (file)
@@ -6,8 +6,7 @@
   </config>
 
   <zone id="AS0" routing="Full">
   </config>
 
   <zone id="AS0" routing="Full">
-    <storage_type id="SATA-II_HDD" size="500GB" model="linear_no_lat"
-                  content="content/small_content.txt">
+    <storage_type id="SATA-II_HDD" size="500GB" content="content/small_content.txt">
       <model_prop id="Bread" value="92MBps"/> 
       <model_prop id="Bwrite" value="62MBps"/> 
       <model_prop id="Bconnection" value="122MBps"/> 
       <model_prop id="Bread" value="92MBps"/> 
       <model_prop id="Bwrite" value="62MBps"/> 
       <model_prop id="Bconnection" value="122MBps"/> 
index 4ea5547..9d1fa4f 100644 (file)
@@ -6,15 +6,13 @@
   </config>
 
   <zone id="AS0" routing="Full">
   </config>
 
   <zone id="AS0" routing="Full">
-    <storage_type id="single_HDD" size="500GiB" model="linear_no_lat" 
-                  content="content/storage_content.txt">
+    <storage_type id="single_HDD" size="500GiB" content="content/storage_content.txt">
       <model_prop id="Bwrite" value="30MBps" />
       <model_prop id="Bread" value="100MBps" />
       <model_prop id="Bconnection" value="120MBps" />
     </storage_type>
 
       <model_prop id="Bwrite" value="30MBps" />
       <model_prop id="Bread" value="100MBps" />
       <model_prop id="Bconnection" value="120MBps" />
     </storage_type>
 
-    <storage_type id="single_SSD" size="500GiB" model="linear_no_lat"
-                  content="content/storage_content.txt">
+    <storage_type id="single_SSD" size="500GiB" content="content/storage_content.txt">
       <model_prop id="Bwrite" value="60MBps" />
       <model_prop id="Bread" value="200MBps" />
       <model_prop id="Bconnection" value="220MBps" />
       <model_prop id="Bwrite" value="60MBps" />
       <model_prop id="Bread" value="200MBps" />
       <model_prop id="Bconnection" value="220MBps" />
index 8c88a52..f69ea36 100644 (file)
@@ -103,7 +103,7 @@ To upgrade your files, use the tool simgrid_update_xml
 
 <!ELEMENT storage_type ((model_prop|prop)*)>
 <!ATTLIST storage_type id       CDATA #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 size     CDATA #REQUIRED>
 <!ATTLIST storage_type content  CDATA "">
 
index 0f7c2c4..2559f21 100644 (file)
@@ -5993,6 +5993,7 @@ YY_DECL
   bnext = inext = 1;
   surfxml_bufferliteral('\0', &bnext, "0.0");
   surfxml_bufferliteral('\0', &bnext, "2147483647");
   bnext = inext = 1;
   surfxml_bufferliteral('\0', &bnext, "0.0");
   surfxml_bufferliteral('\0', &bnext, "2147483647");
+  surfxml_bufferliteral('\0', &bnext, "N11");
   surfxml_bufferliteral('\0', &bnext, "1");
   surfxml_bufferliteral('\0', &bnext, "0.0");
   surfxml_bufferliteral('\0', &bnext, "1");
   surfxml_bufferliteral('\0', &bnext, "1");
   surfxml_bufferliteral('\0', &bnext, "0.0");
   surfxml_bufferliteral('\0', &bnext, "1");
@@ -6552,10 +6553,10 @@ YY_RULE_SETUP
   if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
   LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
   switch (YY_START) {
   if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
   LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
   switch (YY_START) {
-   case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
-   case S_surfxml_AS: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
-   case S_surfxml_zone_1: case S_surfxml_zone_5: case S_surfxml_zone_6: SET(S_surfxml_zone_6); break;
-   case S_surfxml_zone: case S_surfxml_zone_3: case S_surfxml_zone_4: case S_surfxml_zone_7: case S_surfxml_zone_8: SET(S_surfxml_zone_8); break;
+   case S_surfxml_AS: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+   case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
+   case S_surfxml_zone_5: SET(S_surfxml_zone_6); break;
+   case S_surfxml_zone: case S_surfxml_zone_1: case S_surfxml_zone_3: case S_surfxml_zone_4: case S_surfxml_zone_6: case S_surfxml_zone_7: case S_surfxml_zone_8: SET(S_surfxml_zone_8); break;
   }
  }
        YY_BREAK
   }
  }
        YY_BREAK
@@ -6579,10 +6580,10 @@ YY_RULE_SETUP
   ETag_surfxml_ASroute();
   popbuffer(); /* attribute */
   switch (YY_START) {
   ETag_surfxml_ASroute();
   popbuffer(); /* attribute */
   switch (YY_START) {
-   case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
-   case S_surfxml_AS: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
-   case S_surfxml_zone_1: case S_surfxml_zone_5: case S_surfxml_zone_6: SET(S_surfxml_zone_6); break;
-   case S_surfxml_zone: case S_surfxml_zone_3: case S_surfxml_zone_4: case S_surfxml_zone_7: case S_surfxml_zone_8: SET(S_surfxml_zone_8); break;
+   case S_surfxml_AS: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+   case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
+   case S_surfxml_zone_5: SET(S_surfxml_zone_6); break;
+   case S_surfxml_zone: case S_surfxml_zone_1: case S_surfxml_zone_3: case S_surfxml_zone_4: case S_surfxml_zone_6: case S_surfxml_zone_7: case S_surfxml_zone_8: SET(S_surfxml_zone_8); break;
   }
  }
        YY_BREAK
   }
  }
        YY_BREAK
@@ -6614,11 +6615,11 @@ YY_RULE_SETUP
   surfxml_actor_function_isset = 0;
   AX_surfxml_actor_host = 0;
   surfxml_actor_host_isset = 0;
   surfxml_actor_function_isset = 0;
   AX_surfxml_actor_host = 0;
   surfxml_actor_host_isset = 0;
-  AX_surfxml_actor_kill___time = 42;
+  AX_surfxml_actor_kill___time = 46;
   surfxml_actor_kill___time_isset = 0;
   AX_surfxml_actor_on___failure = A_surfxml_actor_on___failure_DIE;
   surfxml_actor_on___failure_isset = 0;
   surfxml_actor_kill___time_isset = 0;
   AX_surfxml_actor_on___failure = A_surfxml_actor_on___failure_DIE;
   surfxml_actor_on___failure_isset = 0;
-  AX_surfxml_actor_start___time = 37;
+  AX_surfxml_actor_start___time = 41;
   surfxml_actor_start___time_isset = 0;
   ENTER(AL_surfxml_actor); pushbuffer(0);
   }
   surfxml_actor_start___time_isset = 0;
   ENTER(AL_surfxml_actor); pushbuffer(0);
   }
@@ -7453,13 +7454,13 @@ YY_RULE_SETUP
 {
   AX_surfxml_cluster_bb___bw = 0;
   surfxml_cluster_bb___bw_isset = 0;
 {
   AX_surfxml_cluster_bb___bw = 0;
   surfxml_cluster_bb___bw_isset = 0;
-  AX_surfxml_cluster_bb___lat = 24;
+  AX_surfxml_cluster_bb___lat = 28;
   surfxml_cluster_bb___lat_isset = 0;
   AX_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
   surfxml_cluster_bb___sharing___policy_isset = 0;
   AX_surfxml_cluster_bw = 0;
   surfxml_cluster_bw_isset = 0;
   surfxml_cluster_bb___lat_isset = 0;
   AX_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
   surfxml_cluster_bb___sharing___policy_isset = 0;
   AX_surfxml_cluster_bw = 0;
   surfxml_cluster_bw_isset = 0;
-  AX_surfxml_cluster_core = 22;
+  AX_surfxml_cluster_core = 26;
   surfxml_cluster_core_isset = 0;
   AX_surfxml_cluster_id = 0;
   surfxml_cluster_id_isset = 0;
   surfxml_cluster_core_isset = 0;
   AX_surfxml_cluster_id = 0;
   surfxml_cluster_id_isset = 0;
@@ -7870,11 +7871,11 @@ YY_RULE_SETUP
   surfxml_host_availability___file_isset = 0;
   AX_surfxml_host_coordinates = 0;
   surfxml_host_coordinates_isset = 0;
   surfxml_host_availability___file_isset = 0;
   AX_surfxml_host_coordinates = 0;
   surfxml_host_coordinates_isset = 0;
-  AX_surfxml_host_core = 16;
+  AX_surfxml_host_core = 20;
   surfxml_host_core_isset = 0;
   AX_surfxml_host_id = 0;
   surfxml_host_id_isset = 0;
   surfxml_host_core_isset = 0;
   AX_surfxml_host_id = 0;
   surfxml_host_id_isset = 0;
-  AX_surfxml_host_pstate = 18;
+  AX_surfxml_host_pstate = 22;
   surfxml_host_pstate_isset = 0;
   AX_surfxml_host_speed = 0;
   surfxml_host_speed_isset = 0;
   surfxml_host_pstate_isset = 0;
   AX_surfxml_host_speed = 0;
   surfxml_host_speed_isset = 0;
@@ -9004,11 +9005,11 @@ YY_RULE_SETUP
   surfxml_process_function_isset = 0;
   AX_surfxml_process_host = 0;
   surfxml_process_host_isset = 0;
   surfxml_process_function_isset = 0;
   AX_surfxml_process_host = 0;
   surfxml_process_host_isset = 0;
-  AX_surfxml_process_kill___time = 32;
+  AX_surfxml_process_kill___time = 36;
   surfxml_process_kill___time_isset = 0;
   AX_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
   surfxml_process_on___failure_isset = 0;
   surfxml_process_kill___time_isset = 0;
   AX_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
   surfxml_process_on___failure_isset = 0;
-  AX_surfxml_process_start___time = 27;
+  AX_surfxml_process_start___time = 31;
   surfxml_process_start___time_isset = 0;
   ENTER(AL_surfxml_process); pushbuffer(0);
   }
   surfxml_process_start___time_isset = 0;
   ENTER(AL_surfxml_process); pushbuffer(0);
   }
@@ -9770,7 +9771,7 @@ YY_RULE_SETUP
   surfxml_storage___type_content_isset = 0;
   AX_surfxml_storage___type_id = 0;
   surfxml_storage___type_id_isset = 0;
   surfxml_storage___type_content_isset = 0;
   AX_surfxml_storage___type_id = 0;
   surfxml_storage___type_id_isset = 0;
-  AX_surfxml_storage___type_model = 0;
+  AX_surfxml_storage___type_model = 16;
   surfxml_storage___type_model_isset = 0;
   AX_surfxml_storage___type_size = 0;
   surfxml_storage___type_size_isset = 0;
   surfxml_storage___type_model_isset = 0;
   AX_surfxml_storage___type_size = 0;
   surfxml_storage___type_size_isset = 0;
@@ -9822,7 +9823,6 @@ case 530:
 YY_RULE_SETUP
 {
   if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
 YY_RULE_SETUP
 {
   if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
-  if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
   if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
   LEAVE; STag_surfxml_storage___type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage___type);
  }
   if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
   LEAVE; STag_surfxml_storage___type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage___type);
  }
@@ -9831,7 +9831,6 @@ case 531:
 YY_RULE_SETUP
 {
   if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
 YY_RULE_SETUP
 {
   if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
-  if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
   if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
   LEAVE; STag_surfxml_storage___type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage___type(); popbuffer(); /* attribute */
   switch (YY_START) {
   if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
   LEAVE; STag_surfxml_storage___type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage___type(); popbuffer(); /* attribute */
   switch (YY_START) {
@@ -10386,10 +10385,10 @@ YY_RULE_SETUP
   if (!AX_surfxml_zoneRoute_src) FAIL("Required attribute `src' not set for `zoneRoute' element.");
   LEAVE; STag_surfxml_zoneRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_zoneRoute(); popbuffer(); /* attribute */
   switch (YY_START) {
   if (!AX_surfxml_zoneRoute_src) FAIL("Required attribute `src' not set for `zoneRoute' element.");
   LEAVE; STag_surfxml_zoneRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_zoneRoute(); popbuffer(); /* attribute */
   switch (YY_START) {
-   case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
-   case S_surfxml_AS: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
-   case S_surfxml_zone_1: case S_surfxml_zone_5: case S_surfxml_zone_6: SET(S_surfxml_zone_6); break;
-   case S_surfxml_zone: case S_surfxml_zone_3: case S_surfxml_zone_4: case S_surfxml_zone_7: case S_surfxml_zone_8: SET(S_surfxml_zone_8); break;
+   case S_surfxml_AS: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+   case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
+   case S_surfxml_zone_5: SET(S_surfxml_zone_6); break;
+   case S_surfxml_zone: case S_surfxml_zone_1: case S_surfxml_zone_3: case S_surfxml_zone_4: case S_surfxml_zone_6: case S_surfxml_zone_7: case S_surfxml_zone_8: SET(S_surfxml_zone_8); break;
   }
  }
        YY_BREAK
   }
  }
        YY_BREAK
@@ -10413,10 +10412,10 @@ YY_RULE_SETUP
   ETag_surfxml_zoneRoute();
   popbuffer(); /* attribute */
   switch (YY_START) {
   ETag_surfxml_zoneRoute();
   popbuffer(); /* attribute */
   switch (YY_START) {
-   case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
-   case S_surfxml_AS: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
-   case S_surfxml_zone_1: case S_surfxml_zone_5: case S_surfxml_zone_6: SET(S_surfxml_zone_6); break;
-   case S_surfxml_zone: case S_surfxml_zone_3: case S_surfxml_zone_4: case S_surfxml_zone_7: case S_surfxml_zone_8: SET(S_surfxml_zone_8); break;
+   case S_surfxml_AS: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+   case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
+   case S_surfxml_zone_5: SET(S_surfxml_zone_6); break;
+   case S_surfxml_zone: case S_surfxml_zone_1: case S_surfxml_zone_3: case S_surfxml_zone_4: case S_surfxml_zone_6: case S_surfxml_zone_7: case S_surfxml_zone_8: SET(S_surfxml_zone_8); break;
   }
  }
        YY_BREAK
   }
  }
        YY_BREAK