Grid computing is a distributed architecture of large numbers of computers connected to solve a complex problem. In the grid computing model, servers or personal computers run independent tasks and are loosely linked by the Internet or low-speed networks. Computers may connect directly or via scheduling systems.
Most applications for grid computing projects have no time dependency, and large projects typically deploy across many countries and continents. Search programs and others use the idle power of computers, also known as cycle-scavenging, running in the background for many weeks.Content Continues Below
The SETI@home project, a search for extraterrestrial intelligence based at the University of California at Berkeley, is an example of grid computing. Millions of PCs run a search program on a segmented piece of radio telescope data with no set completion date. Grids bring computing power to address other projects such as genetics research, drug-candidate matching, even the search -- unsuccessfully -- for Genghis Khan's tomb.
Another likely area for the use of grid computing is pervasive computing applications, wherein intelligent devices pervade our environment without our direct awareness.
The grid computing architecture can bring massive processing power to bear on a problem, as SETI and other similar projects have shown. Middleware makes creating and controlling grids easier. SETI@home, for example, uses BOINC open source grid computing software. Projects build on these tools by adding user-friendly GUIs and a mechanism to distribute raw data and receive and store results.
However, the distributed model works well for only a narrow subset of applications. For the application of grid computing, ensure redundancy and robust failure recovery are built into the model, since it's highly probable that some number of compute nodes will disconnect or fail.
Security is another issue with grids, because the controls on member nodes are usually very loose. Almost anyone can sign up for the SETI project, for example.
The grid computing concept differs from parallel computing in supercomputers. Supercomputers run highly connected applications, rather than independently functional nodes. They operate over high-speed networks, and are typically housed in one specialized data center. Grid computers, on the other hand, exchange little or no data and feed the project over Internet connections from geographically dispersed locations.
Cloud computing is another form of distributed computing, falling on the spectrum between grids and supercomputing. Clouds are much more granular and handle time-dependent workloads. Cloud resources can be geographically distributed, but only to a few locations, as compared to thousands or millions feeding a grid project.
Clouds pose a threat to the grid computing approach long-term. The centralization of servers in the cloud leaves fewer idle cycles to scavenge; the server-mobile model eliminates underutilized PC desktops.
It isn't certain that large cloud providers will offer idle cycles pro-bono to grid projects. Some projects use a pay-as-you-go hardware as a service model to host grid projects.
Continue Reading About grid computing
- On SearchCIO.com, Carol Hildebrand writes about "The possibilities for grid computing in the corporate world."