0% found this document useful (0 votes)
3 views28 pages

Parallel Processing

The document discusses various types of parallel processing architectures, including SISD, SIMD, MISD, and MIMD, along with their characteristics and organizational structures. It highlights the differences between tightly and loosely coupled systems, particularly focusing on symmetric multiprocessors (SMP) and their advantages such as performance, availability, and scalability. Additionally, it addresses issues related to cache coherence and the role of operating systems in managing multiprocessing environments.

Uploaded by

artefaksarah2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views28 pages

Parallel Processing

The document discusses various types of parallel processing architectures, including SISD, SIMD, MISD, and MIMD, along with their characteristics and organizational structures. It highlights the differences between tightly and loosely coupled systems, particularly focusing on symmetric multiprocessors (SMP) and their advantages such as performance, availability, and scalability. Additionally, it addresses issues related to cache coherence and the role of operating systems in managing multiprocessing environments.

Uploaded by

artefaksarah2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

William Stallings

Computer
Organization
and Architecture
8th Edition
Chapter 17
Parallel Processing
Multiple Processor
Organization

• Single instruction, single data stream - SISD


• Single instruction, multiple data stream -
SIMD
• Multiple instruction, single data stream -
MISD
• Multiple instruction, multiple data stream-
MIMD
Single Instruction, Single
Data Stream - SISD

• Single processor
• Single instruction stream
• Data stored in single memory
• Uni-processor
• Single machine instruction
• Controls simultaneous execution
Single • Number of processing elements
Instruction, • Lockstep basis
• Each processing element has associated data
Multiple Data memory

Stream - SIMD • Each instruction executed on different set of data by


different processors
• Vector and array processors
Multiple • Sequence of data
• Transmitted to set of processors
Instruction, • Each processor executes different instruction
sequence
Single Data • Never been implemented
Stream - MISD
Multiple • Set of processors
• Simultaneously execute different instruction
Instruction, sequences
• Different sets of data
Multiple Data • SMPs, clusters and NUMA systems
Stream- MIMD
Taxonomy of
Parallel
Processor
Architectures
• General purpose processors
MIMD - • Each can process all instructions necessary

Overview • Further classified by method of processor


communication
• Processors share memory
• Communicate via that shared memory
Tightly Coupled - • Symmetric Multiprocessor (SMP)
• Share single memory or pool
SMP • Shared bus to access memory
• Memory access time to given area of memory
is approximately the same for each processor
Tightly Coupled - • Nonuniform memory access
• Access times to different regions of memory may
NUMA differ
• Collection of independent uniprocessors or SMPs
Loosely Coupled • Interconnected to form a cluster

- Clusters • Communication via fixed path or network


connections
Parallel Organizations - SISD
Parallel Organizations - SIMD
Parallel Organizations - MIMD Shared
Memory
Parallel Organizations - MIMD
Distributed Memory
• A stand alone computer with the following
characteristics
• Two or more similar processors of comparable
capacity
• Processors share same memory and I/O
• Processors are connected by a bus or other
internal connection
• Memory access time is approximately the same
Symmetric for each processor
• All processors share access to I/O
Multiprocessors • Either through same channels or different
channels giving paths to same devices
• All processors can perform the same functions
(hence symmetric)
• System controlled by integrated operating system
• providing interaction between processors
• Interaction at job, task, file and data element
levels
Multiprogramming and Multiprocessing
• Performance
• If some work can be done in parallel
• Availability
• Since all processors can perform the same
functions, failure of a single processor does not
halt the system
SMP Advantages • Incremental growth
• User can enhance performance by adding
additional processors
• Scaling
• Vendors can offer range of products based on
number of processors
Block Diagram of Tightly Coupled
Multiprocessor
• Time shared or common bus
Organization • Multiport memory
Classification • Central control unit
• Simplest form
• Structure and interface similar to single processor
system
• Following features provided
• Addressing - distinguish modules on bus
Time Shared Bus • Arbitration - any module can be temporary
master
• Time sharing - if one module has the bus,
others must wait and may have to suspend
• Now have multiple processors as well as multiple
I/O modules
Symmetric Multiprocessor Organization
Time Share Bus - Advantages

Simplicity Flexibility Reliability


• Performance limited by bus cycle time

Time Share Bus - • Each processor should have local cache


• Reduce number of bus accesses
Disadvantage • Leads to problems with cache coherence
• Solved in hardware - see later
• Simultaneous concurrent processes
• Scheduling
Operating • Synchronization
• Memory management
System Issues • Reliability and fault tolerance
• Problem - multiple copies of same data in different
Cache caches
• Can result in an inconsistent view of memory
Coherence and • Write back policy can lead to inconsistency
MESI Protocol • Write through can also give problems unless caches
monitor memory traffic
• Compiler and operating system deal with problem
• Overhead transferred to compile time
• Design complexity transferred from hardware to
Software software
• However, software tends to make conservative
Solutions decisions
• Inefficient cache utilization
• Analyze code to determine safe periods for caching
shared variables
• Cache coherence protocols
• Dynamic recognition of potential problems
• Run time
Hardware • More efficient use of cache
• Transparent to programmer
Solution • Directory protocols
• Snoopy protocols

You might also like