Computer Architecture and Parallel Processing
Computer Architecture and Parallel Processing
Parallel Processing
1
PARALLEL PROCESSORS
2
COMMUNICATIONAL METHODS
The processing units can communicate and interact with
each other using either shared memory or message
passing methods.
The interconnection network for shared memory
systems can be classied as bus-based versus switch-
based.
In message passing systems, the interconnection
network is divided into static and dynamic.
Static connections have a xed topology that does not change
while programs are running.
Dynamic connections create links on the y as the program
executes.
3
FLYNNS TAXONOMY OF COMPUTER
ARCHITECTURE
The most popular taxonomy of computer architecture
was dened by Flynn in 1966. Flynns classication
scheme is based on the notion of a stream of
information.
Two types of information flow into a processor:
Instruction and data
The instruction stream is defined as the sequence
of instructions performed by the processing unit.
The data stream is defined as the data traffic
exchanged between the memory and the
processing unit.
4
FLYNNS TAXONOMY OF COMPUTER
ARCHITECTURE
5
SINGLE-INSTRUCTION SINGLE-DATA STREAMS
(SISD)
6
SINGLE-INSTRUCTION SINGLE-DATA STREAMS (SISD)
CONT:
7
SIMD / MIMD / MISD
Parallel computers are either SIMD or MIMD.
In MIMD machine, each processor has its own control unit and
can execute different instructions on different data.
9
MULTIPLE INSTRUCTION SINGLE DATA
(MISD)
Multiple Instruction, Single Data (MISD) is an
Instruction Set Architecture (ISA) for parallel
computing where many functional units
perform different operations by executing
different instructions on the same data set.
This type of architecture is common mainly in
the fault-tolerant computers executing the
same instructions redundantly in order to
detect and mask errors.
10
MULTIPLE INSTRUCTION SINGLE DATA (MISD)
CONT:
Multiple instructions operate on a single data
stream. Uncommon architecture which is
generally used for fault tolerance.
processing for critical controls of missiles
where single data stream processed on
different processors to handle faults if any
during processing
Least common
11
MULTIPLE INSTRUCTION MULTIPLE DATA
(MIMD)
Multiple autonomous processors simultaneously
executing different instructions on different data.
Using the MIMD, each processor in a
multiprocessor system can execute
asynchronously different set of the instructions
independently on the different set of data units.
12
MULTIPLE INSTRUCTION MULTIPLE DATA (MIMD)
CONT:
13
MULTIPLE INSTRUCTION MULTIPLE DATA (MIMD)
CONT:
The MIMD architectures is primarily used in a
number of application areas such as computer-
aided design/computer-aided manufacturing,
simulation, modeling, communication switches
etc.
14
MULTIPLE INSTRUCTION MULTIPLE DATA (MIMD)
ARCHITECTURE:
Multiple Instruction Multiple Data (MIMD)
Made of multiple processors and multiple memory
modules connected together via some interconnection
network.
2 broad categories:
Shared memory
Message passing
15
MULTIPLE INSTRUCTION MULTIPLE DATA (MIMD)
ARCHITECTURE CONT:
Shared Memory versus Message Passing
Architecture
16
SHARED MEMORY ORGANIZATION
17
SHARED MEMORY ORGANIZATION
CONT:
A shared memory model is one in which processors
communicate by reading and writing locations in a shared
memory that is equally accessible by all processors. Each
processor may have registers, buffers, caches, and local
memory banks as additional memory resources.
A number of basic issues in the design of shared memory
systems have to be taken into consideration.
access control,
synchronization,
protection,
and security
18
CLASSIFICATION OF SHARED MEMORY SYSTEM
19
Uniform Memory Access (UMA),
20
NON-UNIFORM MEMORY ACCESS (NUMA) &
CACHE ONLY MEMORY ACCESS (COMA),
In the NUMA system, each processor has part of the
shared memory attached. The memory has a single address
space. Therefore, any processor could access any memory
location directly using its real address. However, the access
time to modules depends on the distance to the processor.
This results in a no uniform memory access time. A number
of architectures are used to interconnect processors to
memory modules in a NUMA.
Similar to the NUMA, each processor has part of the
shared memory in the COMA. However, in this case the
shared memory consists of cache memory. A COMA system
requires that data be migrated to the processor requesting
it. Shared memory systems will be discussed in more detail
in Chapter 4.
21
MESSAGE PASSING ORGANIZATION
Message Passing Organization
Each processor has access to its own local memory.
Communications are performed via send and
receive operations.
Message passing multiprocessors employ a variety
of static networks in local communications.
22
MESSAGE PASSING ORGANIZATION
CONT:
Message passing systems are a class of multiprocessors
in which each processor has access to its own local
memory. communications in message passing systems
are performed via send and receive operations.
A node in such a system consists of a processor and its
local memory.
Nodes are typically able to store messages in and
perform send/receive operations at the same time as
processing.
Simultaneous message processing and problem
calculating are handled by the underlying operating
system.
23
MESSAGE PASSING ORGANIZATION
CONT:
Processors do not share a global memory and each
processor has access to its own address space.
The processing units of a message passing system may
be connected in a variety of ways ranging from
architecture-specic interconnection structures to
geographically dispersed networks.
The message passing approach is, in principle, scalable
to large pro- portions. By scalable, it is meant that the
number of processors can be increased without
signicant decrease in efficiency of operation.
24
INTERTCONNECTION NETWORKS(INs)
CLASSIFICATION
Multiprocessors interconnection networks(INs) can
be classied based on a number of criteria as :
1) Model of Operation
2) Control Strategy
3) Circuit Switching
4) Topology
25
INTERTCONNECTION NETWORKS(INs) CLASSIFICATION
CONT:
26
INTERTCONNECTION NETWORKS(INs) CLASSIFICATION
CONT:
(2) Control Strategy
Centralized: one central control unit is used to control the
operations of the components of the system.
Decentralized: the control function is distributed among
different components in the system.
27
INTERTCONNECTION NETWORKS(INs) CLASSIFICATION
CONT:
(3) Switching Techniques
Circuit switching: a complete path has to be established prior
to the start of communication between a source and a
destination.
Packet switching: communication between a source and a
destination takes place via messages divided into smaller
entities, called packets
28
INTERTCONNECTION NETWORKS(INs) CLASSIFICATION
CONT:
(4) Topology
Topology describes how to connect processors and memories to
other processors and memories
A fully connected topology, is a mapping in which each processor is
connected to all other processors in the computer.
A ring topology is a mapping that connects processor k to its
neighbors, processors (k - 1) and (k + 1).