SlideShare a Scribd company logo
1 of 73
Velammal Engineering College
Department of Computer Science
and Engineering
Welcome…
Slide Sources: Patterson & Hennessy COD book
website (copyright Morgan Kaufmann) adapted
and supplemented
Mr. A. Arockia Abins &
Ms. R. Amirthavalli,
Asst. Prof,
CSE,
Velammal Engineering College
Subject Code / Name:
19IT202T /
Computer Architecture
Syllabus – Unit IV
UNIT-IV PARALLELISM
Introduction to Multicore processors and other shared memory
multiprocessors - Flynn's classification: SISD, MIMD, SIMD, SPMD
and Vector - Hardware multithreading: Fine-grained, Coarse-grained and
Simultaneous Multithreading (SMT) - GPU architecture: NVIDIA GPU
Architecture, NVIDIA GPU Memory Structure
Topics:
• Introduction to Multicore processors
• Other shared memory multiprocessors
• Flynn’s classification:
o SISD,
o MIMD,
o SIMD,
o SPMD and Vector
• Hardware multithreading
• GPU architecture
4
Introduction to
Multicore
processors
Multicore processors
• What is a Processor?
o A single chip package that fits in a socket
o Cores can have functional units, cache, etc.
associated with them
• The main goal of the multi-core design is to provide
computing units with an increasing processing power.
• A multicore processor is a single computing
component with two or more “independent”
processors (called "cores").
• known as a chip multiprocessor or CMP
6
EXAMPLES
 dual-core processor with 2 cores
• e.g. AMD Phenom II X2, Intel Core 2 Duo E8500
 quad-core processor with 4 cores
• e.g. AMD Phenom II X4, Intel Core i5 2500T
 hexa-core processor with 6 cores
• e.g. AMD Phenom II X6, Intel Core i7 Extreme Ed. 980X
 octa-core processor with 8 cores
