Xoreax Software
Technology
Performance Features

Using XGE-based distribution, up to a X15 improvement in execution time may be achieved. The following graph depicts the improvement in build time of a Visual Studio project, as more Agents are added to the Grid:

Xoreax Software

Performance-Related Features

XGE technology incorporates a combination of techniques designed to maximize the efficiency of task distribution over the network. Here are a few examples:

  • File Caching: In order to cut down on network traffic, a file cache is created on every Agent's file system, storing recently accessed files. Intelligent file swapping, hard-linking and metadata refresh algorithms are utilized in order to bring file synchronization to a minimum. File caching is particularly effective when source files used by distributed tasks are stored on network storage devices, which are typically slower to access in comparison to local file storage.
  • Real-Time Compression: To further reduce network traffic, data transferred over the network is compacted using real-time compression/decompression algorithms.
  • Idle CPU Operation: Office workstations are typically used for tasks such as text editing, surfing the Internet and data-based applications. Since these tasks consume very little CPU, they make office workstations excellent resources for accelerating CPU-intensive jobs through network distribution. IncrediBuild achieves this by executing distributed tasks on workstations using idle CPU cycles, meaning anyone using a workstation practically doesn't notice when it is being utilized as a computing resource. Installing IncrediBuild Agents on office workstations thus helps utilize an office's existing hardware while eliminating costs for dedicated Grid hardware.
  • Adaptive Resource Assignment: Because availability of computers in the Grid constantly varies, XGE employs adaptive assignment logic that responds to changes in nodes' availability. As soon as a node's CPU/Network availability falls below a minimum level (as a result of other activity on that node), it automatically stops participating as a remote resource in the grid, and any uncompleted tasks being executed on that node are transferred to another, more available Agent. This behavior improves the distributed job performance while keeping remote nodes responsive.
  • Multiple CPU/Core Utilization: IncrediBuild Agents can utilize additional processors and cores whenever available. CPUs/Cores can be used as independent computing resources, each capable of executing a task in parallel with others. As a result, each computer's hardware is fully utilized.
  • Task Doubling: This unique feature optimizes performance whenever an Agent executing a distributed job is left waiting for a single remote Agent to complete a task. As soon as this state is reached, the node that initiated the distributed job starts executing the pending task in parallel, "racing" against the remote Agent. As soon as one of the Agents completes the task, output from that Agent is applied to the distributed job, which can consequently either complete execution or continue executing any remaining tasks which depended on the completed task.