Grid computing
From Wikipedia, the free encyclopedia

Grid computing is an emerging computing model that provides the ability to perform higher throughput computing by taking advantage of many networked computers to model a virtual computer architecture that is able to distribute process execution across a parallel infrastructure. Grids use the resources of many separate computers connected by a network (usually the internet) to solve large-scale computation problems. Grids provide the ability to perform computations on large data sets, by breaking them down into many smaller ones, or provide the ability to perform many more computations at once than would be possible on a single computer, by modeling a parallel division of labour between processes.


The SETI@home project, launched in 1999, is a widely-known example of a very simple grid computing project. Although it was not the first to use such techniques and doesn't use all of the facilities of current grid capabilities, it has been followed by many others, covering tasks such as protein folding, research into drugs for cancer, mathematical problems and climate models. Most of these projects work by running as a screensaver on users' personal computers, which process small pieces of the overall data while the computer is either completely idle or lightly used.

While proprietary grid computing has been used in different companies and labs for years, one of the first proprietary commercial grid offerings was launched by Entropia in 1997. A significant difference between these proprietary grids and SETI@home is that they allow for jobs to be moved to any node on the grid and subsequently executed. For example, SETI@home's screensaver contains both code to process radio telescope data and code to handle retrieving work and returning results. The two bodies of code are intertwined into a single program. In a general purpose grid, only the code required for retrieving work and returning results persists on the nodes. Code required to perform the distributed work is sent to the nodes separately. In this way, the nodes of a general purpose grid can be easily reprogrammed.

Common features

Grid computing offers a model for solving massive computational problems by making use of the unused resources (CPU cycles and/or disk storage) of large numbers of disparate, often desktop, computers treated as a virtual cluster embedded in a distributed telecommunications infrastructure. Grid computing's focus on the ability to support computation across administrative domains sets it apart from traditional computer clusters or traditional distributed computing.

Grids offer a way to solve Grand Challenge problems like protein folding, financial modelling, earthquake simulation, climate/weather modelling, etc. Grids offer a way of using the information technology resources optimally inside an organisation. They also provide a means for offering information technology as a utility bureau for commercial and non-commercial clients, with those clients paying only for what they use, as with electricity or water.

Grid computing has the design goal of solving problems too big for any single super computer, whilst retaining the flexibility to work on multiple smaller problems. Thus grid computing provides a multi-user environment. Its secondary aims are: better exploitation of the available computing power, and catering for the intermittent demands of large computational exercises.

This approach implies the use of secure authorization techniques to allow remote users to control computing resources.

Grid computing involves sharing heterogeneous resources (based on different platforms, hardware/software architectures, and computer languages), located in different places belonging to different administrative domains over a network using open standards. In short, it involves virtualizing computing resources.

Grid computing is often confused with cluster computing. The key difference is that a cluster is a single set of nodes sitting in one location, while a grid is composed of many clusters and other kinds of resources (e.g. networks, storage factilities).