• e.g. AMD FX-8150, Intel Xeon E7-2820
7
Processor
8
Single core
9
Multicore
10
Number of core types
Homogeneous (symmetric) cores:
• All of the cores in a homogeneous multicore
processor are of the same type; typically the core
processing units are general-purpose central
processing units that run a single multicore
operating system.
• Example: Intel Core 2
Heterogeneous (asymmetric) cores:
• Heterogeneous multicore processors have a mix of
core types that often run different operating systems
and include graphics processing units.
• Example: IBM's Cell processor, used in the Sony
PlayStation 3 video game console
11
Homogeneous Multicore Processor
12
Heterogeneous Multicore Processor
13
shared memory multiprocessors
14
Shared Memory Multiprocessors
• A system with multiple CPUs “sharing” the same
main memory is called multiprocessor.
• In a multiprocessor system all processes on the
various CPUs share a unique logical address space,
which is mapped on a physical memory that can be
distributed among the processors.
• Each process can read and write a data item simply
using load and store operations, and process
communication is through shared memory.
15
Shared Memory Multiprocessors
• Processors communicate through shared variables in
memory, with all processors capable of accessing
any memory location via loads and stores.
16
Questions:
• Multicore processor
• Hexacore processor
• Homogeneous Multicore processor
• Heterogeneous Multicore processor
• Multiprocessor
• Shared memory Multiprocessor
17
• Single address space multiprocessors come in two styles.
o Uniform Memory Access (UMA)
o Non-Uniform Memory Access (NUMA)
UMA Architecture:
• In the first style, the latency to a word in memory does
not depend on which processor asks for it. Such
machines are called uniform memory access (UMA)
multiprocessors.
NUMA/DSMA Architecture:
• In the second style, some memory accesses are much
faster than others, depending on which processor asks
for which word, typically because main memory is divided
and attached to different microprocessors or to different
memory controllers on the same chip.
• Such machines are called nonuniform memory access
(NUMA) multiprocessors.
18
Types:
• The shared-memory multiprocessors fall into two
classes, depending on the number of processors
involved, which in turn dictates a memory
organization and interconnect strategy.
• They are:
1. Centralized shared memory (Uniform Memory
Access)
2. Distributed shared memory (NonUniform Memory
Access)
19
1. Centralized shared memory architecture
20
2. Distributed shared memory architecture
21
Flynn’s
classification
Flynn's classification:
• In 1966, Michael Flynn proposed a
classification for computer architectures based
on the number of instruction steams and data
streams (Flynn’s Taxonomy).
o SISD (Single Instruction stream, Single Data
stream)
o SIMD (Single Instruction stream, Multiple Data
streams)
o MISD (Multiple Instruction streams, Single Data
stream)
o MIMD (Multiple Instruction streams, Multiple Data
streams)
23
Flynn's classification:
24
Simple Diagrammatic Representation
SISD
• SISD machines executes a single instruction on individual
data values using a single processor.
• Based on traditional Von Neumann uniprocessor
architecture, instructions are executed sequentially or
serially, one step after the next.
• Until most recently, most computers are of SISD type.
• Conventional uniprocessor
25
SISD
26
SIMD
• An SIMD machine executes a single instruction on
multiple data values simultaneously using many
processors.
• Since there is only one instruction, each processor does
not have to fetch and decode each instruction. Instead, a
single control unit does the fetch and decoding for all
processors.
• SIMD architectures include array processors.
27
SIMD
• Data level parallelism:
o Parallelism achieved by performing the same operation on independent
data.
28
MISD
• Each processor executes a different sequence of instructions.
• In case of MISD computers, multiple processing units operate on one single-
data stream .
• This category does not actually exist. This category was included in the
taxonomy for the sake of completeness.
29
MISD
•
30
Questions:
• Uniform Memory Access (UMA)
• Non-Uniform Memory Access (NUMA)
• Centralized shared memory
• Distributed shared memory
• Flynn’s classification:
31
MIMD
• MIMD machines are usually referred to as
multiprocessors or multicomputers.
• It may execute multiple instructions simultaneously,
contrary to SIMD machines.
• Each processor must include its own control unit that will
assign to the processors parts of a task or a separate
task.
• It has two subclasses: Shared memory and distributed
memory
32
MIMD
33
Analogy of Flynn’s Classifications
• An analogy of Flynn’s classification is the check-in desk at an airport
 SISD: a single desk
 SIMD: many desks and a supervisor with a megaphone giving instructions that every desk obeys
 MIMD: many desks working at their own pace, synchronized through a central database
