An IncrediBuild environment consists of two major components: The IncrediBuild Coordinator (server) and IncrediBuild
Agents (clients). These combine server-based and peer-to-peer protocols to achieve a robust, effective and scalable
distribution environment.
IncrediBuild Agents
IncrediBuild Agents are client components responsible both for initiating distributed jobs as well as for participating
in distributed jobs initiated by other Agents as remote computing resources.
At its most basic level of functionality, an IncrediBuild Agent acts as a "Helper", executing computing tasks from distributed
jobs initiated by other Agents. XGE (Xoreax Grid Engine) Virtualization technology ensures a task will be executed exactly as
if it were being executed on the computer that initiated the job - regardless of the remote Agent's file system, installation
base and environment. Output files are similarly created on the initiating computer's file system.
Additional processors can be utilized to improve processing power, with each CPU carrying out a different task simultaneously.
IncrediBuild Agents are also able to initiate distributed jobs, comprising of tasks (a command line process, such as the
compilation of a C++ source file). Throughout the distributed job execution, the Coordinator assigns remote ("Helper")
Agents to the executing job. The initiating Agent communicates with these Agents, managing task assignment. Relevant input
files are transferred upon demand to remote Agents executing the different tasks, while output is transferred from the
remote Agents to the local file system.
IncrediBuild Coordinator
The IncrediBuild Coordinator is the server component in an IncrediBuild environment, responsible for keeping track of
system status and for assignment of computing resources (Agents) to distributed jobs. The Coordinator maintains a
dynamic, real-time view of the IncrediBuild environment, combining hardware and software profiles of every Agent with
their current availability and state. This information is used to ensure every distributed job is assigned the best
possible combination of computing resources.
Easily handling 500+ connected Agents, the Coordinator can scale up with an existing IncrediBuild environment as more
nodes are added to the grid. Additional Coordinator workgroups can be used side-by-side for further scalability.
Another crucial role performed by the Coordinator is that of a single-point configuration and management center for connected
Agents. Using the Coordinator Monitor, version upgrades, maintenance jobs and modification of user settings can be centrally
performed with ease.
A Backup Coordinator may be set up to ensure near-100% system availability. The Backup Coordinator assumes control
whenever the primary Coordinator becomes unavailable for any reason, alerting users of the condition but otherwise
maintaining all system functionality. Once the primary Coordinator is restored, normal operation is resumed.
|