Virtualization has a whiff of magic about it: it offers the promise of turning one computer into many, allowing multiple operating systems (OS) to run at once. No wonder that it's one of the hottest buzzwords in the computer industry at the moment. With virtualization, each OS runs in its own isolated virtual machine (VM), which presents all the essential features of a real machine. In one sense it is not a new technology - most of the ideas were originally implemented in the earliest mainframes. But the continued growth of processor performance is now making virtualization viable on commodity hardware in a way that it hasn't been in the past. Established companies such as VMWare and newcomers such as XenSource are offering a stream of new products designed to make virtualization more powerful and easier to manage.

VMs are a natural companion to the Grid, as it itself is a method of virtualizing resources. Grid-Ireland was one of the first in the European Grid community to seriously investigate VM technologies. In fact, we have been using virtualization on our production infrastructure since early 2004. We started off with Grid User Interfaces (UI) VMs hosted on User-Mode Linux, and then switched to Xen in late 2004 as it offers much greater performance.

VMs have enabled us to increase cost-efficiency and to simplify management. Last year we connected 11 new sites to Grid-Ireland and, through this regional Grid, to the larger infrastructure of the Enabling Grids for E-science (EGEE) project. This wouldn't have been possible without the use of VMs. Each new site hosts a gateway - a single physical machine that runs five virtual machines, each hosting a different service node of the EGEE Grid. One physical machine is all that's needed to connect a site to the Grid.

Is this a real advantage, given that recent releases of the EGEE Grid middleware already allow combining different services on one machine? Yes, because that approach produces weak security: you don't want interactive services (such as on a UI) in the same OS as your core Grid services. We believe that VMs are a better solution as they provide real isolation.

There are many other promising possibilities. For example, VM-based worker nodes could be dynamically created at job submission, based on a custom image provided by a virtual organization. As well as permitting much greater customization of execution environments, this approach would increase security by isolating each job in an independent environment.

We have also used VM technology to build up an extensive testbed (known as TestGrid) for certification, porting and development of Grid software. TestGrid contains 40 machines hosting a multitude of VMs including replicas of machines on the real Grid-Ireland infrastructure. It is a realistic testbed in an isolated network using the same network addresses as the real sites: an ideal environment for porting and validating middleware and for testing configuration changes. Our developers use it to construct custom testbeds: VMs make it easy to set up and tear down new environments without time-consuming installation and configuration.

These are exciting times. Virtualization has already changed the face of commercial computing. For the Grid, the virtual revolution is just beginning.

Further reading

For more about Grid-Ireland see www.grid.ie. B A Coghlan, J Walsh and D O'Callaghan 2005 "Grid-Ireland Deployment Architecture" Proc. EGC'05, LNCS 3470.
S Childs et al. 2006 "A virtual TestGrid, or how to replicate a national Grid" Proc. ExpGrid workshop at HPDC 15.