OpenMake Meister

Distributing the Workload of the Workflow across multiple Server Pools

 

Workflow execution times can be improved by leveraging the power of multiple machines.  A Workflow can be configured so that individual Workflow Activities in the Workflow can execute across different Server Pools. When the Workflow is run, the Knowledge Base server will queue Workflow Activities on a Remote Agent within the Server Pool, and query each Remote Agent to find out how much CPU is being used. If a Remote Agent in the Server Pool has reached its Queue Threshold, the Knowledge Base server will look for another Remote Agent in the Pool to offload Workflow Activities. If another Remote Agent in the Server Pool is running, and has not reached its Queue Threshold or its Max Workflow threshold, the Knowledge Base server will start queuing activities on that Remote Agent.

 

With Server Pools, you can execute Workflow Activities across multiple operating systems. All Workflow Activities can be distributed across multiple Server Pools in this way.  In a distributed Workflow each Workflow Activity is assigned to a particular Server Pool. The Knowledge Base server will determine based on a formula, which Remote Agent in the Server Pool will be assigned each Workflow Activity.  When the Workflow executes, the Workflow Activities are distributed out to Remote Agents according to a formula, which is based on the number of Workflow Activities that can be queued on each Remote Agent, how many simultaneous Workflows can be run, and the CPU % Threshold. Controlling distributed Workflows by assigning individual Workflow Activities to Server Pools allows you the ability to ensure that the Workflow Activities is executed on a Remote Agent that is configured to properly execute the task.  For example, you cannot execute a Java compile on a machine that has only been configured to support .Net development.