A MULTIPROCESSOR SYSTEM Mariam A. Salih
A
MULTIPROCESSOR SYSTEM
Mariam A. Salih
Multiprocessors interconnection networks (INs) classification.
Mode of Operation
Control Strategy
switching techniques
Topology BUS-BASED DYNAMIC INTERCONNECTION NETWORKS
“Single Bus Systems”
“Multiple Bus Systems”
SWITCH-BASED DYNAMIC INTERCONNECTION NETWORKS First type of SWITCH-BASED DYNAMIC INTERCONNECTION
NETWORKS “Crossbar Networks“
A multiprocessor system consists of multiple processing units connected via some interconnection network plus a software needed to make the processing units work together.
There are two major factors used to categorize
such systems: the processing units themselves, and the interconnection network that ties them together.
Multiprocessors interconnection networks (INs) can be classified based on a number of criteria. These include:
1. mode of operation (synchronous versus asynchronous),
2. control strategy (centralized versus decentralized),
3. switching techniques (circuit versus packet), and 4. topology (static versus dynamic).
Mode of Operation According to the mode of operation, INs classified
as synchronous versus asynchronous. In synchronous mode of operation, a single global
clock is used by all components in the system such that the whole system is operating in a lock–step manner.
Asynchronous mode of operation, on the other hand, does not require a global clock. Handshaking signals are used instead in order to coordinate the operation of asynchronous systems.
While synchronous systems tend to be slower compared to asynchronous systems, they are race and hazard-free.
Control Strategy According to the control strategy, INs can be
classified as centralized versus decentralized. In centralized control systems, a single central control unit
is used to oversee and control the operation of the components of the system.
In decentralized control, the control function is distributed among different components in the system.
The function and reliability of the central control unit can become the bottleneck in a centralized control system.
While the crossbar is a centralized system, the multistage interconnection networks are decentralized.
Switching Techniques Interconnection networks can be classified
according to the switching mechanism as circuit switching versus packet switching networks.
In the circuit switching mechanism, a complete path has to be established prior to the start of communication between a source and a destination. The established path will remain in existence during the whole communication period.
In a packet switching mechanism, communication between a source and destination takes place via messages that are divided into smaller entities, called packets. On their way to the destination, packets can be sent from a node to another in a store-and-forward manner until they reach their destination.
While packet switching tends to use the network resources more efficiently compared to circuit switching, it suffers from variable packet delays.
Topology
Topology
An interconnection network could be either static or
dynamic.
Connections in a static network are fixed links, while
connections in a dynamic network are established on the fly as needed.
Static networks can be further classified according to their
interconnection pattern as one-dimension (1D), two-
dimension (2D), or hypercube (HC).
Dynamic networks, on the other hand, can be classified
based on interconnection scheme as bus-based versus
switch-based.
Bus-based networks can further be classified as single bus or
multiple buses.
Switch-based dynamic networks can be classified according
to the structure of the interconnection network as single-
stage (SS), multistage (MS), or crossbar networks.
BUS-BASED DYNAMIC INTERCONNECTION
NETWORKS “Single Bus Systems”
A single bus is considered the simplest way to connect multiprocessor systems.
In its general form, such a system consists of N processors, each having its own cache, connected by a shared bus.
The use of local caches reduces the processor–memory traffic.
All processors communicate with a single shared memory.
The typical size of such a system varies between 2 and 50 processors.
BUS-BASED DYNAMIC INTERCONNECTION
NETWORKS “Single Bus Systems”
A simple and easy to expand, single bus multiprocessors are inherently limited by the bandwidth of the bus and the fact that only one processor can access the bus, and in turn only one memory access can take place at any given time.
BUS-BASED DYNAMIC INTERCONNECTION
NETWORKS “Multiple Bus Systems”
A multiple bus multiprocessor system uses
several parallel buses to interconnect multiple
processors and multiple memory modules.
In general, multiple bus multiprocessor
organization offers a number of desirable
features such as high reliability and ease of
incremental growth.
A single bus failure will leave distinct fault-free
paths between the processors and the
memory modules.
BUS-BASED DYNAMIC INTERCONNECTION
NETWORKS “Multiple Bus Systems”
The multiple-bus with full bus–memory connection (MBFBMC), has all memory modules connected to all buses.
The multiple-bus with single bus–memory connection (MBSBMC), has each memory module connected to a specific bus.
The multiple-bus with partial bus–memory connection
(MBPBMC), has each memory module connected to a subset of buses.
The multiple-bus with class-based memory connection (MBCBMC), has memory modules grouped into classes whereby each class is connected to a specific subset of buses. A class is just an arbitrary collection of memory modules.
BUS-BASED DYNAMIC INTERCONNECTION
NETWORKS “Multiple Bus Systems”
EX:-Illustrations of these connection schemes for the case of N = 6 processors, M = 4 memory modules, and B = 4.
Bus Synchronization In a single bus multiprocessor system, bus
arbitration is required in order to resolve the bus contention that takes place when more than one processor competes to access the bus.
processors that want to use the bus submit their requests to bus arbitration logic. The latter decides, using a certain priority scheme, which processor will be granted access to the bus during a certain time interval (bus master).
The process of passing bus mastership from one processor to another is called handshaking.
Bus request: indicates that a given processor is requesting mastership of the bus.
Bus grant: indicates that bus mastership is granted.
Bus busy: is usually used to indicate whether or not the bus is currently being used.
Bus Synchronization
In deciding which processor gains control of the bus, the bus arbitration logic uses a predefined priority scheme. Among the priority schemes used are random priority, simple rotating priority, equal priority, and least recently used (LRU) priority.
After each arbitration cycle, in simple rotating priority, all priority levels are reduced one place, with the lowest priority processor taking the highest priority. In equal priority, when two or more requests are made, there is equal chance of any one request being processed. In the LRU algorithm, the highest priority is given to the processor that has not used the bus for the longest time
Bus Synchronization
SWITCH-BASED DYNAMIC INTERCONNECTION
NETWORKS
In this type of network, connections
among processors and memory modules
are made using simple switches. Three
basic interconnection topologies exist:
(1) crossbar.
(2) single-stage, or multistage,
Crossbar Networks The simplest circuit for connecting N*K
source/destination pairs is the crossbar switch;
The major advantage of the crossbar switch is its
potential for speed. In one clock, a connection can be made between source and destination.
At each intersection of a horizontal (incoming) and vertical (outgoing) line is a crosspoint.
A crosspoint is a small switch that can be electrically opened or closed, depending on whether the horizontal and vertical lines are to be connected or not.
Crossbar Networks
between the (CPU, memory) pairs (001, 000), (101, 101), and (110, 010) at the same time.
Many other combinations are also possible.
Crossbar Networks
One of the worst properties of the crossbar switch is the fact that the number of crosspoints grows as n2. With 1000 CPUs and 1000 memory modules we need a million crosspoints. Such a large crossbar switch is not feasible. Nevertheless, for medium-sized systems, a crossbar design is workable.
Problem arises when multiple requests are destined for same memory module at the same time. In such cases, only one of the requests is serviced at a time.
To resolve the contention for each memory module, each crosspoint switch must be designed with extra H/W. An arbitration module makes the selection on the basis of priority.
Simple Quiz..