Datasheet
Chapter 1 Internet Era: E-Commerce 19
consistent, pervasive, and inexpensive access to high-end computational capa-
bilities.” Over the years, even Foster’s definition of a computational grid has
evolved, by his own admission. In a subsequent article, The Anatomy of the Grid,
co-authored with Steve Tuecke in 2000, he changed the definition to include some
element of social and policy issues, stating that grid computing is concerned
with, “coordinated resource sharing and problem solving in dynamic, multi-
institutional virtual organizations.”
6
Grid computing is a distributed computing design pattern that is usually
geared toward solving a specific problem, such as payment, identity services,
scalable IP (Internet Protocol) telephony, and so on. Although grid computing
has become the buzzword in both industry and academic communities, it is not
a technology that has been developed from scratch. Rather, it is a conglomera-
tion of different existing technologies such as cluster computing, peer-to-peer
(P2P), and Web services technologies.
During the last decade, different technology elements such as cluster and P2P
computing have evolved from the distributed and high performance computing
communities, respectively. In cluster computing, different computing resources
such as machines, servers, and so on are connected by high-speed inter-connects
such as Infiniband, Gigabit Ethernet, and so on to provide high performance.
Computing paradigms such as Message Passing Interface (MPI) and Parallel Virtual
Machines (PVM) allow programmers to write parallel programs for clusters. A
P2P system, on the other hand, allows peers or computers to share resources.
They are suitable for storing files or information either in an unstructured or
a structured P2P mode. YouSendIt
7
is a classic example of unstructured P2P
where users store the files and a particular request is processed in a heartbeat.
Structured P2P, on the other hand, uses structures such as mesh or ring, more
generically called the Distributed Hash Table (DHT), so that the search time for
information retrieval is bounded. CHORD
8
and CAN
9
are examples of structured
P2P systems that are based on the principles of the distributed hash table.
It would be unfair to say that the high-performance computing community
solely contributed to the development of clusters and the distributed comput-
ing community’s work resulted in the development and later flourishing of the
P2P systems. There was a fair amount of technical interaction between these
two different communities resulting in the final evolution of P2P and clusters.
Similarly, these two different technologies contributed a lot to the eventual
acceptance of grid computing as a promising IT virtualization technology. In
terms of concepts, grid computing combines the unique points of both P2P and
clusters. Out of many participating technologies, the Web services are an integral
part of grid computing and have resulted in the further evolution of distributed
computing into grids, and later on to clouds. Figure 1-8 illustrates an abstract
evolution of the grid computing from P2P and clusters, to the introduction of
Web services technologies, and finally to clouds.
624463c01.indd 19 3/29/11 2:26:35 AM