Distributed Builds and Remote Agents

Using Distributed Builds with Remote Agents for Continuous Integration

Distributed builds requires the use of Remote Agents.  A common question I see on our support forums is how to configure Remote Agents to maximize machine resources.  When using OpenMake Mojo or Meister, you can configure a variety of Remote Agents types including:

  • Physical
  • Pre-Provisioned Virtual
  • CloudBuilder Options:  Amazon EC2, HyperV, and vCenter
You can configure Remote Agents for load balancing, process utilization and distribution by setting the following:

CPU % Threshold: Used to create a weighted value for use in deciding to which machine a queued activity will be assigned during load balancing. Recommend value is 80%.   For instance, if there are two Remote Agents, Agent A and Agent B, a CPU % Threshold can be assigned to determine which machine to use first.

 

The equation for this weighted value is:

CPU  % Threshold – Current CPU % Usage

 

For example, if Agent A and Agent B both have a CPU % Threshold of 80%, and Agent A is currently running at 50% CPU, its weighted value will be 30. If Agent B is running at 70% CPU utilization, its weighted value will be 10. In this case, if all other settings for the two Remote Agents are the same, Agent A will have the queued activities assigned to it, since it has a higher differential between CPU % threshold and current CPU % usage.

 

Queue Depth Threshold: Determines how many Workflow Activities will be queued up to run before the KB server starts offloading activities to other Remote Agents in the Server Pool.  The value of this number is determined by the amount of resources available to process Workflow Activities.  You can enter a number between 1 and 200.  The initial recommended value to 10 and can be increased if additional Remote Agents are being started unnecessarily.  The higher the number, the larger the queue.

 

Max # of Running Workflows:  Controls how many Workflows can be run simultaneously on the same Remote Agent.  Note: this value is different from the value set by the OMSUBMIT_MAX_USER_PROC  variable, which controls how many simultaneous Workflow processes can be run on a Remote Agent, or better known as parallelized processes.

By configuring and defining your Remote Agents to server pools you can easily maximize server resources which will improve your workflow performance and speed.

 


TRagan

Ms. Ragan has had extensive experience in the development and implementation of DevOps for large organizations. She began her consulting career in 1989 on Wall Street specializing in build, testing and release management for the distributed platform. It was during her consulting experiences that Ms. Ragan recognized the lack of standardized development procedures on open systems that were common on the mainframe. In the years leading to the creation of OpenMake Software she worked with development teams in implementing a community driven standardized build and deploy process that enabled frequent builds and releases, automated around version control. Her knowledge and experience contributed to the creation of OpenMake Meister, the first commercial Build Automation solution. Ms. Ragan served on the Eclipse Foundation Board of Directors as an Add-in Provider Representative for 5 years. She has been published on numerous occasions and regularly speaks at conferences including CA World where she presented for 15 consecutive years. She holds a BS Degree in Business Administration, Computer Technology from California State University, Pomona.

Related Posts

DevOps

Release Engineer for ARA

OpenMake Software enters ARA DevOps Market OpenMake Software drives release management with Application Release Automation (ARA) Chicago, IL – June 25, 2014 – OpenMake Software today announced the July 15th , 2014 GA date of Read more...

DevOps

Release Engineer 7.6 with Ansible Galaxy Roles

Ansible Galaxy Roles integrated into Release Management Bridging Ansible Galaxy Roles for Infrastructure Configuration Management with Release Management OpenMake Release Engineer 7.6 inclues the ability to integrate Ansible Galaxy roles into your application release management logic. Read more...

DevOps

Third Party Development with CA Harvest

The Problem and CA Harvest Understanding 3rd party development and CA Harvest CA Harvest can be used to manage 3rd party developed software. I’ve had a number of clients ask my advice around how to Read more...