13-06-2012, 02:22 PM
Seminar on Cluster Computing and Applications
Cluster Computing and Applications.pdf (Size: 3.78 MB / Downloads: 91)
Introduction
The needs and expectations of modern-day applications are changing in the sense that they
not only need computing resources (be they processing power, memory or disk space), but
also the ability to remain available to service user requests almost constantly 24 hours a day
and 365 days a year. These needs and expectations of today’s applications result in
challenging research and development efforts in both the areas of computer hardware and
software.
It seems that as applications evolve they inevitably consume more and more computing
resources. To some extent we can overcome these limitations. For example, we can create
faster processors and install larger memories. But future improvements are constrained by a
number of factors, including physical ones, such as the speed of light and the constraints
imposed by various thermodynamic laws, as well as financial ones, such as the huge
investment needed to fabricate new processors and integrated circuits. The obvious solution
to overcoming these problems is to connect multiple processors and systems together and
coordinate their efforts. The resulting systems are popularly known as parallel computers
and they allow the sharing of a computational task among multiple processors.
Interconnection Technologies
A key component in cluster architecture is the choice of interconnection technology.
Interconnection technologies may be classified into four categories, depending on whether
the internal connection is from the I/O bus or the memory bus, and depending on whether
the communication between the computers is performed primarily using messages or using
shared storage [4]. Table 1 illustrates the four types of interconnections.
Protocols for cluster communication
Traditional networks use the standard Transmission Control Protocol/Internet Protocol
(TCP/IP) [8]. The TCP/IP protocol is adequate for many cluster applications, and is the
easiest to use when building a cluster with inexpensive Fast Ethernet products [8].
However, TCP/IP was designed for a wide-area network environment where errors are
common. TCP/IP includes mechanisms to measure the round-trip time and attempts to
optimise the number of bits that are sent in a single message, or before an acknowledgement
is received. While these optimisations can reduce the number of times that a message must
be resent in an error prone wide-area network, they increase the overall latency in cluster
applications where errors are uncommon and the physical distance is small. For good
performance, clusters generally utilize interconnection technologies that are specifically
designed for cluster computing and that generally use specialized software and extra
hardware for reducing the latency in messages.
Network Topologies
In general, switched networks are preferred for cluster applications over shared
implementations of the same type of network. Ethernet, Fast Ethernet, and some Gigabit
Ethernet [20] products are based on the concept of a collision domain. When the network is a
shared hub, all nodes connected to the hub share the same collision domain and only one
computer on the network can send a message at a time. With a switched hub each computer
is in a different collision domain. In this case, two sets of nodes may be communicating at
the same time as long as they are not sending to the same receiver. For cluster computing,
switched networks are preferred since it allows multiple simultaneous messages to be sent,
which can improve overall application performance.