(Post 10/03/2006) Grid computing uses the
resources of many separate computers connected by a network (usually the
internet)
to solve large-scale computation problems.
|
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 Parabon Computation in 1999. 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.
It is worth noting that Parabon Computation was awarded a patent on this
model despite an apparently large volume of prior art. (U.S.
patent 6,463,457)
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 supercomputer,
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).
Functionally, one can classify grids into several types:
- Computational Grids (including CPU scavenging grids), which focuses primarily
on computationally-intensive operations.
- Data
grids, or the controlled sharing and management of large amounts
of distributed data.
- Equipment Grids which have a primary piece of equipment e.g. a telescope,
and where the surrounding Grid is used to control the equipment remotely
and to analyse the data produced.
Definitions
of Grid Computing
The term Grid Computing originated in the early
1990s as a metaphor for making computer power as easy to access as an
electric power Grid.
Today, there are many definitions of the term:Grid
computing:
- Buyya,“A
type of parallel and distributed system that enables the sharing,
selection, and aggregation of geographically distributed autonomous
resources dynamically at runtime depending on their availability,
capability, performance, cost, and users' quality-of-service requirements”.
- CERN, who created
the World Wide Web, talk of The Grid: "a
service for sharing computer power and data storage capacity over
the Internet."
- Pragmatically, grid computing is attractive to geographically-distributed
non-profit collaborative research efforts like the NCSA Bioinformatics
Grids such as BIRN:
external grids.
- Grid computing is also attractive to large commercial
enterprises
with complex computation problems who aim to fully exploit their internal
computing power: internal grids.
Platform computing suggested a three
stage model of Departmental Grids, Enterprise Grids and Global Grids.
These correspond to a firm initially utilising resources within a single
group i.e. an engineering department connecting desktop machines, clusters
and equipment. This progresses to enterprise grids where non-technical
staffs computing resources can be used for cycle-stealing and storage.
A global grid is a connection of enterprise and departmental grids which
can be used in a commerical or collaborative manner.
(Theo Wikipedia) |