an alternative to symmetric multiprocessing

COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

17.5 CLUSTERS
An important and relatively recent development computer system design is clus-
tering. Clustering is an alternative to symmetric multiprocessing as an approach to
providing high performance and high availability and is particularly attractive for
server applications. We can define a cluster as a group of interconnected, whole
computers working together as a unified computing resource that can create the
illusion of being one machine. The term whole computer means a system that can
run on its own, apart from the cluster; in the literature, each computer in a cluster is
typically referred to as a node.
[BREW97] lists four benefits that can be achieved with clustering. These can
also be thought of as objectives or design requirements:

• Absolute scalability: It is possible to create large clusters that far surpass the
power of even the largest standalone machines. A cluster can have tens, hun-
dreds, or even thousands of machines, each of which is a multiprocessor.
• Incremental scalability: A cluster is configured in such a way that it is possible
to add new systems to the cluster in small increments. Thus, a user can start
out with a modest system and expand it as needs grow, without having to go
through a major upgrade in which an existing small system is replaced with a
larger system.
• High availability: Because each node in a cluster is a standalone computer,
the failure of one node does not mean loss of service. In many products, fault
tolerance is handled automatically in software.
• Superior price/performance: By using commodity building blocks, it is pos-
sible to put together a cluster with equal or greater computing power than a
single large machine, at much lower cost.

原文地址:https://www.cnblogs.com/rsapaper/p/6240577.html