Cloud Computing/Virtualization vs Grid Computing Projects.

This article discusses the industry trend to move towards cloud computing services/infrastructure and the possible impact this may have (or have already had) on ongoing grid computing voluntary projects. We will first cover in brief definitions of cloud computing, virtualization and grid computing. Subsequently, we look at possible declines in grid computing processing being caused by the efficiencies of moving to cloud services.

What is Grid Computing?

Grid computing is a computer processing model which takes large computational tasks and splits them into smaller sub-tasks. These sub-tasks are then distributed across a network of computer processors, each doing a small part of the overall job. The sub-task results are then passed back to the central grid node for inclusion and correlation in the overall project results.

One of the pioneer projects in the field of grid computing was the SETI At Home project initiated a Berkeley University in 1999.  I was a participant in the project from 2000-2006 and recently returned to continue my contribution.  The purpose of this project is to Search for Extra Terrestrial Intelligence (SETI). Radio-telescopes are used to monitor the vast amount of signals coming from space to seek out evidence of narrow-band signals which do not occur naturally in the universe. Analysing this vast amount of data is no small task and has been a core driver for the implementation of the grid computing project. The collected data is farmed out to millions of volunteer computers across the world, the data is crunched and then sent back to Berkeley processed.

Since 1999, several more projects have appeared across the various fields of scientific study including cancer research, global warming, astrological and many more. I recently joined(rejoined) the following:

SETI@Home – Search for Extraterrestrial Intelligence
Rosetta@Home – Medical research (Protein, Cancer)
World Community Grid – Medical research (Cancer, MS, AIDS), Environmental (Energy, Clean Water)

What is Cloud Computing?

There are tonnes of websites and books out there that can explain this for you. In short, Cloud Computing is all about moving information services out of a traditional local processing model and out to a remote location. That remote location is usually the Internet, operation of the cloud is usually managed by a 3rd party provider and you will usually be sharing the infrastructure with other organisations and individuals. Sharing in this way yields many benefits. Here are just a few: It costs less, it makes maintenance someone else’s problem and it also allows you to scale as your requirements increase.

Virtualization – Cloud Facilitator

The development and adoption of cloud services has been driven in no small part by advances in virtualization technologies. Virtualization has had a major impact on processor utilisation and efficiency. By allowing several virtual machines and operating systems to share the same hardware, processors which were previously hitting 10-20% use are now up to 90-95%. This yields significant benefits for organisations moving to a virtualized platform. It simply means that you can do more with less. Use of the hardware is optimized to a point where there is little free capacity.

Using the granular control over hardware resources which virtualization provides, has allowed Cloud providers to provision computing capability on demand. Amazon’s EC2 service is an example of this where you can buy processing power by the hour.

Cloud Versus Grid Computing

As migration to the cloud continues, processing power has and will continue to become a more tightly controlled commodity.  In the pre-virtualization era, Grid projects would use idle processor cycles to complete it’s work. Although this would require additional energy in the form of electricity, this was minimal and the projects were simply making efficient use of the unused 80-90% processing power. In the Cloud, this idle processing power is no longer widely available, as processor cycles can be provisioned on demand. If they are not used they are allocated elsewhere.

Most grid computing applications are developed for the desktop. It is assumed that most volunteer nodes will be in homes, academic establishments and less so in offices. So the current mass virtualization of enterprise servers shouldn’t have had much of an impact so far. VDI (Virtual Desktop Infrastructure) initiatives may however be more damaging to the overall power available for volunteer grids. In addition to this, the longer term direction of centralisation of data and processing in the cloud, with dumber terminals for accessing services at the front will be severely detrimental.

“Grid in The Cloud” – Way Forward For Achieving Grid Project Objectives

In addition to the cost and efficiency benefits of the Cloud, there are of course others including environmental and energy efficiency.  More efficient use of hardware means less energy is required to run the infrastructure. This really then turns into a more philosophical discussion about achieve the volunteer project objectives, perhaps even a charity issue. The benefits of allocating processing power to the grid projects must be balanced with the energy cost in doing so.

Either way, there should be choice. There should be some way of donating processing power in the cloud. Cloud providers could be thinking of how this would work.  Cloud infrastructures are built to scale quickly and contract where required. This must mean that somewhere in there, there is idle CPU time, and even at it’s most efficient level of operation, there is  probably still a vast amount in comparison to our desktops. This could be used to help drive at least a percentage of the projects.

I’ll monitor the grid projects with interest to see how this evolves. If anyone knows of any “Grid in The Cloud” initiatives, please send me info.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>