Process-Level Virtualization

Grid Computing and Virtualization

One of the challenges in Grid Computing architectures is guaranteeing that distributed tasks running on the different nodes in the Grid farm always deliver results which are compatible with the equivalent, original "standalone" process results. Usually, this is achieved by deploying dedicated virtual servers which load and unload "Images" of the required environment by demand. The downsides of this approach is the cost and complexity involved in maintaining these servers and keeping the grid image database up-to-date.

XGE takes a different approach to this challenge, guaranteeing reliable results without the burden of creating and maintaining system images or deploying virtualization software. Uniquely, XGE can also utilize the idle CPU time of active user workstations connected to the local network, making dedicated servers an option and not a necessity.

XGE Process-Level Virtualization

Tasks running on the XGE Grid are executed as a special "Virtualized Process". The Virtualized Process emulates the initiating node's environment, file system and registry, causing tasks executing within the XGE Virtual Environment to always access the initiating node's environment and file system, while utilizing the remote node's idle CPU and memory resources. In this manner, tasks running on the grid always use an up-to-date version of the application environment and data.

Tasks executing on a remote node cannot alter the remote node's file system or registry. Instead, any modification to the file system is carried on on the initiating node, ensuring the integrity of the distributed process while keeping the remote node's environment unaffected and protected.

The concept of Process-Level Virtualization means that no pre-configuration of remote nodes is required in order for an Agent to perform distributed tasks. Instead, all synchronization is performed automatically and safely by XGE.