Advanced Options - Workload Balancing in Agents

A properly configured Automation Engine system can deal with many thousands of processes at the same time. One of its major advantages is the possibility to distribute workload to maximize process optimization. As an administrator user, you have several functions at your disposal that help you configure the Automation Engine to make the best out of it. One of them is distributing the workload among Agents when processing Job and File Transfer objects. This is an important feature because some Jobs and File Transfers can be particularly CPU-consuming and have long runtimes. To configure the workload distribution among Agents you use the UC_HOSTCHAR_DEFAULT default VARA object and the the Workload Balancing settings for Agents that are available on the Advanced Options dialog. As a developer and object designer, you can configure your Job and File Transfer objects to take advantage of it too.

This topic explains how to work with UC_HOSTCHAR_DEFAULT and the Workload Balancing Agent settings. However, this is just one of the possibilities you have to optimize workload distributions and the use of resources.

This page includes the following:

Overview

You define Agent workload balancing when processing Jobs and File Transfers at three levels:

  1. Specifying the default resources allocated to an Agent in a predefined system VARA object.

  2. Overwriting the default at Agent level when necessary.

    The values entered in UC_HOSTCHAR_DEFAULT are the default and apply system-wide, but you can overwrite them temporarily by setting a different value at Agent level. You do it on the Advanced Options dialog available in the Administration perspective for each Agent. The new resource values apply until the Agent connection or the Agent itself is ended.

  3. Specifying the resources that can be consumed at object (Job or File Transfer) level.

    On the Attributes Page of the Job and File Transfer definition you can select the Consumption: ResourcesConsume <x> resources in the Runtime Parameters section and allocate Agent resources to the object.

Note: Resources in the context of Agents o not refer specifically to CPU time or memory but are abstract values. They provide a high level of flexibility to your configuration.

  1. A task starts when the Agent has sufficient resources to execute it.
  2. If there are insufficient resources, the task status changes to Waiting for resource and it is executed when resources are available again.
  3. If there are several tasks waiting, the Automation Engine Priority decides which task should be processed first.

Example

An agent has 100 available resources for job executions. Three Jobs should be executed.

Notes:

Defining Workload Balancing in Agents

  1. As an administrator user, specify the default resources allocated to an Agent.

    Agents have a resource pool that you define in the predefined system VARA object (UC_HOSTCHAR_DEFAULT). This VARA object assigns Agents the number of resources that it can consume during the execution of each Job and File Transfer object.

    You probably have created various copies of this VARA object, one per Agent. These instructions use UC_HOSTCHAR_DEFAULT as name of the VARA object. In your case, enter the nale of the VARA object created for the Agent that you want to configure.

    1. Log on to Client 0.
    2. Enter UC_HOSTCHAR_DEFAULT in the Global Search box and press Enter.
    3. Click the link to the VARA obejct that is displayed in the list.
    4. In the WORKLOAD_MAX_FT and WORKLOAD_MAX_JOB keys, enter the resources you want to allocate.

    For information about how to configure the VARA object and what are the allowed values, see UC_HOSTCHAR_DEFAULT - Host Characteristics.

  2. Open the Administration perspective and go to the list of Agents.
  3. Right-click the Agent you want to configure and select Advanced Options.
  4. In Workload Balancing enter the resources you want to allocate to Jobs and File Transfers that are procesed by tis Agent.
  5. Click Apply.

Ignoring the Allocated Resources

If necessary, you can execute a task that is waiting for resources despite the settings in the Agent. You have two possibilities:

The resource value in the Agent is ignored. The resources defined at object level are consumed and the maximum resource value defined for the Agent is temporarily exceeded.

Maximum Number Simultaneous Executions per Agent

You can specify a limit to the number of task that can be executed siumltaneously by an Agent.

  1. In the UC_SYSTEM_SETTINGS variable ensure that Jobs and File Transfers consume 1 of the available resources (WORKLOAD_DEFAULT_FT and WORKLOAD_DEFAULT_JOB keys).
  2. On the Attribues page of the Job and File Transfer object definition, enter 0 in Consumption: ResourcesConsume <x> resources (Runtime Parameters section).
  3. In the UC_HOSTCHAR_DEFAULT variable enter the maximum number of Jobd and File Transfers that can be processed simultaneously.

See also: