Workload Manager for AIX 5L Standards

This document describes the Workload Manager implementation standards on AIX version 5 machines only.

For WLM implementation on AIX version 4.3.3.0 systems, see the AIX 4.3.3.0 WLM standards document.

The workload manager (WLM) shall be implemented on all AIX systems. On most systems WLM will be running in "passive" mode, which does not limit resources. In CGE's environment, only a few selected systems will have WLM implemented in "active" mode to control and regulate resources. If there is any question as to whether WLM should be implemented in "active" or "passive" mode, default to "passive".

The WLM provides a mechanism to classify and segment resources by process, user, group, etc. The classification scheme must be constructed by the AIX system administrator. This WLM classification scheme in the CGE environment is based on the concept of the Resource Group. Each Resource Group will be represented in WLM as a class. Multiple instances of an application within a single resource group shall be represented in WLM as subclasses.

In order to configure WLM, the system administrator must first define the resource groups names. Once the resource group names have been defined, then a WLM class must be defined using the resource group name as the WLM class name.


To define a new WLM class using smitty, start smitty using the "wlm" fastpath.

smitty wlm


Select "Add a class" to define a new WLM class.

                                Workload Manager

Move cursor to desired item and press Enter.

  Manage time-based configuration sets
  
  Work on alternate configurations
  Work on a set of Subclasses
  Show current focus (Configuration, Class Set)
  
  List all classes
  Add a class
  Change / Show Characteristics of a class
  Remove a class
  Class assignment rules

  Start/Stop/Update WLM
  Assign/Unassign processes to a class/subclass


Enter the resource group name as the WLM class name, and provide a description of this WLM class. The Tier level will normally be 0 (zero) unless there is a specific reason to change this. The "Resource Set Inheritance" value will normally be set to "Yes".

The user and group values will be dependent upon the nature of the resource group. It may be desirable to specify a non-root user and group that is permitted to administer the WLM class and/or assign processes to the class. This will have to be determined on a resource group by resource group basis. If this information is unknown, default to "root" for the user values and "system" for the group values.


                       General characteristics of a class

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
  
                                                         [Entry Fields]
* Class name                                             [egapdtu1]
  Description                                            [EGATE Production Database for TXU, Instance 0]
  Tier                                                   [0]
  Resource Set                                          
  Inheritance                                            [Yes]
  User authorized to assign its processes to this class  [oracle]
  Group authorized to assign its processes to this class [dba]
  User authorized to administrate this class             [root]
  (Superclass only) 
  Group authorized to administrate this class            [system]
  (Superclass only)
  Localshm                                               [No]


Class rules are used to determine which processes are assigned to which WLM classes and the order of the rules is significant. The first rule that matches is used to determine the WLM class assignment, so the class rules should be ordered from highly specific to less specific.

To define WLM class rules using smitty, start smitty using the "wlm" fastpath.

smitty wlm


Select "Class assignment rules" to define a new WLM class.

                                Workload Manager

Move cursor to desired item and press Enter.

  Manage time-based configuration sets
  
  Work on alternate configurations
  Work on a set of Subclasses
  Show current focus (Configuration, Class Set)
  
  List all classes
  Add a class
  Change / Show Characteristics of a class
  Remove a class
  Class assignment rules

  Start/Stop/Update WLM
  Assign/Unassign processes to a class/subclass


Select "Class assignment rules" to define a new WLM class rule.

                             Class assignment rules

Move cursor to desired item and press Enter.

  List all Rules
  Create a new Rule
  Change / Show Characteristics of a Rule
  Delete a Rule 
  Attribute value groupings


In the following example, a rule is defined to assign all processes owned by oracle or the group dba to the the WLM class "egapdtu1". Again the order of the rules is important. The rules should be ranked in order of highly specific, starting at 1, to less specific.

                               Create a new Rule

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
  
                                                        [Entry Fields]