34
Hardware categorization
35
SSE : Streaming SIMD Extensions
Processor Organizations
Computer Architecture
Classifications
Single Instruction, Single Instruction, Multiple Instruction
Multiple Instruction
Single Data Stream Multiple Data Stream Single Data Stream
Multiple Data Stream
(SISD) (SIMD) (MISD) (MIMD)
Uniprocessor Vector Array Shared Memory Multicomputer
Processor Processor (tightly coupled) (loosely
coupled)
Vector
• more elegant interpretation of SIMD is called a vector architecture
• the vector architectures pipelined the ALU to get good performance at lower
cost
• to collect data elements from memory, put them in order into a large set of
registers, operate on them sequentially in registers using pipelined
execution units.
• then write the results back to memory
37
Structure of a vector unit containing four lanes
38
vector lane
• One or more vector functional units and a portion of the vector register fi le.
39
Questions:
• MIMD
• Examples for Flynn’s classification
40
Hardware
multithreading
Hardware multithreading
• A thread is a lightweight process with its own instructions
and data.
• Each thread has all the state (instructions, data, PC,
register state, etc.) necessary to allow it to execute.
• Multithreading (MT) allows multiple threads to share the
functional units of a single processor.
42
Hardware multithreading
• Increasing utilization of a processor by switching to
another thread when one thread is stalled.
• Types of Multithreading:
o Fine-grained Multithreading
• Cycle by cycle
o Coarse-grained Multithreading
• Switch on event (e.g., cache miss)
o Simultaneous Multithreading (SMT)
• Instructions from multiple threads executed concurrently in the same
cycle
43
Thread B
Thread A Thread D
Thread C
4-issue machine
Fine-grained MT
Idea: Switch to another thread every cycle such
that no two instructions from the thread are in the
pipeline concurrently
Advantages
+ No need for dependency checking between instructions
(only one instruction in pipeline from a single thread)
+ No need for branch prediction logic
+ Otherwise-bubble cycles used for executing useful instructions
from different threads
+ Improved system throughput, latency tolerance, utilization
Fine-grained MT
Idea: Switch to another thread every cycle such
that no two instructions from the thread are in the
pipeline concurrently
Disadvantages
- Extra hardware complexity: multiple hardware contexts, thread
selection logic
- Reduced single thread performance (one instruction fetched every
N cycles)
- Resource contention between threads in caches and memory
- Dependency checking logic between threads remains (load/store)
47
Fine-grained MT
1
2
3
4
5
6
7
8
9
10
11
12
3 3 3
3
6
4 4
4 4
4
7
5 5
5 5 5 5
5
8 8 8
6 6 6 6
7 7 7 7
9 9
7 7
11
8 8
8 8
10 10 10
1 1
1 1 1
1 1 1
1
Time stamp of
single thread
execution
2
2 2
5 5
3 3 3
48
Coarse-grained MT switches threads only on
costly stalls, such as L2 misses.
The processor is not slowed down (by thread
switching), since instructions from other threads
will only be issued when a thread encounters a
costly stall.
Since a CPU with coarse-grained MT issues
instructions from a single thread, when a stall
occurs the pipeline must be emptied.
The new thread must fill the pipeline before
instructions will be able to complete.
49
Coarse-grained MT switches threads only on
costly stalls, such as L2 misses.
Advantages:
– thread switching doesn’t have to be essentially
free and much less likely to slow down the execution of an
individual thread
Disadvantage:
– limited, due to pipeline start-up costs, in its ability
to overcome throughput loss
Pipeline must be flushed and refilled on thread
switches
50
Coarse-grained MT
Questions
• Define thread.
• What is mean by hardware multithreading?
• Types of multithreading
June 2015
ILP Limits and Multithreading 51
Simultaneous Multithreading
52
Simultaneous multithreading (SMT) is a
variation on MT to exploit TLP simultaneously
with ILP.
SMT is motivated by multiple-issue processors
which have more functional unit parallelism than a
single thread can effectively use.
Multiple instructions from different threads can be
issued
53
1
2
3
4
5
6
7
8
9
10
11
12
2 2 2
4
4 4
4 4
5
5 5
5 5
5 5
5 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
6
6
6 6 6
7
7 7 7 7
7
7 11
9 9
9 9
10 10 10
8 8 8
8
8
8
8 12 12 12
1 1 1 1
1 1 1 1
1
Time stamp of
single thread
execution
54
Approaches to use the issue slots.
55
Amdahl’s law
Speedup
• Speedup measures increase in running time due to
parallelism. The number of PEs is given by n.
• Based on running times, S(n) = ts/tp , where
o ts is the execution time on a single processor, using the fastest known
sequential algorithm
o tp is the execution time using a parallel processor.
• For theoretical analysis, S(n) = ts/tp where
o ts is the worst case running time for of the fastest known sequential algorithm
for the problem
o tp is the worst case running time of the parallel algorithm using n PEs.
57
Speedup in Simplest
Terms
58
Amdahl’s law:
“It states that the potential speedup gained by the parallel execution of a
program is limited by the portion that can be parallelized.”
59
Amdahl’s law
• execution time before is 1 for some unit of time
60
Question:
• When parallelizing an application, the ideal speedup is speeding up by the
number of processors. What is the speedup with 8 processors if 60% of the
application is parallelizable?
61
Question:
• When parallelizing an application, the ideal speedup is speeding up by the
number of processors. What is the speedup with 8 processors if 80% of the
application is parallelizable?
62
QUESTION:
• Suppose that we are considering an enhancement that runs 10 times faster
than the original machine but is usable only 40% of the time. What is the
overall speedup gained by incorporating the enhancement.?
63
Question
• Suppose you want to achieve a speed-up of 90
times faster with 100 processors. What
percentage of the original computation can be
sequential?
64
Question
• Suppose you want to achieve a speed-up of 90
times faster with 100 processors. What
percentage of the original computation can be
sequential?
65
Question
• Suppose you want to perform two sums: one is a sum of 10
scalar variables, and one is a matrix sum of a pair of two-
dimensional arrays, with dimensions 10 by 10. For now
let’s assume only the matrix sum is parallelizable. What
speed-up do you get with 10 versus 40 processors?
• Next, calculate the speed-ups assuming the matrices grow
to 20 by 20.
66
Graphics processing
unit (GPU)
Graphics processing unit (GPU)
• It is a processor optimized for 2D/3D graphics, video, visual computing, and display.
• It is highly parallel, highly multithreaded multiprocessor optimized for visual
computing.
• It provide real-time visual interaction with computed objects via graphics images,
and video.
• Heterogeneous Systems: combine a GPU with a CPU
68
GPU Hardware
69
70
An Introduction to the NVIDIA GPU Architecture
71
NVIDIA GPU Memory Structures
72
Thank you…

