Jenkins Enterprise by CloudBees Features: Even Load Strategy Plugin

Problem
The default Jenkins algorithm for allocating a machine directs Jenkins to always try to use the same node for the same job, unless it's not available. If the node is not available, the job will build elsewhere. However, as soon as the preferred node is available, the build comes back to it. This locality is useful in a large number of cases. For example, when performing updates on SCM it is preferable to a fresh checkout, and some tools (like Maven) use local caches to speed up builds.

However, this may result in a scenario where a number of builds run on the same machine, while there are other machines sitting idle. In situations like this, it is beneficial to be able to change the default behavior of Jenkins to target idle machines. This allows your builds to run faster and you make optimum use of resources in your system.

Solution
This plugin offers a different scheduling algorithm, one that we refer to as "even load strategy." With this strategy, the scheduler prefers idle nodes absolutely over nodes that are doing something. The strength of this algorithm is that you are more likely to get a fully idle node. Quite simply, executing a build on a fully idle system is faster than executing the same thing on a partially loaded system, all other things being equal.