Grid Computing: A supercomputer on every desk
Even today, there are problems in science, engineering and business that are too big for the biggest of supercomputers, causing the computer fraternity to once again look to innovation. Where do we find a computer that has more power than a supercomputer? Well it’s right in front of you, on your desk.
A PC is typically idle for 95% of the time. It sits there doing next to nothing, maybe just running a screen saver which is a no-brainer for today’s powerful microprocessors. Now think of 100 million computers idling around the planet. What if we could harness all this power? That’s the aspiration of grid computing.
A few years ago, the University of California at Berkley made a concerted effort to find life in the Universe. SETI, the Search for Extra Terrestrial Intelligence, was one of the most exciting and controversial projects ever launched. SETI gathered more information than it could process and the SETI engineers came up with the idea that the public could use their PCs to processes the information at the time when the user’s screen saver kicked in. Millions of enthusiastic supporters signed up and gave a public demonstration that grid computing certainly was more than just a vision.
The SETI @ Home project average of 14 trillion operations per second rivals the speed of a supercomputer and yet cost many millions of dollars less. The financial side hasn’t gone unnoticed by business, and the figures being mooted are that $100,000 of grid computing software will save $21 million in hardware.
A Grid uses many computers to achieve the properties of a high throughput, data intensive, on-demand, widely geographically distributed virtual supercomputer, a portal to a vast array of resources. Where do these other collaborating computers come from? Maybe in your own company, but could be from an educational or research establishment, or from companies that are willing to sell CPU cycles. CPU cycles are effectively a time slot on a computers microprocessor and if it’s doing nothing for you why not sell the time to someone who has a need to use it?
At this point you’re no doubt ready to rush out and build your own Grid, and simply want the instructions on how to do it. OK, all you need is some hardware (a few hundred computers should suffice to start with, although actually you can use any number) and a bit of software known as Grid Middleware.
The hardware is not too demanding. Being heterogeneous, Grid computing will just about use whatever is given: PCs, Macs, minicomputers, mainframe computers, whatever you have that’s sitting about looking for some work.
The software is more complex and the majority of people would use third party middleware. Middleware is software that connects two otherwise separate applications. Grid middleware provides the underlying ‘glue’ to hold all the computers together in the grid and addresses the problem that these computers have different operating systems and different hardware. There are already many varieties of Grid middleware such as GridBus, Alchemi, Globus and Nimbus, just to name a few. Middleware costs range from free to very expensive!
The majority of users would probably never even build a grid but use a portal to an existing grid. Problems could be solved and charged on grid usage. Maybe you can lease your CPU cycles out to a company that provides such a service and earn some hard cash while your PC idles. That leads to an interesting question: what happens if my computer is on a grid and I want to use it? It’s actually no problem. Where today’s applications depend on connectivity to some kind of network, Grid Computing is actually designed to be connected and disconnected frequently. If you need your CPU power for yourself, any grid tasks running on your machine will be simply relocated to another computer on the grid; it’s known as resource swapping and that’s another job for the middleware. Grids have high availability and fault tolerance.
Security can be a problem. If your job is running on someone else’s computer how can you maintain security and privacy? According to IBM, security can be maintained using public key. Even if security is intact, if you give a grid a very complex problem to solve, say to find all the solutions in a given range of numbers, how do you know that the grid owner has not terminated the task early and cheated you out of purchased grid time?
Other Uses
Grid.org is a SETI @ Home style project that has over 3 million PCs connected, making it the largest grid currently in existence. Grid.org asks for free use of your PC so that valuable research can be made in cancer, anthrax and smallpox. Biological, Pharmaceutical and gene research requires considerable computing resources and those sectors are taking significant interest in Grid computing. Other industries include automotive and aerospace, for data intensive analysis, and financial services for in-depth analysis of monetary trends. And, of course, Universities and scientific research establishments are finding the grid provides considerable computing and knowledge power at a very attractive price.
Already IBM, Sun, Oracle, HP, Apple and numerous others are already promoting their Grid products. Most cite increased productivity (due to increased resources), reduced time to market with new products, improved quality and increased ROI (return on investment) as key benefits.
It still puzzles me that mini- and mainframe manufacturers like IBM and Sun are pushing grids so strongly when they are the ones who would loose most if grids replaced their core products. Maybe that’s an indication that they believe Grid computing is the next big thing and they don’t want to lose out in the evolution. Are grids another flash in the pan or is it the shape of the future?
If successful, grids could be a lifestyle changing event just like the internet was. We no longer need to wait for the mythical quantum computer; the one thing we do know is that we can have a supercomputer on every desk.