How to optimize your IncrediBuild grid settings

The Coordinator component is responsible for providing available build resources (Helpers) for the machines that starts a build (Initiators).
Although it sounds simple, there are some configurations that you might want to consider in order to optimize the build assignment.

When you open the Coordinator Monitor, you will see the full list of your Agents. Right clicking on one of them (bulk operation is also possible) will open a dialog.

Build Priority:
Defines how important this Agent is when it starts a build (Initiator). By default, it has a normal priority which means that it will receive “regular” available resources.
However, if this Initiator machine is an important one, i,e, it always starts high priority builds, you can increase the priority of that Initiator to “High” and by doing that, it will receive the most powerful available Helpers that the Coordinator will be able to find.

Assignment Priority:
Defines how important this Agent is when it is used as Helper. Incredibuild can estimate the power of each Agent by checking the CPU / Memory parameters. However, it is highly possible that a powerful Server will have a lower CPU cycle then a regular Desktop. Therefore, it is recommended to increase the assignment priority for Servers which are used as Helpers so they will be more assigned to builds and be preferred over “regular” Desktops.

IncrediBuild also has the ability to create Build Groups. Using those Build Groups you can create mini grids of Agents or more precisely, a resource separation under the same Coordinator.
Lets say that you have 100 Agents but 50 are located in London and 50 in Paris. All those 100 are connected to one Coordinator which is located in London. When a developer in Paris will start a build, the Coordinator will allocate Helper machines from any region. This is not optimal since it is logical that “London Agents” will not work in the same manner with “Paris Agents” due to network latency.
Therefore, It is possible to create a separation. In the Coordinator Monitor, using the ctrl key, select all the “London Agents” → right click → Build Group. In the dialog, define the group name - lets say “London” and click OK. From that point on, “London Agents” will use only each other and will not communicate with any way with the “Paris Agents”.
For details - see:
https://docs.incredibuild.com/win/latest/windows/working_with_build_groups.html?Highlight=build%20groups

If you have any questions - I am here to help :wink:

3 Likes

Great write up! Thank you for posting

1 Like