Changeset 325 for xssim/trunk


Ignore:
Timestamp:
07/18/12 17:08:12 (13 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • xssim/trunk/src/test/rewolucja/schemas/XSSimResSchema.xsd

    r319 r325  
    55                <xs:complexType name="pluginType"> 
    66                <xs:annotation> 
    7                         <xs:documentation>Base plugin description</xs:documentation> 
     7                        <xs:documentation>Base plugin type.  
     8                        Plugins allow a researcher to configure and adapt the simulation framework to his/her experiment  
     9                        starting from modeling job performance, through method of calculating energy estimation up to implementation of scheduling policies 
     10                        Name of the plugin specifies the JAVA class that implements dedicated interface.</xs:documentation> 
    811                </xs:annotation> 
    912                <xs:sequence> 
     
    1518        <xs:complexType name="timeEstimationPluginType"> 
    1619                <xs:annotation> 
    17                         <xs:documentation>Time estimation plugin</xs:documentation> 
    18                 </xs:annotation> 
    19                 <xs:complexContent> 
    20                         <xs:extension base="pluginType"/> 
     20                        <xs:documentation>TimeEstimationPlugin derived from Plugin.  
     21                        Time estimation plugin provides means to include specific application performance models during simulations 
     22                        and allows researchers to introduce specific ways of calculating task execution time.</xs:documentation> 
     23                </xs:annotation> 
     24                <xs:complexContent> 
     25                        <xs:restriction base="pluginType"> 
     26                                <xs:sequence> 
     27                                        <xs:element name="name" type="xs:string" default="ExecTimeEstimationPlugin"></xs:element> 
     28                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
     29                                </xs:sequence> 
     30                        </xs:restriction> 
    2131                </xs:complexContent>     
    2232        </xs:complexType> 
     
    2434        <xs:complexType name="resourceType"> 
    2535                <xs:annotation> 
    26                         <xs:documentation>Base resource type</xs:documentation> 
     36                        <xs:documentation>Base resource type.  
     37                        It allows to define simulation entities like computing resources, devices, schedulers. 
     38                        Attributes: class - determines the component of the architecture i.e rack, processor, memory, storage etc. 
     39                        type - type of resource; for instance, continuous for memory, bandwidth, etc. and discrete for processors 
     40                        name - unique resource identifier, if not specified it will be generated by the simulator in the following manner: class + "_" + subsequent_natural_number 
     41                        </xs:documentation> 
    2742                </xs:annotation> 
    2843                <xs:sequence> 
     
    3146                <xs:attribute name="class" type="xs:string" use="required"/> 
    3247                <xs:attribute name="type" type="xs:string" use="optional"/> 
    33                 <xs:attribute name="id" type="xs:ID" use="optional"/> 
     48                <xs:attribute name="name" type="xs:ID" use="optional"/> 
    3449        </xs:complexType> 
    3550 
    3651        <xs:complexType name="computingResourceType"> 
    3752                <xs:annotation> 
    38                         <xs:documentation>Computing resource template</xs:documentation> 
     53                        <xs:documentation> ComputingResource derived from Resource 
     54                        Computing resource specifies resources that are able to perform computing operations.  
     55                        From the simulator point of view computing resource is everything that is/contains processing element. 
     56                        Hence, all entities like core, processor, computing node, as well as those which aggregate them (like shelf, rack, container etc.) 
     57                        should be define using this type. This way of description provides flexibility in defining system architecture 
     58                        and allows to build hierarchy of resources that corresponds to real world. 
     59                        Attributes: groupId - allows to group resources of the given class in the logical structures that can be used during binding them with schedulers 
     60                        count - defines number of resources of the given class</xs:documentation> 
    3961                </xs:annotation> 
    4062                <xs:complexContent> 
     
    4365                                        <xs:choice> 
    4466                                                <xs:sequence> 
    45                                                         <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    4667                                                        <xs:element name="resourceUnit" type="resourceUnitType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    4768                                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    4869                                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element> 
    4970                                                        <xs:element name="profile" type="profileType" minOccurs="0" maxOccurs="1"></xs:element> 
    50                                                 </xs:sequence> 
    51                                                 <xs:element name="templateId" type="xs:IDREF"/> 
     71                                                        <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element> 
     72                                                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
     73                                                </xs:sequence> 
     74                                                <xs:sequence> 
     75                                                        <xs:element name="templateId" type="xs:IDREF"/> 
     76                                                        <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element> 
     77                                                </xs:sequence> 
    5278                                        </xs:choice> 
    53                                         <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element> 
    5479                                </xs:sequence> 
    5580                                <xs:attribute name="groupId" type="xs:integer" use="optional"/>                  
     
    6186        <xs:complexType name="computingResourceTemplateType"> 
    6287                <xs:annotation> 
    63                         <xs:documentation>Computing resource instance</xs:documentation> 
     88                        <xs:documentation>ComputingResourceTemplate derived from Resource. 
     89                        It allows to define model of computing resource component that may constitute other computing resources 
     90                        Computing resource templates can be then referred in computing resource definition</xs:documentation> 
    6491                </xs:annotation> 
    6592                <xs:complexContent> 
    6693                        <xs:extension base="resourceType"> 
    6794                                <xs:sequence> 
    68                                         <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    6995                                        <xs:element name="resourceUnit" type="resourceUnitType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    7096                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    7197                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element> 
    7298                                        <xs:element name="profile" type="profileType" minOccurs="0" maxOccurs="1"></xs:element> 
     99                                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    73100                                </xs:sequence> 
    74101                        </xs:extension> 
     
    78105        <xs:complexType name="schedulerType"> 
    79106                <xs:annotation> 
    80                         <xs:documentation>Scheduler</xs:documentation> 
     107                        <xs:documentation>Scheduler derived from Resource. 
     108                        It allows to model scheduling entity responsible for managing resources.</xs:documentation> 
    81109                </xs:annotation> 
    82110                <xs:complexContent> 
     
    86114                                        <xs:choice minOccurs="1" maxOccurs="unbounded"> 
    87115                                                <xs:element name="scheduler" type="schedulerType"></xs:element> 
    88                                                 <xs:element name="managedComputingResource" type="managedComputingResourceType"></xs:element> 
     116                                                <xs:element name="managedComputingResources" type="managedComputingResourcesType"></xs:element> 
    89117                                        </xs:choice> 
    90118                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
     
    96124        <xs:complexType name="schedulingPluginType"> 
    97125                <xs:annotation> 
    98                         <xs:documentation>Scheduling plugin</xs:documentation> 
     126                        <xs:documentation>SchedulingPlugin derived from Plugin. Scheduling plugins allow plugging scheduling algorithms into the simulated environment. 
     127                        Elements: frequency - is used to enable scheduling periodically; it specifies the time interval (in seconds by default) between subsequent scheduling invocations 
     128                        </xs:documentation> 
    99129                </xs:annotation> 
    100130                <xs:complexContent> 
    101131                        <xs:extension base="pluginType"> 
    102132                                <xs:sequence> 
    103                                         <xs:element name="frequency" type="xs:integer" minOccurs="0" maxOccurs="1"></xs:element> 
     133                                        <xs:element name="frequency" type="valueWithUnitType" minOccurs="0" maxOccurs="1"></xs:element> 
    104134                                </xs:sequence> 
    105135                        </xs:extension> 
     
    109139        <xs:complexType name="resourceUnitType"> 
    110140                <xs:annotation> 
    111                         <xs:documentation>Description of resource unit</xs:documentation> 
     141                        <xs:documentation>Resource unit is used to define non-computing resource like memory, storage etc 
     142                        Elements: amount - represents concrete amount (values) of specific resource unit</xs:documentation> 
    112143                </xs:annotation> 
    113144                <xs:complexContent> 
    114145                        <xs:extension base="resourceType"> 
    115146                                <xs:sequence> 
    116                                         <xs:element name="amount" type="xs:double"/> 
     147                                        <xs:element name="amount" type="valueWithUnitType"/> 
    117148                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    118149                                </xs:sequence> 
     
    120151                </xs:complexContent> 
    121152        </xs:complexType> 
    122          
    123         <xs:complexType name="managedComputingResourceType"> 
    124                 <xs:annotation> 
    125                         <xs:documentation>Definition of controlled (by scheduler) computing resources</xs:documentation> 
    126                 </xs:annotation> 
    127                 <xs:sequence minOccurs="1" maxOccurs="unbounded"> 
    128                         <xs:element name="resourceId" type="xs:string"></xs:element> 
    129                 </xs:sequence> 
     153 
     154        <xs:complexType name="valueWithUnitType"> 
     155                <xs:annotation> 
     156                        <xs:documentation>ValueWitUnit derived from double. Allows to provide units in which a given value is expressed 
     157                        Attributes: unit - indicate appropriate units, for instance: seconds, watts, bytes etc. </xs:documentation> 
     158                </xs:annotation> 
     159                <xs:simpleContent> 
     160                        <xs:extension base="xs:double"> 
     161                                <xs:attribute name="unit" type="xs:string" use="optional"/> 
     162                        </xs:extension>  
     163                </xs:simpleContent>      
     164        </xs:complexType> 
     165         
     166        <xs:complexType name="managedComputingResourcesType"> 
     167                <xs:annotation> 
     168                        <xs:documentation>ManagedComputingResource type specifies controlled (by scheduler) computing resources. 
     169                        They can be provided either by listing their names or listing the group ids for which they belong 
     170                        Attributes: include - specifies whether scheduler shoud be built on top of given resources or shoud also incude them.  
     171                        In other words, false (default) value indicates that scheduler maaner only subcomponents of the listed resources; 
     172                        true value determines that also listed resources will be under the control of the defined scheduler</xs:documentation> 
     173                </xs:annotation> 
     174                <xs:choice> 
     175                        <xs:sequence> 
     176                                <xs:element name="resourceName" type="xs:string" minOccurs="1" maxOccurs="unbounded"></xs:element> 
     177                        </xs:sequence> 
     178                        <xs:sequence> 
     179                                <xs:element name="resourceGroupId" type="xs:string" minOccurs="1" maxOccurs="unbounded"></xs:element> 
     180                        </xs:sequence> 
     181                </xs:choice> 
    130182                <xs:attribute name="include" type="xs:boolean" default="false"/> 
    131183        </xs:complexType> 
     
    133185        <xs:complexType name="energyEstimationPluginType"> 
    134186                <xs:annotation> 
    135                         <xs:documentation>Energy consumption estimation plugin</xs:documentation> 
     187                        <xs:documentation>EnergyEstimationPlugin derived from Plugin.  
     188                        Energy estimation plugin is used to customize estimation of energy consumptions of the given computing resource  
     189                        to specific applications and hardware.</xs:documentation> 
    136190                </xs:annotation> 
    137191                <xs:complexContent> 
     
    142196        <xs:complexType name="profileType"> 
    143197                <xs:annotation> 
    144                         <xs:documentation>Resource profiles</xs:documentation> 
     198                        <xs:documentation>Profile acts as a container for resource profiles: power and air throughput</xs:documentation> 
    145199                </xs:annotation> 
    146200                <xs:sequence> 
     
    152206        <xs:complexType name="powerProfileType"> 
    153207                <xs:annotation> 
    154                         <xs:documentation>Power profile</xs:documentation> 
     208                        <xs:documentation>Power profile allows powerState and other power-related paremters definition</xs:documentation> 
    155209                </xs:annotation> 
    156210                <xs:sequence> 
     
    162216        <xs:complexType name="powerStatesType"> 
    163217                <xs:annotation> 
    164                         <xs:documentation>Definition of supported power states</xs:documentation> 
    165                 </xs:annotation> 
    166                 <xs:sequence minOccurs="1" maxOccurs="unbounded"> 
    167                         <xs:element name="powerState" type="powerStateType"></xs:element> 
     218                        <xs:documentation>PowerState type act as a container for power states</xs:documentation> 
     219                </xs:annotation> 
     220                <xs:sequence> 
     221                        <xs:element name="powerState" type="powerStateType" minOccurs="1" maxOccurs="unbounded"></xs:element> 
    168222                </xs:sequence> 
    169223        </xs:complexType> 
     
    171225        <xs:complexType name="powerStateType"> 
    172226                <xs:annotation> 
    173                         <xs:documentation>Definition of the power state</xs:documentation> 
     227                        <xs:documentation>Power state defines availabe (for computing resource) power states. 
     228                        Elements: name - denotes name of the given power state 
     229                        powerUsage - defines power consumption in the given state 
     230                        transition - specifies possible power states transitions form the given power state</xs:documentation> 
    174231                </xs:annotation> 
    175232                <xs:sequence> 
    176233                        <xs:element name="name" type="xs:string"></xs:element> 
    177                         <xs:element name="powerUsage" type="xs:double" minOccurs="0" maxOccurs="1"></xs:element> 
    178                         <xs:element name="transition" type="energyStatesTransitionType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    179                         <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    180                 </xs:sequence> 
    181         </xs:complexType> 
    182          
    183         <xs:complexType name="energyStatesTransitionType"> 
    184                 <xs:annotation> 
    185                         <xs:documentation>Description of power states transtition</xs:documentation> 
     234                        <xs:element name="powerUsage" type="valueWithUnitType" minOccurs="0" maxOccurs="1"></xs:element> 
     235                        <xs:element name="transition" type="powerStatesTransitionType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
     236                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
     237                </xs:sequence> 
     238        </xs:complexType> 
     239         
     240        <xs:complexType name="powerStatesTransitionType"> 
     241                <xs:annotation> 
     242                        <xs:documentation>Description of power states transtition 
     243                        Elements: to - denotes name of target power state 
     244                        powerUsage - defines transition cost in the form of power consumption 
     245                        time - specifies transition time</xs:documentation> 
    186246                </xs:annotation> 
    187247                <xs:sequence> 
    188248                        <xs:element name="to" type="xs:string"></xs:element> 
    189                         <xs:element name="powerUsage" type="xs:double"></xs:element> 
    190                         <xs:element name="time" type="xs:double"></xs:element> 
     249                        <xs:element name="powerUsage" type="valueWithUnitType"></xs:element> 
     250                        <xs:element name="time" type="valueWithUnitType"></xs:element> 
    191251                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    192252                </xs:sequence> 
     
    195255        <xs:complexType name="airThroughputProfileType"> 
    196256                <xs:annotation> 
    197                         <xs:documentation>Description of the computing resource fan</xs:documentation> 
    198                 </xs:annotation> 
    199                 <xs:sequence minOccurs="1" maxOccurs="unbounded"> 
    200                         <xs:element name="airThroughputState" type="airThroughputStateType"></xs:element> 
     257                        <xs:documentation>AirThrouhputProfile type acts as a container for air throughput states</xs:documentation> 
     258                </xs:annotation> 
     259                <xs:sequence> 
     260                        <xs:element name="airThroughputState" type="airThroughputStateType" minOccurs="1" maxOccurs="unbounded"></xs:element> 
    201261                </xs:sequence> 
    202262        </xs:complexType> 
     
    204264        <xs:complexType name="airThroughputStateType"> 
    205265                <xs:annotation> 
    206                         <xs:documentation>Definition of the power state</xs:documentation> 
     266                        <xs:documentation>Air througput state provides means to define air flow level.  
     267                        It can represent, for instance, a fan working state</xs:documentation> 
    207268                </xs:annotation> 
    208269                <xs:sequence> 
    209270                        <xs:element name="name" type="xs:string"></xs:element> 
    210271                        <xs:element name="value" type="xs:double"></xs:element> 
    211                         <xs:element name="powerUsage" type="xs:double" minOccurs="0"></xs:element> 
     272                        <xs:element name="powerUsage" type="valueWithUnitType" minOccurs="0"></xs:element> 
    212273                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element> 
    213274                </xs:sequence> 
     
    216277        <xs:complexType name="locationType"> 
    217278                <xs:annotation> 
    218                         <xs:documentation>Location parameters of resource</xs:documentation> 
     279                        <xs:documentation>The location type describes placement of the computing resource in the 3D coordinate system</xs:documentation> 
    219280                </xs:annotation> 
    220281                <xs:sequence> 
     
    228289        <xs:complexType name="parameterType"> 
    229290                <xs:annotation> 
    230                         <xs:documentation>Description of parameter of resource</xs:documentation> 
     291                        <xs:documentation>Parameter of resource. Allows to define additional resource paramters. 
     292                        Contains a list of parameter values or a list of key-value pairs. 
     293                        Attribute : name - denotes paramter name</xs:documentation> 
    231294                </xs:annotation> 
    232295                <xs:choice> 
    233296                        <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
    234                         <xs:sequence minOccurs="0" maxOccurs="unbounded"> 
    235                                 <xs:element name="property"> 
    236                                 <xs:complexType> 
    237                                         <xs:sequence minOccurs="0" maxOccurs="unbounded"> 
    238                                                 <xs:element name="value" type="xs:string"/> 
    239                                         </xs:sequence> 
    240                                         <xs:attribute name="name" type="xs:string" use="required"/> 
    241                                 </xs:complexType> 
    242                         </xs:element> 
     297                        <xs:sequence> 
     298                                <xs:element name="property" minOccurs="0" maxOccurs="unbounded"> 
     299                                        <xs:complexType> 
     300                                                <xs:annotation> 
     301                                                        <xs:documentation>Property of paramter. Allows to define additional properties of parameter as a list of values. 
     302                                                        Attribute : name - denotes property name</xs:documentation> 
     303                                                </xs:annotation> 
     304                                                <xs:sequence> 
     305                                                        <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
     306                                                </xs:sequence> 
     307                                                <xs:attribute name="name" type="xs:string" use="required"/> 
     308                                        </xs:complexType> 
     309                                </xs:element> 
    243310                        </xs:sequence> 
    244311                </xs:choice> 
     
    253320                        <xs:sequence> 
    254321                                <xs:element name="description" type="xs:string" minOccurs="0" ></xs:element> 
    255                                 <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0" maxOccurs="1"> 
    256                                         <xs:annotation> 
    257                                                 <xs:documentation>Specifies which plugin is used to estimate task execution time</xs:documentation> 
    258                                         </xs:annotation> 
    259                                 </xs:element> 
     322                                <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element> 
    260323                                <xs:element name="resources"> 
    261324                                        <xs:annotation> 
     
    271334                                <xs:element name="templates" minOccurs="0"> 
    272335                                        <xs:annotation> 
    273                                                 <xs:documentation>Definition of computing resource templates that can/will be used in resoce description section </xs:documentation> 
     336                                                <xs:documentation>Definition of computing resource templates that can/will be used in resource description section </xs:documentation> 
    274337                                        </xs:annotation> 
    275338                                        <xs:complexType> 
    276                                                 <xs:sequence maxOccurs="unbounded"> 
    277                                                         <xs:element name="computingResourceTemplate" type="computingResourceTemplateType"/> 
     339                                                <xs:sequence> 
     340                                                        <xs:element name="computingResourceTemplate" type="computingResourceTemplateType" maxOccurs="unbounded"/> 
    278341                                                </xs:sequence> 
    279342                                        </xs:complexType> 
Note: See TracChangeset for help on using the changeset viewer.