Last months the work of our team has been focused on virtualization technologies, specially its application to Grid Computing. When a Grid is assembled, even in its most simple form, some inherent problems to distributed systems arise. I refer here mainly to those infrastructures whose main goal is to provide access to computational resources (i.e. the classical MDS-GRAM-GridFTP Grid structure).

These MDS-GRAM-GridFTP Grids invariably present a certain degree of heterogeneity which in turn limits the number of potential resources to provide an application with. The problem is even worse in real-life setups, just listen to anyone involved in any application porting activity. Usually, users from different Virtual Organizations require a different software stack, which can even include different versions of the same application or library! The need to install, configure and maintain a variety of working nodes impose a significant stress on the infrastructure. The result is an infrastructure which is difficult to maintain and program.

How can Virtual Machines help in this scenario?. Among other techniques (see for example SofEnv) VMs can ensure the correct execution of the application by encapsulating software configurations in a “well-known” environment. VMs are a powerful tool for Grid sysadmins also:

  • They can easily isolate and partition their systems, so deciding the amount of resources they want to put in the Grid.
  • Specific VO-specific environments can be prepared following an “install once deploy many” approach, so reducing the operational cost of the infrastructure. These kind of scientific virtual appliances (VA) are being packed and distributed in the form of repositories (for example Bioinformatic VA or physics simulation VA).
  • They also get all the virtualization goodies for free, i.e. consolidation….

Recently we have developed an architecture for the dynamic provisioning of computational services on a Grid. The system leverages virtualization technologies to provide flexible support for different VOs:

  • A given site is able to balance the physical resources allocated to each VO it is supporting. This is achieve by balancing the number of virtual worker nodes allocated to each VO.
  • The system deploys on-the-fly VO-specific (familiar) worker nodes to execute their applications. So the cost to gridify applications and to operate the infrastructure are significantly reduced.

virtualization.png

How does the system work? Basically, users submit their requests to GridWay (meta-scheduler). Depending on a predefined set of policies and the actual Grid load, an Infrastructure Manager deploys VO-specific workernodes in the Grid computing elements. The deployment of the VMs supporting the workernode is done through the Virtual Wokspace Service. Once the workernode is up an running it registers in the computing element, and this information is pushed to the Information Service (MDS). Then GridWay is able to detect the new slot and submit jobs to it through GRAM.Thanks to Virtual Machines, these kind of Grids can be turned in a very effective resource provisioning platform.

Ruben S. Montero