The central concept of Workload Manager (WLM) is the concept of class. A class is a collection of processes (jobs) that has a single set of resource limits applied to it. WLM assigns processes to the various classes and controls the allocation of system resources among the different classes by using class-assignment rules. WLM controls the allocation of system resources among the different classes using per-class resource shares and limits set by the system administrator.
WLM allows system administrators to set up a hierarchy of classes by defining superclasses and then either defining subclasses for some or all of the superclasses themselves, or delegating the administration of the superclasses to superclass administrators who in turn will define the subclasses. The term class is used in reference to both superclasses and subclasses. Otherwise, the appropriate term is used.
The main difference between superclasses and subclasses is resource control (shares and limits). At the superclass level, the determination of resource entitlement based on the resource shares and limits is based on the total amount of each resource managed by WLM available on the machine. At the subclass level, the resource shares and limits are based on the amount of each resource allocated to the parent superclass.
A system administrator has the option to allocate a portion of the system resources to each superclass and then let superclass administrators distribute the allocated resources among the users and applications that they manage.
A process can be assigned to a class either automatically or manually. A process is assigned automatically when it starts using a set of class-assignment rules defined by a WLM administrator (the most common method). A process is assigned manually either by administrators or users with the appropriate level of privilege. Manual assignment overrides automatic assignment.
Class definitions, resource shares and limits, and class-assignment rules can be defined for both the superclass and subclass level by using SMIT and Web-based System Manager, the WLM command-line interface, or by applications using the WLM API. These definitions are kept in a set of text files called the WLM property files. The property files for a set of superclasses and subclasses constitute a WLM configuration.
The WLM administrator creates a name for each class. A class name is up to 16 characters in length and can contain only uppercase and lowercase letters, numbers and underscores ('_'). For a given WLM configuration, the names of all the superclasses must be different from one another, and the names of the subclasses of a given superclass must be different from one another. Subclasses of different superclasses can have the same name. To uniquely identify a subclass, the subclass full name composed of the superclass name and the subclass name separated by a dot must be used. The subclass Sub of superclass Super will thus be uniquely identified as Super.Sub.
The system administrator can define up to 27 superclasses. In addition, the following five superclasses are automatically created:
However, a few pages cannot be directly tied to any processes (and thus to any class) at the time of this classification, and this memory is charged to the Unclassified superclass. Most of this memory is correctly reclassified over time, when it is either accessed by a process, or released and reallocated to a process after WLM is started. There are no processes in the Unclassified superclass. This superclass can have physical memory shares and limits applied to it. It cannot have shares or limits for the other resource types, subclasses, or assignment rules specified.
The system administrator or a superclass administrator can define up to 10 subclasses. In addition, two special subclasses, Default and Shared, are always defined.
System administrators have the option of using either:
The system administrator can also choose to create subclasses for some superclasses and not for others. In this case, the superclasses with no user-defined subclasses do not need to have a subdirectory /etc/wlm/config/superclass_name and property files associated to the superclass.
When starting WLM with configurations created with versions earlier to AIX 5.1, only superclasses are used. The default output of the wlmstat command lists only the superclasses and is similar to those of previous versions. For example:
# wlmstat CLASS CPU MEM DKIO Unclassified 0 0 0 Unmanaged 0 0 0 Default 0 0 0 Shared 0 2 0 System 2 12 0 class1 0 0 0 class2 0 0 0 #
If some of the superclasses have subclasses defined by a WLM administrator, then the subclasses are listed. For example:
# wlmstat CLASS CPU MEM DKIO Unclassified 0 0 0 Unmanaged 0 0 0 Default 0 0 0 Shared 0 2 0 System 3 11 7 class1 46 0 0 class1.Default 28 0 0 class1.Shared 0 0 0 class1.sub1 18 0 0 class2 48 0 0 #
The output is the same when you use the ps command. For processes in a superclass without any subclasses, the ps command lists the superclass name as the process class name.