* Order of the rule                                  [1]
* Class name                                          [egapdtu1
* User                                               [oracle]
* Group                                              [dba]
  Application                                        [-]
  Type                                               [-]
  Tag                                                [-]


To define a new WLM subclass using smitty, start smitty using the "wlm" fastpath.

smitty wlm


Select "Add a class" to define a new WLM subclass.

                                Workload Manager

Move cursor to desired item and press Enter.

  Manage time-based configuration sets
  
  Work on alternate configurations
  Work on a set of Subclasses
  Show current focus (Configuration, Class Set)
  
  List all classes
  Add a class
  Change / Show Characteristics of a class
  Remove a class
  Class assignment rules

  Start/Stop/Update WLM
  Assign/Unassign processes to a class/subclass


When defining a subclass, again enter the resource group name, followed by a period (.) followed by the name of the subclass to create. The Tier level will normally be 1 (one) for a subclass, unless there is a specific reason to change this. The "Resource Set Inheritance" value will normally be set to "Yes".

The user and group values will be dependent upon the nature of the resource group. It may be desirable to specify a non-root user and group that is permitted to administer the WLM class and/or assign processes to the class. This will have to be determined on a resource group by resource group basis. If this information is unknown, default to "root" for the user values and "system" for the group values.


                       General characteristics of a class

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
  
                                                         [Entry Fields]
* Class name                                             [egapdtu1.oracleex511]
  Description                                            [EGATE Production Database for TXU, Instance 511]
  Tier                                                   [1]
  Resource Set                                          
  Inheritance                                            [Yes]
  User authorized to assign its processes to this class  [oracle]
  Group authorized to assign its processes to this class [dba]
  User authorized to administrate this class             [root]
  (Superclass only) 
  Group authorized to administrate this class            [system]
  (Superclass only)
  Localshm                                               [No]


To define a class rule for a subclass requires an additional step. First select a set of WLM subclasses to work on, then define the rule. To define a rule for a WLM subclass using smitty, start smitty using the "wlm" fastpath.

smitty wlm


Select "Work on a set of Subclasses" to select the subclass for which to define a rule.

                                Workload Manager

Move cursor to desired item and press Enter.

  Manage time-based configuration sets

  Work on alternate configurations
  Work on a set of Subclasses
  Show current focus (Configuration, Class Set)

  List all classes
  Add a class
  Change / Show Characteristics of a class
  Remove a class
  Class assignment rules

  Start/Stop/Update WLM
  Assign/Unassign processes to a class/subclass


Select the WLM class that contains the subclass for which the rule will be defined, press enter, then return to the main WLM menu.

                            Select a Superclass or -

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
  
                                                        [Entry Fields]
* Superclass name                                    [egapdtu1]


Select "Class assignment rules" to define a new WLM subclass rule.

                                Workload Manager

Move cursor to desired item and press Enter.

  Manage time-based configuration sets
  
  Work on alternate configurations
  Work on a set of Subclasses
  Show current focus (Configuration, Class Set)
  
  List all classes
  Add a class
  Change / Show Characteristics of a class
  Remove a class
  Class assignment rules

  Start/Stop/Update WLM
  Assign/Unassign processes to a class/subclass


Select "Class assignment rules" to define a new WLM subclass rule.

                             Class assignment rules

Move cursor to desired item and press Enter.

  List all Rules
  Create a new Rule
  Change / Show Characteristics of a Rule
  Delete a Rule 
  Attribute value groupings


In the following example, a rule is defined to assign all processes owned by oracle or the group dba to the the WLM subclass "egapdtu1.oracleex511". Again the order of the rules is important. The rules should be ranked in order of highly specific, starting at 1, to less specific.

                               Create a new Rule

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
  
                                                        [Entry Fields]
* Order of the rule                                  [1]
* Class name                                          oracleex511
* User                                               [oracle]
* Group                                              [dba]
  Application                                        [-]
  Type                                               [-]
  Tag                                                [-]


After all classes, subclasses, and rules have been defined, start WLM.

smitty wlm


Select "Work on a set of Subclasses" to select the subclass for which to define a rule.

                                Workload Manager

Move cursor to desired item and press Enter.

  Manage time-based configuration sets

  Work on alternate configurations
  Work on a set of Subclasses
  Show current focus (Configuration, Class Set)

  List all classes
  Add a class
  Change / Show Characteristics of a class
  Remove a class
  Class assignment rules

  Start/Stop/Update WLM
  Assign/Unassign processes to a class/subclass


Select "Start Workload Manager"

                             Start/Stop/Update WLM

Move cursor to desired item and press Enter.

  Start Workload Manager
  Update Workload Manager
  Stop Workload Manager
  Show WLM status


For the options on this page, select the "current" configuration set, choose the "Passive" management mode, and choose "Both" for the start option.

                             Start Workload Manager

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
  
                                                        [Entry Fields]
* Configuration, or for a set: set name/currently     current
      applicable configuration
  Management mode                                     Passive
  Enforce Resource Set bindings                       Yes
  Disable class total limits on resource usage        Yes
  Disable process total limits on resource usage      Yes
  Start now, at next boot, or both ?                  Both


Any subsequent changes to the WLM configuration will require that WLM be stopped and restarted in order for the changes to take effect.


An example WLM configuration of the EGATE Production Database server for TXU follows. The "standard" WLM configuration for this machine contains a single WLM class called "egapdtu1". It is important to recognize that the "standard" WLM configuration will be different for every machine. The term "standard" is used in reference to the local machine, this is not enterprise wide terminology used here.

  • mdcapega01:/etc/wlm/standard/classes
    System:
    
    Default:
    
    Shared:
    
    egapdtu1:
            description = "Oracle Concurrent"
            inheritance = "yes"
            authuser = "oracle"
            authgroup = "dba"
            adminuser = "root"
            admingroup = "system"
    

  • The class rules associated with this "standard" configuration assign any processes owned by "oracle" or by the group "dba" to the WLM class "egapdtu1". All processes owned by "root" are assigned to the class "System", and all other processes are assigned to the class "Default".

  • mdcapega01:/etc/wlm/standard/rules
    *class    resvd   user    group   application     type    tag
    egapdtu1  -       oracle  dba     -               -       -       
    System    -       root    -       -               -       -       
    Default   -       -       -       -               -       -       
    

  • Multiple subclasses are defined for the class "egapdtu1". These subclasses are intended to segment the processes by oracle instance. The definition of subclasses will be customized for each individual resource group.

  • mdcapega01:/etc/wlm/standard/egapdtu1/classes
    Default:
    
    Shared:
    
    oracleex011:
            description = "Instance ex011"
            tier   = 1
            inheritance = "yes"
            authuser = "oracle"
            authgroup = "dba"
    
    oracleex061:
            description = "Instance ex061"
            tier   = 1
            inheritance = "yes"
            authuser = "oracle"
            authgroup = "dba"
    
    oracleex071:
            description = "Instance ex071"
            tier   = 1
            inheritance = "yes"
            authuser = "oracle"
            authgroup = "dba"
    
    oracleexa11:
            description = "Instance a11"
            tier   = 1
            inheritance = "yes"
            authuser = "oracle"
            authgroup = "dba"
    
    oracleex031:
            description = "Instance ex031"
            tier   = 1
            inheritance = "yes"
            authuser = "oracle"
            authgroup = "dba"
    
    oracleex041:
            description = "Instance ex041"
            tier   = 1
            inheritance = "yes"
            authuser = "oracle"
            authgroup = "dba"
    
    oracleex051:
            description = "Instance ex051"
            tier   = 1
            inheritance = "yes"
            authuser = "oracle"
            authgroup = "dba"
    
    

  • The rules associated with each subclass of the class "egapdtu1" associate all processes owned by "oracle" or the group "dba" to the subclass. In this instance the processes are not automatically assigned to subclasses by WLM, instead they are assigned by the oracle startup script.

  • mdcapega01:/etc/wlm/standard/egapdtu1/rules
    *class          resvd   user    group   application     type    tag
    oracleex011     -       oracle  -       -               -       -       
    oracleex031     -       oracle  -       -               -       -       
    oracleex041     -       oracle  -       -               -       -       
    oracleex051     -       oracle  -       -               -       -       
    oracleex061     -       oracle  -       -               -       -       
    oracleex071     -       oracle  -       -               -       -       
    oracleexa11     -       oracle  -       -               -       -