As mentioned in my post titled, Virtualization and Green Computing, green computing the industry catch phrase for finding ways to make the most efficient use of computing resources. In this post, I'd like to look at processing virtualization and the role it plays in green computing. Processing virtualization, by the way, is using hardware and software to break the link between an application, application component, system service or whole stack of software and the underlying machine(s). There are a range of different types of virtualization technology in the virtual processing software category including the following.
- High performance computing software — software that allows applications or data to be segmented (sometimes the word "decomposed" is used) into units that can be run simultaneously on many machines to reduce the amount of time necessary to execute applications. There are several different communities using this type of software. Some call it "grid computing," some call it "parallel processing, and others make references to the marching brooms in the Disney film "Fantasia." This one application to many machines approach is typically found supporting scientific, research, geophysical, weather and content creation applications.
- High availability/clustering software — software that is used to monitor an entire application stack or service. If the application or service slows down or stops completely, a replica of the application or service is started on another machine. This approach is commonly used to support a monolithic function such as a collaborative application or a database management engine.
- Virtual machine software — software that gets beneath an then encapsulates an entire stack of software from the operating system, data management software, middleware and applications themselves. This software then allows multiple "capsules" or virtual machines, each running it's own operating system, to run on the same piece of physical hardware. This approach is commonly deployed as part of a server consolidation strategy. Interestingly enough, it might also be used to support client consolidation.
- Partitioned operating systems — this software segments a single operating system so multiple stacks of software can share the same operating system without interfering with one another or even knowing that other stacks or Zones exist. As with virtual machine software, this type of software is often part of a server consolidation strategy.
Each of these approaches abstract processing away from the underlying hardware but, the goals for the use of this software varies depending upon the type of software in question. High performance computing software is focused on getting things done faster with the help of more brooms, err, I mean more systems. High availability/clustering software is focused on agility, scalability and reliability. Virtual machine software and partitioned operating systems are two different ways to optimize the use of systems. How does this type of software help organizations create a green computing environment?
- Consolidation —in the past, the scalability and reliability of some operating systems made it seem necessary to assign each application or service to its own system. Other, more mature, operating systems were able to support many different applications or services without having any scalability or reliability problems. As machines become more and more powerful, this approach wasted much of the computing power available. When utilization could be measured as only hitting the low single digits or in the low double digits, organizations started to realize they could do better. Virtual machine software or a partitioned operating system made it possible for mutiple applications or services to reside on a single system. This approach clearly could reduce the number of systems needed, the amount of power required, the heat produced and, as a wonderful side effect, would reduce some of the operational and administrative costs of physical systems.
- Workload management —high performance computing software and high availability/clustering software often making it possible for work to be moved from machine to machine based upon service level agreements or upon the workload being imposed by users on the network. This is also seen when workload management software is combined with either virtual machine software or partitioned operating system software. Since the link between the application and the actual physical system has been broken software, systems can be selected based upon what's most appropriate for the task at hand, the time of day, the phase of the moon, or some other important criteria. Fewer high performance, costly, power hungry and heat producing systems might be required. Less costly systems that consume less power and produce much less heat could be used when and wherever possible. This approach could help organizations reduce the hardware costs and consume less power.
As with other forms of virtualization, this is not new. It's been an important part of most datacenters for the past 30 years or so. Suppliers such as HP, IBM, Sun and others have made this software available for years. Suppliers such as Cassatt, DataSynapse, Scalent, SteelEye, Surgient, VMware, XenSource and quite a few others offer this technology on industry standard, high volume clients, servers and blades. As with storage virtualization, the careful use of this software can help organizations reduce hardware, maintenance and administrative costs while also helping preserve the endangered kilowatt and preventing the release of the dreaded BTU, Calorie or Joule. How is your organization using processing virtualization to create a green computing environment?