More Related Content

What's hot

What's hot (20)

04 cache memory.ppt 1
04 cache memory.ppt 104 cache memory.ppt 1
04 cache memory.ppt 1
 
Distributed Shared Memory
Distributed Shared MemoryDistributed Shared Memory
Distributed Shared Memory
 
Cache memory
Cache memoryCache memory
Cache memory
 
Memory organization
Memory organizationMemory organization
Memory organization
 
The x86 Family
The x86 FamilyThe x86 Family
The x86 Family
 
Paging and segmentation
Paging and segmentationPaging and segmentation
Paging and segmentation
 
Memory Management in OS
Memory Management in OSMemory Management in OS
Memory Management in OS
 
Process management os concept
Process management os conceptProcess management os concept
Process management os concept
 
COA | Memory Organization
COA | Memory Organization COA | Memory Organization
COA | Memory Organization
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Computing Environment
Computing EnvironmentComputing Environment
Computing Environment
 
Memory virtualization
Memory virtualizationMemory virtualization
Memory virtualization
 
Desktop and multiprocessor systems
Desktop and multiprocessor systemsDesktop and multiprocessor systems
Desktop and multiprocessor systems
 
Centralized shared memory architectures
Centralized shared memory architecturesCentralized shared memory architectures
Centralized shared memory architectures
 
isa architecture
isa architectureisa architecture
isa architecture
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64
 
RISC (reduced instruction set computer)
RISC (reduced instruction set computer)RISC (reduced instruction set computer)
RISC (reduced instruction set computer)
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 

Similar to PARALLELISM IN MULTICORE PROCESSORS

Multiprocessor.pptx
 Multiprocessor.pptx Multiprocessor.pptx
Multiprocessor.pptxMuhammad54342
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD) Ali Raza
 
Flynn's Classification .pptx
Flynn's Classification .pptxFlynn's Classification .pptx
Flynn's Classification .pptxNayan Gupta
 
Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programmingShaveta Banda
 
Parallel architecture &programming
Parallel architecture &programmingParallel architecture &programming
Parallel architecture &programmingIsmail El Gayar
 
BIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.pptBIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.pptKadri20
 
Lecture 2
Lecture 2Lecture 2
Lecture 2Mr SMAK
 
fundamentals of digital communication Unit 5_microprocessor.pdf
fundamentals of digital communication Unit 5_microprocessor.pdffundamentals of digital communication Unit 5_microprocessor.pdf
fundamentals of digital communication Unit 5_microprocessor.pdfshubhangisonawane6
 
