The XGE Interfaces

Using the XGE Interfaces extension package, Windows-computational based processes such as data processing, make-based builds, simulations, testing scripts and others can easily be accelerated. 4 simple XML and command-line based interfaces are available, each suited to a different scenario to help make the conversion to a grid-based, distributed solution as simple and as rapid as possible.

Using the Xoreax Grid Engine Interfaces

The XGE interfaces use the standard 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 XGE 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 Process-Level 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

Four 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

XGE can accelerate any make or build tool that supports spawning of several processes in parallel (e.g. "gmake -j 5") by automatically translating this capability to Grid-enabled, distributed execution, without requiring any changes in the makefile or input file contents. Using this method, many build tools such as JAM, SCONS, ANT, make variants and others can now easily 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.