Whereas P2P computing emphasizes the concept of individual peers as collaborating computing entities and the concept of peer independence, grid computing is the latest movement in the field of distributed computing, distinguished from traditional distributed architectures by its emphasis on large-scale resource sharing that crosses organizational boundaries, and its emphasis on high performance computing. Grid computing is very closely related to traditional high-performance computing and cluster computing, topics that have been around for decades (it can be argued that the first clusters were developed by IBM in the 1960s to link mainframes and provide high performance computing). Grid computing, however, is different from clustering in that the concept tries to encapsulate clustered computing as a service (thus its relevance to Web services). The same trends that brought about P2P computing—cheap computers, bandwidth, and idle processors—also contributed to the emergence of Grid computing. An important additional contributing trend, however, has been the sharply increasing need for large-scale computation in scientific and military applications involving several different partnerships and virtual organizations.
According to one common definition, grid technologies have emerged in response to the "grid" problem, defined as: "coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations." This concept of sharing computing resources across virtual organizations raises a large number of issues that traditional distributed computing does not address, but that are very close to some of the issues that Web services face: how to structure flexible just-in-time sharing relationships; how to structure fine grained access control over resources, taking care of local and global policies; and how to agree on quality of service, scheduling and co-allocation.
A well known, if relatively simple, example of shared computing resources through Grid computing, is the SETI@home project managed by the Space Sciences Laboratory of the University of California, Berkeley. SETI, the Search for Extraterrestrial Intelligence, is a scientific effort seeking to determine if there is intelligent life outside Earth. The SETI@home project is trying to detect signals of extra-terrestrial intelligence by scanning a 2.5MHz band of radio frequencies and processing them to look for narrowband signals. The computations involved would overwhelm the largest supercomputers in existence. In order to solve that problem, the project leverages idle processing power of millions of computers connected to the Internet, who contribute willingly to the project by downloading a client program that runs as a screensaver and processes data for the project when the computer is idle. On a periodic basis, the client connects to the SETI@home servers to upload results and download new data for the next computation. Although it can be considered a type of Grid computing, the SETI@home computations are well structured and involve all the computers asynchronously running the same client code.
More complex and technically significant examples of grid computing include the Grid Physics Network (GriPhyN), building a geographically distributed computational grid to perform some of the largest physics computations; the Data Grid project, a European project to build the infrastructure to handle large scale experiments with Petabyte-size datasets; and the Access Grid, another project aimed at building the infrastructure and software to enable highly distributed collaborations in conjunction with computational grids.
Relating Grid Computing to Web Services
Due to their critical interoperability requirements, grid architectures are moving toward standard protocols and a service-based architecture, although, again, Web service standards are at a more mature stage in their lifecycle. It is clear, however, that grid-type of computational power can be described and provided as a service, once all the issues with security, dynamic partnerships, access control and quality of service have been properly addressed.