Classification of Parallel Computers.pptx
Classification of Parallel Computers.pptxClassification of Parallel Computers.pptx
Classification of Parallel Computers.pptxNeeraj Singh
 
Ceg4131 models
Ceg4131 modelsCeg4131 models
Ceg4131 modelsanandme07
 
18 parallel processing
18 parallel processing18 parallel processing
18 parallel processingdilip kumar
 
Array Processors & Architectural Classification Schemes_Computer Architecture...
Array Processors & Architectural Classification Schemes_Computer Architecture...Array Processors & Architectural Classification Schemes_Computer Architecture...
Array Processors & Architectural Classification Schemes_Computer Architecture...Sumalatha A
 
Real-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsReal-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsAJAL A J
 
Multiprocessor_YChen.ppt
Multiprocessor_YChen.pptMultiprocessor_YChen.ppt
Multiprocessor_YChen.pptAberaZeleke1
 

Similar to PARALLELISM IN MULTICORE PROCESSORS (20)

Multiprocessor.pptx
 Multiprocessor.pptx Multiprocessor.pptx
Multiprocessor.pptx
 
CA UNIT IV.pptx
CA UNIT IV.pptxCA UNIT IV.pptx
CA UNIT IV.pptx
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
Flynn's Classification .pptx
Flynn's Classification .pptxFlynn's Classification .pptx
Flynn's Classification .pptx
 
27 multicore
27 multicore27 multicore
27 multicore
 
Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programming
 
Parallel architecture &programming
Parallel architecture &programmingParallel architecture &programming
Parallel architecture &programming
 
BIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.pptBIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.ppt
 
27 multicore
27 multicore27 multicore
27 multicore
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
fundamentals of digital communication Unit 5_microprocessor.pdf
fundamentals of digital communication Unit 5_microprocessor.pdffundamentals of digital communication Unit 5_microprocessor.pdf
fundamentals of digital communication Unit 5_microprocessor.pdf
 
Classification of Parallel Computers.pptx
Classification of Parallel Computers.pptxClassification of Parallel Computers.pptx
Classification of Parallel Computers.pptx
 
Ceg4131 models
Ceg4131 modelsCeg4131 models
Ceg4131 models
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
18 parallel processing
18 parallel processing18 parallel processing
18 parallel processing
 
Array Processors & Architectural Classification Schemes_Computer Architecture...
Array Processors & Architectural Classification Schemes_Computer Architecture...Array Processors & Architectural Classification Schemes_Computer Architecture...
Array Processors & Architectural Classification Schemes_Computer Architecture...
 
parallel-processing.ppt
parallel-processing.pptparallel-processing.ppt
parallel-processing.ppt
 
Real-Time Scheduling Algorithms
Real-Time Scheduling AlgorithmsReal-Time Scheduling Algorithms
Real-Time Scheduling Algorithms
 
Multiprocessor_YChen.ppt
Multiprocessor_YChen.pptMultiprocessor_YChen.ppt
Multiprocessor_YChen.ppt
 
aca mod1.pptx
aca mod1.pptxaca mod1.pptx
aca mod1.pptx
 

Recently uploaded

