Requirements-based job scheduling

Batch provides both implicit and explicit job scheduling requirements, which match against endpoints based on an application name.

Implicit requirement matching

An implicit scheduling requirement determines which applications a job runs. In Java™ Platform, Enterprise Edition (Java EE) applications, the application name of all Java EE applications installed in the scheduling domain is known through the product configuration, because all Java EE applications are installed into this environment through product administrative interfaces.

For lote utility applications, this information cannot be assumed. By default the information is unavailable, since lote utility applications are installed outside the control of product administrative interfaces. For these applications, the lote administrator can optionally enable application-name based endpoint selection for particular nodes by setting the grid.apps node custom property.

Through this property, the administrator establishes configuration knowledge of the grid utility applications available on that node. When the grid.apps node custom property is set for a node, that node is an eligible endpoint for job dispatch if and only if all the lote utility applications named in a given xJCL are present in the grid.apps list. If the grid.apps node custom property is not set on a node, then application names are not considered during the endpoint selection process for that node. When there is a combination of nodes that either specify or do not specify the grid.apps node custom property, an order of precedence governs endpoint selection. The following code shows the order of precedence.
if any node published grid.apps then
	attempt to match job using app names
	if there is a match then
		if job has required-capabilities then
			candidate-nodes= $(apply required-capabilities to the set of nodes that have
matching apps)
					else
		candidate-nodes= $(nodes that have matching apps)
					endif
else (no match based on grid.apps)
			if job has required-capabilities then
		candidate-nodes= $(apply required-capabilities to all nodes)
					else
		candidate-nodes= $(all nodes)
					endif
		endif
else (no nodes publish grid.apps)
			if job has required-capabilities then
							candidate-nodes= $(apply required-capabilities to all nodes)
			else
							candidate-nodes= $(all nodes)
			endif
endif
Java EE type applications always use application name matching during endpoint selection.

Explicit requirement matching

Explicit requirement matching enables a job to specify particular requirements that must be met by eligible endpoints. These requirements are specified in the lote job xJCL on the <required-capability> attribute. When required capabilities are specified, only endpoints that advertise matching capabilities are eligible to receive the job. The match expressions can specify any of the following node properties:
  1. Node custom properties
  2. Node metadata properties. For example, com.ibm.websphere.xdProductVersion
  3. Node name and node host name

Requirements matching precedence

Implicit and explicit matching work together to determine eligible endpoints. For Java EE type jobs, the implicit requirement, application name, is treated as an additional required capability; it is logically appended with any explicitly specified requirements.

For lote utility jobs, an application name is a conditional requirement that applies only for lote utility nodes that advertise their installed applications through the grid.apps property. The lote utility jobs for which no application name match exists and that do not specify explicit requirements are eligible for dispatch to any lote utility node that does not advertise its applications.


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: July 9, 2016 7:49
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cgrid_cgjobsched
Nome do arquivo: cgrid_cgjobsched.html