Parallel build scheduler

Learn about parallel build scheduler.

clearmake schedules and manages target rebuilds as follows:

  • It executes the build script for an out-of-date target as soon after detection as system build resources allow.
  • It does not assume that executing a build script for a specific target implies that the target was updated.

clearmake evaluates the dependency graph, beginning with the targets specified on the command line. Before evaluating a specific target, clearmake ensures that all dependents of that target are evaluated and brought up-to-date. If a target is out-of-date, it is made available for rebuilding. A rebuild is initiated as soon as system resources allow. Depending on the availability of build hosts and load-balancing settings, this might happen immediately or might be delayed.

When Derived Object (DO) shopping or winkin occurs, clearmake postpones DO lookup for any target that has scheduled dependents until the target is encountered in the rebuild logic. When such a target is detected, clearmake then attempts the DO shopping/winkin only when the dependencies of the target are completed. This delay eliminates unnecessary rebuilds in serial mode and allows a parallel clearmake to initiate rebuilds sooner.

Failure modes

Certain conditions can interfere with an abe process, causing a target rebuild to fail:

  • Remote login is disabled on a particular host, preventing an abe process from being started.
  • The view of clearmake cannot be accessed on the remote host.