(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...Call Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Recently uploaded (20)

(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 

PARALLELISM IN MULTICORE PROCESSORS

  • 1. Velammal Engineering College Department of Computer Science and Engineering Welcome… Slide Sources: Patterson & Hennessy COD book website (copyright Morgan Kaufmann) adapted and supplemented Mr. A. Arockia Abins & Ms. R. Amirthavalli, Asst. Prof, CSE, Velammal Engineering College
  • 2. Subject Code / Name: 19IT202T / Computer Architecture
  • 3. Syllabus – Unit IV UNIT-IV PARALLELISM Introduction to Multicore processors and other shared memory multiprocessors - Flynn's classification: SISD, MIMD, SIMD, SPMD and Vector - Hardware multithreading: Fine-grained, Coarse-grained and Simultaneous Multithreading (SMT) - GPU architecture: NVIDIA GPU Architecture, NVIDIA GPU Memory Structure
  • 4. Topics: • Introduction to Multicore processors • Other shared memory multiprocessors • Flynn’s classification: o SISD, o MIMD, o SIMD, o SPMD and Vector • Hardware multithreading • GPU architecture 4
  • 6. Multicore processors • What is a Processor? o A single chip package that fits in a socket o Cores can have functional units, cache, etc. associated with them • The main goal of the multi-core design is to provide computing units with an increasing processing power. • A multicore processor is a single computing component with two or more “independent” processors (called "cores"). • known as a chip multiprocessor or CMP 6
  • 7. EXAMPLES  dual-core processor with 2 cores • e.g. AMD Phenom II X2, Intel Core 2 Duo E8500  quad-core processor with 4 cores • e.g. AMD Phenom II X4, Intel Core i5 2500T  hexa-core processor with 6 cores • e.g. AMD Phenom II X6, Intel Core i7 Extreme Ed. 980X  octa-core processor with 8 cores • e.g. AMD FX-8150, Intel Xeon E7-2820 7
  • 11. Number of core types Homogeneous (symmetric) cores: • All of the cores in a homogeneous multicore processor are of the same type; typically the core processing units are general-purpose central processing units that run a single multicore operating system. • Example: Intel Core 2 Heterogeneous (asymmetric) cores: • Heterogeneous multicore processors have a mix of core types that often run different operating systems and include graphics processing units. • Example: IBM's Cell processor, used in the Sony PlayStation 3 video game console 11
  • 15. Shared Memory Multiprocessors • A system with multiple CPUs “sharing” the same main memory is called multiprocessor. • In a multiprocessor system all processes on the various CPUs share a unique logical address space, which is mapped on a physical memory that can be distributed among the processors. • Each process can read and write a data item simply using load and store operations, and process communication is through shared memory. 15
  • 16. Shared Memory Multiprocessors • Processors communicate through shared variables in memory, with all processors capable of accessing any memory location via loads and stores. 16
  • 17. Questions: • Multicore processor • Hexacore processor • Homogeneous Multicore processor • Heterogeneous Multicore processor • Multiprocessor • Shared memory Multiprocessor 17
  • 18. • Single address space multiprocessors come in two styles. o Uniform Memory Access (UMA) o Non-Uniform Memory Access (NUMA) UMA Architecture: • In the first style, the latency to a word in memory does not depend on which processor asks for it. Such machines are called uniform memory access (UMA) multiprocessors. NUMA/DSMA Architecture: • In the second style, some memory accesses are much faster than others, depending on which processor asks for which word, typically because main memory is divided and attached to different microprocessors or to different memory controllers on the same chip. • Such machines are called nonuniform memory access (NUMA) multiprocessors. 18
  • 19. Types: • The shared-memory multiprocessors fall into two classes, depending on the number of processors involved, which in turn dictates a memory organization and interconnect strategy. • They are: 1. Centralized shared memory (Uniform Memory Access) 2. Distributed shared memory (NonUniform Memory Access) 19
  • 20. 1. Centralized shared memory architecture 20
  • 21. 2. Distributed shared memory architecture 21
  • 23. Flynn's classification: • In 1966, Michael Flynn proposed a classification for computer architectures based on the number of instruction steams and data streams (Flynn’s Taxonomy). o SISD (Single Instruction stream, Single Data stream) o SIMD (Single Instruction stream, Multiple Data streams) o MISD (Multiple Instruction streams, Single Data stream) o MIMD (Multiple Instruction streams, Multiple Data streams) 23
  • 25. SISD • SISD machines executes a single instruction on individual data values using a single processor. • Based on traditional Von Neumann uniprocessor architecture, instructions are executed sequentially or serially, one step after the next. • Until most recently, most computers are of SISD type. • Conventional uniprocessor 25
  • 27. SIMD • An SIMD machine executes a single instruction on multiple data values simultaneously using many processors. • Since there is only one instruction, each processor does not have to fetch and decode each instruction. Instead, a single control unit does the fetch and decoding for all processors. • SIMD architectures include array processors. 27
  • 28. SIMD • Data level parallelism: o Parallelism achieved by performing the same operation on independent data. 28
  • 29. MISD • Each processor executes a different sequence of instructions. • In case of MISD computers, multiple processing units operate on one single- data stream . • This category does not actually exist. This category was included in the taxonomy for the sake of completeness. 29
  • 31. Questions: • Uniform Memory Access (UMA) • Non-Uniform Memory Access (NUMA) • Centralized shared memory • Distributed shared memory • Flynn’s classification: 31
  • 32. MIMD • MIMD machines are usually referred to as multiprocessors or multicomputers. • It may execute multiple instructions simultaneously, contrary to SIMD machines. • Each processor must include its own control unit that will assign to the processors parts of a task or a separate task. • It has two subclasses: Shared memory and distributed memory 32
  • 34. Analogy of Flynn’s Classifications • An analogy of Flynn’s classification is the check-in desk at an airport  SISD: a single desk  SIMD: many desks and a supervisor with a megaphone giving instructions that every desk obeys  MIMD: many desks working at their own pace, synchronized through a central database 34
  • 35. Hardware categorization 35 SSE : Streaming SIMD Extensions
  • 36. Processor Organizations Computer Architecture Classifications Single Instruction, Single Instruction, Multiple Instruction Multiple Instruction Single Data Stream Multiple Data Stream Single Data Stream Multiple Data Stream (SISD) (SIMD) (MISD) (MIMD) Uniprocessor Vector Array Shared Memory Multicomputer Processor Processor (tightly coupled) (loosely coupled)
  • 37. Vector • more elegant interpretation of SIMD is called a vector architecture • the vector architectures pipelined the ALU to get good performance at lower cost • to collect data elements from memory, put them in order into a large set of registers, operate on them sequentially in registers using pipelined execution units. • then write the results back to memory 37
  • 38. Structure of a vector unit containing four lanes 38
  • 39. vector lane • One or more vector functional units and a portion of the vector register fi le. 39
  • 40. Questions: • MIMD • Examples for Flynn’s classification 40
  • 42. Hardware multithreading • A thread is a lightweight process with its own instructions and data. • Each thread has all the state (instructions, data, PC, register state, etc.) necessary to allow it to execute. • Multithreading (MT) allows multiple threads to share the functional units of a single processor. 42
  • 43. Hardware multithreading • Increasing utilization of a processor by switching to another thread when one thread is stalled. • Types of Multithreading: o Fine-grained Multithreading • Cycle by cycle o Coarse-grained Multithreading • Switch on event (e.g., cache miss) o Simultaneous Multithreading (SMT) • Instructions from multiple threads executed concurrently in the same cycle 43
  • 44. Thread B Thread A Thread D Thread C 4-issue machine
  • 45. Fine-grained MT Idea: Switch to another thread every cycle such that no two instructions from the thread are in the pipeline concurrently Advantages + No need for dependency checking between instructions (only one instruction in pipeline from a single thread) + No need for branch prediction logic + Otherwise-bubble cycles used for executing useful instructions from different threads + Improved system throughput, latency tolerance, utilization
  • 46. Fine-grained MT Idea: Switch to another thread every cycle such that no two instructions from the thread are in the pipeline concurrently Disadvantages - Extra hardware complexity: multiple hardware contexts, thread selection logic - Reduced single thread performance (one instruction fetched every N cycles) - Resource contention between threads in caches and memory - Dependency checking logic between threads remains (load/store)
  • 47. 47 Fine-grained MT 1 2 3 4 5 6 7 8 9 10 11 12 3 3 3 3 6 4 4 4 4 4 7 5 5 5 5 5 5 5 8 8 8 6 6 6 6 7 7 7 7 9 9 7 7 11 8 8 8 8 10 10 10 1 1 1 1 1 1 1 1 1 Time stamp of single thread execution 2 2 2 5 5 3 3 3
  • 48. 48 Coarse-grained MT switches threads only on costly stalls, such as L2 misses. The processor is not slowed down (by thread switching), since instructions from other threads will only be issued when a thread encounters a costly stall. Since a CPU with coarse-grained MT issues instructions from a single thread, when a stall occurs the pipeline must be emptied. The new thread must fill the pipeline before instructions will be able to complete.
  • 49. 49 Coarse-grained MT switches threads only on costly stalls, such as L2 misses. Advantages: – thread switching doesn’t have to be essentially free and much less likely to slow down the execution of an individual thread Disadvantage: – limited, due to pipeline start-up costs, in its ability to overcome throughput loss Pipeline must be flushed and refilled on thread switches
  • 51. Questions • Define thread. • What is mean by hardware multithreading? • Types of multithreading June 2015 ILP Limits and Multithreading 51
  • 52. Simultaneous Multithreading 52 Simultaneous multithreading (SMT) is a variation on MT to exploit TLP simultaneously with ILP. SMT is motivated by multiple-issue processors which have more functional unit parallelism than a single thread can effectively use. Multiple instructions from different threads can be issued
  • 53. 53 1 2 3 4 5 6 7 8 9 10 11 12 2 2 2 4 4 4 4 4 5 5 5 5 5 5 5 5 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 6 6 6 6 6 7 7 7 7 7 7 7 11 9 9 9 9 10 10 10 8 8 8 8 8 8 8 12 12 12 1 1 1 1 1 1 1 1 1 Time stamp of single thread execution
  • 54. 54 Approaches to use the issue slots.
  • 55. 55
  • 57. Speedup • Speedup measures increase in running time due to parallelism. The number of PEs is given by n. • Based on running times, S(n) = ts/tp , where o ts is the execution time on a single processor, using the fastest known sequential algorithm o tp is the execution time using a parallel processor. • For theoretical analysis, S(n) = ts/tp where o ts is the worst case running time for of the fastest known sequential algorithm for the problem o tp is the worst case running time of the parallel algorithm using n PEs. 57
  • 59. Amdahl’s law: “It states that the potential speedup gained by the parallel execution of a program is limited by the portion that can be parallelized.” 59
  • 60. Amdahl’s law • execution time before is 1 for some unit of time 60
  • 61. Question: • When parallelizing an application, the ideal speedup is speeding up by the number of processors. What is the speedup with 8 processors if 60% of the application is parallelizable? 61
  • 62. Question: • When parallelizing an application, the ideal speedup is speeding up by the number of processors. What is the speedup with 8 processors if 80% of the application is parallelizable? 62
  • 63. QUESTION: • Suppose that we are considering an enhancement that runs 10 times faster than the original machine but is usable only 40% of the time. What is the overall speedup gained by incorporating the enhancement.? 63
  • 64. Question • Suppose you want to achieve a speed-up of 90 times faster with 100 processors. What percentage of the original computation can be sequential? 64
  • 65. Question • Suppose you want to achieve a speed-up of 90 times faster with 100 processors. What percentage of the original computation can be sequential? 65
  • 66. Question • Suppose you want to perform two sums: one is a sum of 10 scalar variables, and one is a matrix sum of a pair of two- dimensional arrays, with dimensions 10 by 10. For now let’s assume only the matrix sum is parallelizable. What speed-up do you get with 10 versus 40 processors? • Next, calculate the speed-ups assuming the matrices grow to 20 by 20. 66
  • 68. Graphics processing unit (GPU) • It is a processor optimized for 2D/3D graphics, video, visual computing, and display. • It is highly parallel, highly multithreaded multiprocessor optimized for visual computing. • It provide real-time visual interaction with computed objects via graphics images, and video. • Heterogeneous Systems: combine a GPU with a CPU 68
  • 70. 70
  • 71. An Introduction to the NVIDIA GPU Architecture 71
  • 72. NVIDIA GPU Memory Structures 72