Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 Overview


5.4.9 Distributing jobs among execution hosts (agent hosts)

Organization of this subsection

(1) Distributing jobs among execution agents in an execution agent group

You can connect multiple execution agents with assigned priorities within an execution agent group. Jobs can then be distributed to the execution agents in accordance with the specified priorities. This functionality applies to Unix jobs, PC jobs, flexible jobs#1, HTTP connection jobs, action jobs, and custom jobs. Queueless jobs cannot be distributed among execution agents.

Specify the execution agent priorities to suit your system operation. If you assign different priorities, each job will be sent for execution to the execution agent that has the highest priority. When that agent's usage rate#2 reaches 100%, the next job is sent to the agent that has the next highest priority. For example, if the execution agent with the highest priority is already fully occupied or is in failed or stopped state and cannot run the job, the execution agent with the next highest priority can run it instead. Setting different priorities is useful for this type of system operation.

If you set the same priority for each execution agent, each job will be sent to the execution agent that has the lowest agent usage rate. If no particular execution agent takes precedence, jobs are distributed evenly among the execution agents. Setting identical priorities is useful for this type of load-balancing system.

#1

For flexible jobs, replace execution agent with relay agent.

#2

Agent usage rate is the ratio of active jobs to the maximum number of concurrently executable jobs at an execution agent. It is given by the following equation, rounded to four decimal points:

Agent usage rate = number of active jobs / maximum number of concurrently executable jobs

Cautionary notes
  • When jobs are to be distributed, there might be multiple execution agents that have the same priority and agent usage rate. In this case, to balance the load equally, the best way is to distribute the jobs by selecting the execution agent whose idle time is longest.

    For details, see 6.2.9 Setting the method for determining the agent host to which a job will be delivered in the JP1/Automatic Job Management System 3 Configuration Guide (Windows) or see 15.2.9 Setting the method for determining the agent host to which a job will be delivered in the JP1/Automatic Job Management System 3 Configuration Guide (UNIX).

  • When jobs are distributed, they are distributed only to execution agents for which the job transfer restriction status is Effective. Jobs are not distributed to execution agents for which the job transfer restriction status is Ineffective, Hold, or Blockade.

(2) Job distribution to execution hosts (agent hosts)

The manager host can distribute a job to a maximum of three agent hosts simultaneously. Note, however, that if you distribute a job to connected agent hosts when three or more of the agent hosts are unable to communicate, job distribution to normal agent hosts is delayed.

You can prevent a delay by, for example, using the ajsagtalt command to change the status of the job transfer restriction for the unavailable agent hosts to Shutdown before distributing a job. This suppresses job distribution to unavailable agent hosts.

If a communication error occurs during the distribution of a request to forcibly terminate a job, the distribution of other jobs will be delayed until the timeout period for the request elapses.

Therefore, you can reduce delays in job distribution by using the job distribution delay reduction function, which suppresses job distribution to unavailable agent hosts. For details about the job distribution delay reduction function, see 2.5.5 Considering reduction of job distribution delay in the JP1/Automatic Job Management System 3 System Design (Configuration) Guide.