MDS (multidimensional scheduling) section

The MDS (multidimensional scheduling) section of the application profile contains configuration for your resource plan, and allows you to define slot definitions for multidimensional scheduling. This section must contain at least one SlotDefinition element. Additionally, indicate which SlotDefinition is the default to be used for session level multidimensional scheduling support.

The following is an example MDS section within the application profile:
<MDS planName="MDSPlan1">
	<SlotDefinitions>
		<SlotDefinition name="cpu_intensive" default="true">
			<Metric name="ncpus">4</Metric>
			<Metric name="maxmem">250</Metric>
		</SlotDefinition>
              <SlotDefinition name="zero_cpu" default="true">
	              <Metric name="ncpus">0</Metric>
	              <Metric name="maxmem">250</Metric>
              </SlotDefinition>              
		<SlotDefinition name="memory_intensive">
			<Metric name="ncpus">0.5</Metric>
			<Metric name="maxmem">4000</Metric>
		</SlotDefinition>
             <SlotDefinition name="service_limit" default="true">
	              <Metric name="ncpus" limit="3">2</Metric>
	              <Metric name="maxmem" limit="0">250</Metric>
              </SlotDefinition>	
	</SlotDefinitions>
</MDS>

MDS

Description: Defines the multidimensional resource plan.

planName

Description: Specifies the name of the multidimensional resource plan.

Where used: MDS

Required or optional: Required

Valid values: Any multidimensional resource plan name that you have defined. This can be a string of no more than 64 characters long containing only alphanumeric characters, underscore characters (_), and hyphens (-).

MDS > SlotDefinitions > SlotDefinition

Description: Defines each slot definition within the multidimensional resource plan.

default

Description: If you have multiple slotDefinition elements defined, at least one must contain the default="true" attribute to mark it as the default slot definition for session level multidimensional support (defined in the SessionTypes > SlotDefinitionName). If you only have one slotDefinition element, then include the default="true" attribute with that slotDefinition. For example:
<SlotDefinition name="cpu_intensive" default="true">

Where used: MDSSlotDefinitions > SlotDefinition.

Required or optional: Required.

Valid values: true or false

name (for slot definition)

Description: Specifies the name of the slot definition within the multidimensional resource plan. In the example MDS section within this topic, there four slot definition names defined: cpu_intensive, zero_cpu, memory_intensive, and service_limit. At least one slotDefinition must be defined.

Where used: MDSSlotDefinitions > SlotDefinition.

Required or optional: Required. At least one slotDefinition must be defined.

Valid values: A string of no more than 32 characters long containing only alphanumeric characters, underscore characters (_), and hyphens (-). It cannot begin with a hyphen. For example, cpu_intensive or memory_intensive are valid.

name (for resource metric)

Description: Specifies the name of the resource metric defined in your multidimensional resource plan. IBM® Spectrum Symphony supports four predefined resource metrics: maxmem, maxswp, maxtmp, and ncpus. Additionally, you can use a custom defined metric.

Where used: MDSSlotDefinitions > SlotDefinition > Metric

Required or optional: Required

Valid values: A string of no more than 255 characters, containing only alphanumeric characters, underscore characters (_). It cannot begin with an integer.

Specify the value of each metric, using integers or decimals up to two decimal places. For example, <Metric name="ncpus">4</Metric>, <Metric name="ncpus">0.5</Metric>, and <Metric name="ncpus">2.25</Metric> are all valid.

You can specify zero (0) as the value for your multidimensional resource metric, as long as at least one of the multidimensional resource metrics in your plan is greater than zero. In the following example, the zero_cpu slot definition allows for no CPU cores: the metric called ncpus has a value of zero to indicate this. The other metric (called maxmem) has a value of 250, which is a value greater than zero:
<MDS planName="MDSPlan1">
	<SlotDefinitions>
		<SlotDefinition name="zero_cpu" default="true">
			<Metric name="ncpus">0</Metric>
			<Metric name="maxmem">250</Metric>
		</SlotDefinition>
	</SlotDefinitions>
</MDS>
To set a maximum (limit) for the metric, you can add the limit parameter to the metric. In the following example, the service_limit slot definition sets service resource limits with two multidimensional resource metrics: ncpus and maxmem. Setting ncpus limit="3" limits the maximum CPU cores to three, and setting maxmem limit="0" indicates no maximum memory (RAM in MB):
<MDS planName="MDSPlan1">
	<SlotDefinitions>
		<SlotDefinition name="service_limit" default="true">
	              <Metric name="ncpus" limit="3">2</Metric>
	              <Metric name="maxmem" limit="0">250</Metric>
              </SlotDefinition>
       </SlotDefinitions>
</MDS>
Note that when this service resource limit is enabled, the new limit parameter overrides the metric's value (in this example, the limit of 3 CPU cores overrides the value of 2). If the limit parameter is set to zero (limit="0"), the limit is not applied.