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 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.
|