Virtualization and Grid Computing
By Melvin Koh on Nov 07, 2007
Today, Solaris 10 already comes with virtualization technology like Container and LDOM. Recently, the build 75 of Solaris Express Community Edition is enabled with the xVM hypervisor. I'm quite excited about xVM as I've been wanting to test it out long time ago. Virtualization has generated a lot of attention but not as much in HPC. There will be performance overhead when running applications in hypervisor and the benefits like server consolidation to improve utilizations does not really apply to HPC. However, virtualization can still be very useful, especially in a heterogeneous environment. Different HPC applications may support different OSes, so its easier to manage the OSes in virtual machines (VMs). We can also limit the resources of a virtual machine so that we can have greater control and flexibility in managing the workload. But to me the best thing is the ability to migrate or move your VM around. A faster machine becomes available? Just migrate that VM over. A more important job needs to be run? Save the state of the VM, suspend it and start another VM to run the higher priority job. This paper gives a very good justification of why use virtualization for Grid computing.
Already, there has been several research in Grid Computing that uses virtualization. Globus Virtual Workspace allows the Grid user to dynamically create a virtualized execution environment in a Grid resource. The idea is that you can create your own workspace in someone else machine, do whatever you want with it, and destroy it once you're done. GridHypervisor is another project that is building a VM management and provisioning layer on a Grid infrastructure. The project aims to enable the large-scale, reliable, efficient and dynamic deployment and re-allocation of virtual machines between different administrative domains, each with its own security policy and local virtualization management technology.