Resources in the job definition
This topic provides an overview of how resources and their properties are used in the job definition to identify possible targets, to reserve allocations of consumable resources, and to optimize load balancing between available resources.
- Is consumable
- Properties of resources that are consumable have finite amount associated with them which can be consumed by the jobs that are allocated to the resource. For example, a computer system has a finite number of processors.
- Can be optimized
- Some properties can be used to define optimization objectives, which determine how load is to be balanced when jobs are allocated to a group of resources. For example, you could choose to allocate a job to the matching resource that has the lowest CPU usage.
- Supports wildcards
- Some properties can be specified in the job definition using wildcards. For example, a requirement for a particular series of computer models could be defined by specifying the model using wildcards.
Resource Type | Available properties | Is consumable | Can be optimized | Supports wildcards |
---|---|---|---|---|
ComputerSystem | CPUUtilization | No | Yes | No |
HostName | No | No | Yes | |
Manufacturer | No | No | Yes | |
Model | No | No | Yes | |
NumOfProcessors | Yes | Yes | No | |
ProcessingSpeed | No | Yes | No | |
ProcessorType | No | No | No | |
LogicalResource | DisplayName | No | No | Yes |
SubType | No | No | Yes | |
Quantity | Yes | Yes | No | |
OperatingSystem | DisplayName | No | No | Yes |
FreePhysicalMemory | No | Yes | No | |
FreeSwapSpace | No | Yes | No | |
FreeVirtualMemory | No | Yes | No | |
OperatingSystemType | No | No | No | |
OperatingSystem Version |
No | No | No | |
TotalPhysicalMemory | Yes | Yes | No | |
TotalSwapSpace | Yes | Yes | No | |
TotalVirtualMemory | Yes | Yes | No | |
FileSystem | DisplayName | No | No | Yes |
FileSystemRoot | No | No | Yes | |
FileSystemType | No | No | No | |
FreeStorageCapacity | No | Yes | No | |
TotalStorageCapacity | Yes | Yes | No | |
NetworkSystem | NetworkAddress | No | No | No |
NetworkSystem HostName |
No | No | Yes |
- Identifying targets for the job
- On the Resources page of the Job Brokering Definition Console,
you can supply information about the resources required for the job.
Using this information, HCL Workload Automation can
identify the computer systems on which the job could run. In addition
to the basic hardware and software requirements, you can use the Advanced
Requirements tab to include requirements for specific resource
properties. For example, you can add a requirement for a specific
processor type or specify a required range of processor speeds. In
the JSDL schema, the Resources page corresponds to the resources element.
When you define a resource requirement, the underlying relationship between the required resource and the computer system which contains the resource is automatically created by the Job Brokering Definition Console to facilitate the usage of the product.
Resource property requirements to be used when identifying targets for job can also be specified on the Related Resources page. A related resource includes the following resource types:- A set of hardware and software properties of a computer such as operating system, file system, and network system.
- Logical resources, which are a flexible means of providing information about your environment in addition to the information collected by the hardware scan. For example, you could create logical resources to represent applications, groups, licenses, or database access. A logical resource can be linked to one or more specified computers or it can be a freestanding global resource, available to all computers.
- To specify additional requirements, making the matching criteria for possible targets more precise
- Targets can only match if they either contain or are associated with the specified resource. In addition to defining the related resource in the job definition, you must also define its relationship to the target resource and specify the relationship type as contains or associates with. Related resource that define hardware and software properties always have a contains relationship while logical resources often have an associates with relationship. For example, if a related requirement for a logical resource that represents a node-locked license is included, the target system must be one of those that is associated with this resource, and therefore a target where the license is available.
- To specify global resources that must be available for the job to run
- These related resources are not related to the target resource and have no role in finding matching resources for the job to run on. The resource must be available to the job at submission time. For example, if a license required to run the software used by the job is of a type that is not assigned to any computer, a logical resource could be created to identify it and to track the number of licenses that exist and that are in use. No computers are associated with this logical resource and so it is referred to as a global resource, available to all computers. The job definition includes a related resource identifying the floating license logical resource and the number of licenses required. Before the job can run, it must be possible to meet this requirement.
When the resource requirements for the job are defined, logical rules are applied to determine whether the requirements are alternatives to each other (OR) or whether they are inclusive (AND). In general, the different types of requirements have an AND relationship, for example, if you specify an operating system type, CPU architecture, and a value for minimum physical memory, the target resource for the job must meet all of these requirements.
Within the following requirement types, you can specify alternatives that have an OR relationship:- Candidate hosts
- Candidate CPU architectures
- Candidate operating systems
Within the following requirement types, all requirements specified must be met by the target resource for the job.- Logical resources
- File systems
- Reserving resources
- When
defining the requirements for a job definition, you can define the
amount of a consumable property which will be allocated to the job.
When a resource property is allocated to a job, the amount you specify
is logically reserved for the job. If another job is submitted which
allocates a value greater than the remaining capacity of the same
consumable property, this job cannot run on the same resource as the
previous job because the required property is already reserved. If
no property allocation is specified in the job definition, the job
can run on the same resource as the previous job because the allocation
mechanism applies only if both jobs allocate the same property.
You can use the allocation mechanism to limit concurrent use of the same quantity by several jobs and improve system performance.
On the Job Brokering Definition Console, you can allocate a specified quantity of a consumable property. You can use the allocation pane from the Advanced Requirements tab of the Resources page or you can define a required resource and property in the Related resource page and specify the amount of the property to be allocated. From the Advanced Requirements tab on the Resources page, you can only allocate consumable properties of computer system resources.
- Defining load-balancing policies
- You
can use the Optimization page in the Job Brokering Definition Console to
define custom rules for load-balancing to be applied when the job
is submitted. The default method of load-balancing is to aim to equalize
the number of jobs running on each resource. Dynamic workload broker provides two types of optimization policy types that use rules based on resource properties:
- Balance load between resources by optimization objective
- Select best resource by optimization objective
For both policies, you define an objective to distribute jobs minimizing or maximizing the property of a computer system, a file system, a logical resource, or an operating system. For example, you could balance loads with the aim of keeping the free physical memory available on operating system resources as high as possible.
When the Balance load between resources by optimization objective policy is used, jobs are distributed between matching resources based on a statistical probability that the resource currently has highest amount of free physical memory of all matching resources. When the Select best resource by optimization objective policy is used, the job is allocated to the resource that has the highest amount of free physical memory.
When defining an objective, you must select a resource that is included in the job definition as part of the identification of targets for the job. For example, if you want to define the objective to minimize free physical memory, at least one operating system requirement must be included in the job definition. This could be candidate operating systems, a physical or virtual memory requirement, or a related requirement involving operating system properties. Computer system properties are the exception to this rule. Optimization objectives using computer system properties can be always defined even if the job definition includes no explicit computer system requirements.
For information about all available load balancing policies, see Job definitions.