Xoreax Software

XGE Interfaces Extension Package

Using the XGE Interfaces extension package, IncrediBuild can be utilized to distribute complex Windows-based processes such as make-based builds, data builds, simulations, testing scripts and more.

Using the XGE Interfaces

The XGE interfaces use the standard IncrediBuild architecture of Agents (client components) and Coordinator (server component managing the workload).

Once a task-set (a set of tasks for distribution along with their dependency definitions) is defined through one of the interfaces described below, it can be executed on any machine running an IncrediBuild Agent. Tasks are run concurrently both locally and on remote machines, utilizing any additional CPUs or cores on participating machines. Remote tasks are run in idle process priority, allowing user workstations to contribute to the processing power and eliminating the need for dedicated processing farms.

All tasks running on remote machines are executed using Xoreax's Virtualization technology, which simulates the initiating machine's environment on the remote machine to ensure correct results. All error-recovery scenarios are also handled automatically by XGE.

The IncrediBuild Build Monitor Progress View visually displays the distributed processing progress
The Build Monitor Progress View visually displays the distribution progress. Each bar is colored according to its corresponding message severity and exit code.

Available XGE Interfaces

4 distinct interfaces can be used to define the set of tasks to be distributed through XGE:

XML Interface

The XML Interface is a general-purpose distribution interface which uses an input XML file describing a set of command-line tasks to be run through the Xoreax Grid Engine, along with their input files, output files and dependencies. IncrediBuild is run with the XML file as input, distributing execution of the tasks described in the XML file. As with all XGE interfaces, all remotely performed tasks fully emulate the initiating machine's environment and file system, eliminating the need to copy files or install applications on remote machines.

Automatic Interception Interface

Through its unique technology, XGE can take advantage of any make or build tool that supports spawning of several processes in parallel (e.g. "gmake -j 5"), and automatically translate this capability to distributed execution, without requiring any changes in the makefile or input file contents. Using this method, many build tools such as JAM, SCONS, ANT, gmake and others can now run distributed builds.

Submission Interface

The submission interface allows direct submission of command-line based tasks for distributed execution from scripts, batch files and custom tools. Additional features such as grouping tasks and pausing execution until specific groups of tasks have completed execution are also available for scripting needs.

Visual Studio Interface

Using the XGE Interfaces extension package, execution of custom build steps, build events (pre-build, pre-link, post-build) and custom build rules defined in a Microsoft Visual Studio projects may be distributed to remote machines. Dependency and output file definitions are considered to ensure correct execution order.

For more in-depth information about the XGE Interfaces, consult the Online User Manual.