Browse Prior Art Database

Shared Memory Cluster - A Scalable Multiprocessor Design

IP.com Disclosure Number: IPCOM000112752D
Original Publication Date: 1994-Jun-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 6 page(s) / 243K

Publishing Venue

IBM

Related People

Grohoski, GF: AUTHOR [+7]

Abstract

This Shared Memory Cluster is a hybrid cluster/symmetric multiprocessor design which overcomes many of the problems which prevent traditional multiprocessor designs from scaling to tens or hundreds of processors and which limit the applicability of typical clustered systems.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 23% of the total text.

Shared Memory Cluster - A Scalable Multiprocessor Design

      This Shared Memory Cluster is a hybrid cluster/symmetric
multiprocessor design which overcomes many of the problems which
prevent traditional multiprocessor designs from scaling to tens or
hundreds of processors and which limit the applicability of typical
clustered systems.

      In conventional multiprocessor (MP) systems there has been a
problem connecting more than about a half dozen powerful systems into
a general-purpose, symmetric configuration.  A typical example of
such systems is the S/370 MP system.

      The invention described here uses a combination of hardware and
software designed in accordance with a specific system design
approach to allow much greater scalability than previously achieved
while still providing the same shared resource view to programs as
provided by traditional MP systems.  This design approach addresses
the source of the bottlenecks which limited scalability in
traditional MP systems.

      The bottlenecks in traditional MP systems are due to the
overuse of shared, or potentially shared, resources.  This is true at
both the hardware and software levels of the system.  Some examples
of these bottlenecks are the memory bandwidth, the coherence
mechanism, the serialization mechanism, the I/O hardware, and the
operating system resources (usually control blocks).

      The approach here for solving these problems uses a different
design approach than that taken by traditional MP systems.  MPs
increase processing capacity by replicating the processing resources
(processors, number of concurrent processes) but maintain a single
system image by sharing a single set of resources (memory, I/O,
control blocks, etc.).  As mentioned above, this sharing of a single
set of resources is the fundamental cause of the scalability problem
(and other problems, such as development time).  The basic design
approach we have taken is to REPLICATE all resources, at both the
hardware and software levels, and make them non-shared.  Special
resources are provided for sharing and used only when sharing is
actually needed.

      At the hardware level, the first major component is the memory.
In line with the replication philosophy, each processor has its own
local memory and memory management (hardware and software).  However,
since real shared memory support is essential to performance, there
is also a memory which is shared by all the processors.  In our
preferred implementation, the memory system is organized such that
the common, or global, memory is an extension of the physical address
space of the local, or private, memories.  This organization, rather
than a hierarchical one, makes for many simplifications at the
hardware and software level; however, other physical organizations
are possible.  This is illustrated in the Figure.

      This physical structure allows processors to be added without
significant contention so lo...