Configuring application and session level multidimensional resource scheduling
Once you have created your resource groups and created a multidimensional resource plan for these groups, configure IBM® Spectrum Symphony application and session level multidimensional resource scheduling by updating your application profile. This includes adding a new MDS section to your application profile, and editing the Consumer and SessionTypes sections.
Before you begin
- You must have resource group control permission to create resource groups.
- You must have at least one multidimensional resource plan defined in the cluster. See Creating a multidimensional resource plan.
Procedure
-
To configure the application profile through the cluster management console:
-
From the Dashboard, select Workload > Symphony > Application Profiles.
A list of application profiles displays.
-
Click the application you want to modify.
The Application Profile page displays.
- Switch to Advanced Configuration mode.
-
In the General Settings section, expand Multidimensional
Scheduling, and select the Enable multidimensional scheduling
option.
The Multidimensional Slot Defintion section displays.
Note: Once you select the Enable multidimensional scheduling option, the system uses the multidimensional scheduling resource group defined in your multidimensional resource plan (to see the multidimensional scheduling resource group for the resource plan, go to Resources > Resource Planning (Multidimensional) > Resource Groups).By default, resources from any resource group defined in the resource plan will be allocated. If you have set the IBM Spectrum Symphony multidimensional scheduler to control resource allocation by resource groups (that is set the ENABLE_GROUP_FILTER_FOR_MDS environment variable to TRUE in the sd.xml configuration file, and set the resource allocation type to MDS in the Consumer section of the application profile), then the multidimensional scheduler allocates resources only from only those specified resource groups, and not from any resource group defined in the resource plan.
- Select the name of the multidimensional resource plan from the Multidimensional resource plan name list.
-
Define one or more slot definitions:
- Click Add.
An add new slot definition dialog displays.
- Specify a name in the Slot definition name field.
Use a string of no more than 32 characters long containing only alphanumeric characters, underscore characters (_), and hyphens (-). The slot definition name cannot begin with a hyphen. For example, cpu_intensive or memory_intensive are valid.
- Click Add to add the slot definition name to the slot definitions table. The table shows columns for each multidimensional resource plan metric for the slot definition you added.
- Provide values for each resource plan metric column.
For each value, use an integer that is less than 9999999. The integer can be up to two decimal places (for example, 2, 2.5, and 2.25 are valid values).
- Select a default slot definition from the Default slot defintion
list.
You must define one of the slot definitions as the default slot definition for application level multidimensional support. If you do not specify a slot definition, the system uses the first slot definition from this list.
- Click Add.
-
Define a session level slot definition:
- Expand the Session Type Definition section.
- Select a slot definition from the Slot definition list.
The slot definition you select will be used as the session level slot definition. If you do not select a slot definition from this list (that is, the list shows Default), and the system uses the application level slot definition you selected in step 6.
-
Click Save to apply your changes.
IBM Spectrum Symphony reregisters the application for the changes to take effect.
-
From the Dashboard, select Workload > Symphony > Application Profiles.
- To configure the application profile manually:
- Add a new MDS section, with at least one SlotDefintion entry, to the application
profile.
The new section must contain at least one SlotDefinition entry. Additionally, one of the SlotDefinition entries must be specified as the default slot definition for application level multidimensional support; do this by adding a default="true" attribute to the SlotDefinition entry.
Here is an example of an MDS section in the application profile, with two application level slot definitions (cpu_intensive
andmemory_intensive
;cpu_intensive
is additionally set as the default application level slot definition:<MDS planName="MDSPlan1"> <slotDefinitions> <SlotDefinition name="cpu_intensive" default="true"> <Metric name="ncpus">4</Metric> <Metric name="maxmem">250</Metric> </SlotDefinition> <SlotDefinition name="memory_intensive"> <Metric name="ncpus">0.5</Metric> <Metric name="maxmem">4000</Metric> </SlotDefinition> </slotDefinitions> </MDS>
See MDS (multidimensional scheduling) section for details on the required elements within the MDS section.
- Configure a session level slot definition in the SessionTypes section of the
application profile. Here is an example of the SessionTypes section with a session level slot definition of cpu_intensive :
<SessionTypes> <Type name="RecoverableJob" priority="1" ... slotDefinitionName="cpu_intensive" .../> </SessionTypes>
- Add the resourceAllocationType element to the Consumer section of the application
profile, and specify a value of MDS.
For example, add resourceAllocationType="MDS".
See Consumer section for more details.
- Specify a slot definition name for multidimensional resource scheduling, by adding a
slotDefinitionName element in the Type element of the SessionTypes section of the application
profile. Use the slot definition name you specified in the MDS section of the application profile in
step 1 as the slotDefinitionName element in SessionTypes > Type. For example, if your MDS section contained
<SlotDefinition name="cpu_intensive" default="true">
, as follows:<MDS planName="MDSPlan1"> <slotDefinitions> <SlotDefinition name="cpu_intensive" default="true"> ... </SlotDefinition> ... </slotDefinitions> </MDS>
Then, in the SessionTypes section, specifyslotDefinitionName="cpu_intensive"
, as follows:<SessionTypes> <Type name="RecoverableJob" priority="1" ... slotDefinitionName="cpu_intensive" .../> </SessionTypes>
See SessionTypes section for more details.
If you do not specify a slotDecintionName in the SessionTypes section, then IBM Spectrum Symphony uses the SlotDefinition that contains the default="true" attribute defined in the MDS section you added in step 1.
- Save your changes.
- Re-register your application profile to update your application profile in the system, using the soamreg command. See soamreg for details.
- Add a new MDS section, with at least one SlotDefintion entry, to the application
profile.