IBM Books

IBM LoadLeveler for AIX 5L: Using and Administering

Consumable resources

Consumable resources are assets available on machines in your LoadLeveler cluster. They are called "resources" because they model the commodities or services available on machines (including CPUs, real memory, virtual memory, software licenses, disk space). They are considered "consumable" because job steps use specified amounts of these commodities when the step is running. Once the step finishes, the resource becomes available for another job step.

Consumable resources which model the characteristics of a specific machine (such as the number of CPUs or the number of specific software licenses available only on that machine) are called machine resources. Consumable resources which model resources that are available across the LoadLeveler cluster (such as floating software licenses) are called floating resources. For example, consider a configuration with 10 licenses for a given program (which can be used on any machine in the cluster). If these licenses are defined as floating resources, all 10 can be used on one machine, or they can be spread across as many as 10 different machines.

The LoadLeveler administrator can specify:

Users submitting jobs can specify the resources consumed by each task of a job step.

Notes:

  1. When software licenses are used as a consumable resource, LoadLeveler does not attempt to obtain software licenses or to verify that software licenses have been obtained. However, by providing a user exit that can be invoked as a submit filter, the LoadLeveler administrator can provide code to first obtain the required license and then allow the job step to run. For more information on filtering job scripts, see Filtering a job script.

  2. LoadLeveler scheduling algorithms use the availability of requested consumable resources to determine the machine or machines on which a job will run. Consumable resources (except for CPU and real memory) are used only for scheduling purposes and are not enforced. Instead, LoadLeveler's negotiator daemon keeps track of the consumable resources available by reducing them by the amount requested when a job step is scheduled, and increasing them when a consuming job step completes.

  3. If you are using Gang scheduling and a job is swapped out (suspended) because it is not in the currently executing time-slice or if a job is preempted, the job continues to use all consumable resources except for ConsumableCpus and ConsumableMemory (real memory). When a job is suspended or preempted, LoadLeveler makes the ConsumableCpus and ConsumableMemory used by that job available to other jobs.

Consumable resources and AIX Workload Manager

If the administrator has indicated that resources should be enforced, LoadLeveler uses AIX Workload Manager (WLM) to give greater control over CPU and real memory resource allocation. WLM monitors system resources and regulates their allocation to processes running on AIX. These actions prevent jobs from interfering with each other when they have conflicting resource requirements. WLM achieves this control by creating different classes of service and allowing attributes to be specified for those classes.

LoadLeveler dynamically generates WLM classes with specific resource entitlements. This is done for each node that a job step is assigned to execute on. LoadLeveler creates and assigns each job step to its own WLM class (based on a job step's resource requirements). LoadLeveler then defines "resource shares" for those WLM classes. These resource shares represent the job's resource usage in relation to the amount of resources available on the machine. Since AIX resources are only allocated to a WLM class with active processes, WLM resource percentages are calculated based on the total number of shares requested by all active WLM classes. In other words, WLM creates a desired resource entitlement for processes within each WLM class by assigning a dynamic percentage equal to the resource shares of that class divided by the total shares of all active WLM classes. It is important to note that AIX Workload Manager will only enforce these percentages when the resources are under contention.

Note:A WLM class is active for the duration of a job step's execution and is deleted when the job step completes. There is a limit of 27 active WLM classes per machine. Therefore, when resources are being enforced, only 27 job steps can be executing on one machine.

For more information on integrating LoadLeveler with AIX Workload Manager, see Considerations for integrating LoadLeveler with AIX Workload Manager.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]