MDPlan.xml reference
The MDPlan.xml file is the configuration file for a multidimensional resource plan.
Location
The MDPlan.xml file is generated when a multidimensional scheduling plan is created and is in the $EGO_CONFDIR directory.Structure
The root element in the MDPlan.xml file is DistributionTree. It owns all the other elements. DistributionTree has these sections:- ResourceGroupName
- Indicates the set of resources to which this distribution tree applies.
- ConsumableResources
- Defines the consumable resources that are used in the plan.
- PolicyParameter
- Defines a parameter for tuning the behavior of the distribution engine.
- SlotMapping
- Defines the slots that are to be scheduled for sharing.
- Consumer
- This element describes a node within the consumer hierarchy or within a distribution tree.
Example
<DistributionTree DistributionTreeName="MD1" RevisionVersion="2">
<ResourceGroupName>RG1</ResourceGroupName>
<ResourceGroupName>RG2</ResourceGroupName>
<ConsumableResources>
#Set overcommit ratios for MDPlan.xml
<ConsumableResource OverCommitRatio="2">ncpus<ConsumableResource>
<ConsumableResource OverCommitRatio="1">mem<ConsumableResource>
</ConsumableResources>
<PolicyParameter name="DefaultGracePeriod">300</PolicyParameter>
<SlotMapping>
<ncpus=1>
<mem=1>
</SlotMapping>
<Consumer ConsumerName="ManagementService">
<SlotMapping>
<ncpus=1>
<mem=1>
</SlotMapping>
<DistributionPolicies>
<Rank>50</Rank>
<Sharing priority="5" EnforceSiblingShareReclaim="Y">
<Shares type="ratio" >1</Shares>
<Limit type="dimension">
<ncpus type="absolute">5</ncpus>
<mem type="absolute">5</mem>
</Limit>
</Sharing>
<OwnershipPolicy>
<ResourceGroup name="RG1" PreferenceLevel="1" GetFreeFromNextLevelBeforeReclaim="Y">
<HostSelection type="NumHosts"||"HostList" ResReq="select(!mg) order(mem)">
<NumHosts type="percentage" | "remaining"| "absolute" >20</NumHosts>
#NumHost and HostList are exclusive
<HostList>
<Host>host1</Host>
<Host>host2</Host>
</HostList>
</HostSelection>
<PerHost type="dimension">
<Dimension>
<Resource name="ncpus" type="absolute"| "absolute"| "remaining">5</Resource>
<Resource name="maxmem" type="absolute"| "absolute"| "remaining">5</Resource>
</Dimension>
</PerHost>
<Lendout graceperiod="300">
<Reserve>
<NumHosts type="percentage">20</NumHosts>
<PerHost>
<Dimension>
<Resource name="ncpus" type="absolute">5</Resource>
<Resource name="maxmem" type="absolute">5</Resource>
</Dimension>
</PerHost>
</Reserve>
</Lendout>
</ResourceGroup>
<ResourceGroup name="RG2"PreferenceLevel="2"GetFreeFromNextLevelBeforeReclaim="N">
<HostSelection type="NumHosts"||"HostList" ResReq="select(!mg) order(mem)">
<NumHosts type="percentage" >20</NumHosts>
#NumHost and HostList are exclusive
<HostList>
<Host>host1</Host>
<Host>host2</Host>
</HostList>
</HostSelection>
<PerHost type="dimension">
<Dimension>
<Resource name="ncpus" type="absolute">5</Resource>
<Resource name="maxmem" type="absolute">5</Resource>
</Dimension>
</PerHost>
<Lendout graceperiod="300">#optional
<Reserve>
<NumHosts type="percentage">20</NumHosts>
<PerHost>
<Dimension>
<Resource name="ncpus" type="absolute">5</Resource>
<Resource name="maxmem" type="absolute">5</Resource>
</Dimension>
</PerHost>
</Reserve>
</Lendout>
</ResourceGroup>
</OwnershipPolicy>
</DistributionPolicies>
</Consumer>
</DistributionTree>
DistributionTree element
The root element for a resource distribution tree. The DistributionTree must be named with a DistributionTreeName attribute.
| Attribute | Description | Default |
|---|---|---|
| DistributionTreeName | Required String. The name that is associated with a Distribution Tree. |
None |
| RevisionVersion | Optional String. The revision identifier of the MD plan. |
None |
ResourceGroupName section
The DistributionTree element has at least one ResourceGroupName section to identify the resource group in the multidimensional resource plan. If your plan includes several resource groups, include a ResourceGroupName element for each resource group.ConsumableResources section
The ConsumableResources section contains the ConsumableResources element. The ConsumableResources element is the parent element to the ConsumableResource element, which identifies the consumable resources.The ConsumableResources element has no attributes, but is the parent element to the ConsumableResource element.
ConsumableResource attribute
| Attribute | Description | Default |
|---|---|---|
| OverCommitRatio | Optional Integer or decimal. The overcommit ratio defined for the resource. |
1 |
- A consumable resource must be an unsigned, numeric resource.
- It is recommended to use static resources.
- If they are unsigned, numeric resources, all LIM and ELIM resources are available for scheduling.
- For type=percentag|absolute, all consumers under the same parent must be consistent for each resource group.
PolicyParameter section
The PolicyParameter section contains the PolicyParameter element.
PolicyParameter attributes
This element defines a parameter for tuning the behaviour of the distribution engine.
| Attribute | Description | Default |
|---|---|---|
| name | Required String. The name of the parameter that is used to tune the behavior of the distribution engine. |
None |
SlotMapping section
The SlotMapping section holds the SlotMapping element.
SlotMapping attributes
The SlotMapping element has no elements. It identifies the slots that are to be scheduled for sharing.
Consumer section
The Consumer section describes a node within the consumer hierarchy or within a distribution tree. It is used either to express metadata about a particular node in the consumer hierarchy or to associate a particular set of distribution policies between consumers and resources.
Consumer attributes
| Attribute | Description | Default |
|---|---|---|
| ConsumerName | Required String. The name that is assigned to a specific consumer without specifying its place in the distribution tree hierarchy. |
None |
| RevisionVersion | Optional String. The version identifier. |
None |
SlotMapping attribute
Defines the slots that are to be scheduled for sharing.
DistributionPolicies attributes
Describes the configuration of the EGO distribution policies for a particular consumer in a resource distribution tree.
| Attribute | Description | Default |
|---|---|---|
| startTime | Optional String. The time is expressed as follows: hours in 2 digits:minutes in 2 digits. For example, 2:15 PM is 14:15. |
None |
| endTime | Optional String. The time is expressed as follows: hours in 2 digits:minutes in 2 digits. For example, 2:15 PM is 14:15. |
None |
Rank attributes
Indicates the priority of a consumer relative to other consumers in the resource distribution tree.
Valid values: Integer
SharingPolicy attributes
Constrains which resources a particular consumer can allocate or which resources the consumer owns. If no ResourceGroupName is specified, the UsageLimit applies to all the resources under the control of EGO. If no UsageLimit element is present, the constraint is on which named resources can be part of this consumer's allocations.
The optional attributes startTime and endTime can be used to represent a time frame when this policy is in effect within the configuration. If no time zone is specified in startTime or endTime, the time is considered as local to the vemkd.
| Attribute | Description | Default |
|---|---|---|
| Priority | Optional String. |
None |
| EnforceSiblingShareReclaim | Optional Valid values: Y|N
|
None |
| startTime | Optional String. The time is expressed as follows: hours in 2 digits:minutes in 2 digits. For example, 2:15 PM is 14:15. |
None |
| endTime | Optional String. The time is expressed as follows: hours in 2 digits:minutes in 2 digits. For example, 2:15 PM is 14:15. |
None |
Shares attributes
This element represents what share of the resources a consumer receives compared to other consumers with which it is a peer (that is, on the same level of the consumer tree). Among all the peers at one level of the tree, the Shares values represent a ratio of relative priority or a percentage of the resources to be assigned.
Valid values: integer
| Attribute | Description | Default |
|---|---|---|
| Type | Required String. Valid value: ratio |
ratio |
| RevisionVersion | Optional String. The version identifier. |
None |
Limit attributes
Defines the resource dimensions. For example:
<ncpus type="absolute">5</ncpus>
<maxmem type="absolute">5</maxmem>
| Attribute | Description | Default |
|---|---|---|
| type | Required String. Specifies that the resource is multidimensional. Valid value: dimension |
"dimension" |
OwnershipPolicy attributes
| Attribute | Description | Default |
|---|---|---|
| PrivatePoolGracePeriod | Optional String. This grace period is applied when children (allocations) of this consumer reclaim with each other. |
None |
ResourceGroup attributes
| Attribute | Description | Default |
|---|---|---|
| name | Required String. The name of the resource group. |
None |
| PreferenceLevel | Optional String. A user-defined preference level for the resource group. The range is 1 - 10. A 1 indicates the most preferred. A 10 is the least preferred. |
5 |
| GetFreeFromNextLevelBeforeReclaim | Optional. String. Valid values:
|
N |
HostSelection attributes
Define resource dimensions.
| Attribute | Description | Default |
|---|---|---|
| type | Required String. The name of the resource group. Valid values:NumHosts|HostList |
None |
| ResReq | Optional String. Further specifies specific resources from among the specified list of hosts and resource groups to filter or prefer. Valid values:ResReq = ”select(!mg) order(mem)” |
None |
NumHosts attributes for HostSelection
Specifies the percentage of the parent's owned resource.
| Attribute | Description | Default |
|---|---|---|
| type | Required String. Valid values:percentage | remaining | absolute |
None |
HostList attribute
<Host>host1</Host>
<Host>host2</Host>PerHost attribute for HostSelection
| Attribute | Description | Default |
|---|---|---|
| type | Required String. Specifies that the resource is multidimensional. Valid value: dimension |
dimension |
Dimension attribute for HostSelection
Defines resource dimension.
Resource attributes for HostSelection
Defines a parameter for tuning the behaviour of the distribution engine.
| Attribute | Description | Default |
|---|---|---|
| name | Required String. Defines the resource name. |
None |
| type | Required String. Valid values:percentage | remaining | absolute |
None |
Lendout attributes
Defines the resource that can be lent out. The Lendout element is optional.
| Attribute | Description | Default |
|---|---|---|
| GracePeriod | Optional String. Only consumers with a grace period equal to or less than the GracePeriod attribute can borrow this resource. |
None |
Reserve attribute
Reserves idle resources to prevent their use by other consumers.
NumHosts attribute for Reserve
Specifies the percentage of the parent's owned resource.
| Attribute | Description | Default |
|---|---|---|
| type | Required String. Valid values:percentage | remaining | absolute |
None |
PerHost attribute for Reserve
| Attribute | Description | Default |
|---|---|---|
| type | Required String. Specifies that the resource is multidimensional. Valid value: dimension |
dimension |
Dimension attribute for Reserve
Defines resource dimension.
Resource attributes for Reserve
Defines a parameter for tuning the behavior of the distribution engine.
| Attribute | Description | Default |
|---|---|---|
| name | Required String. Defines the resource name. |
None |
| type | Required String. Valid values:"percentage" | "remaining"| "absolute" |
None |