CS-3006 3 ParallelArchitectures
CS-3006 3 ParallelArchitectures
(CS 3006)
Computer
Instructions Data
Flynn’s Taxonomy
1. Single Instruction, Single Data Stream – SISD
• Single processor
• Single instruction stream
• Data stored in single memory
• Deterministic execution
SI SISD SD
2. Single Instruction, Multiple Data Stream - SIMD
• A parallel processor
• Single instruction: all processing units execute same
instruction at any given clock cycle
• Multiple data: Each processing unit can operate on a
different data element
• Large number of processing elements (with local
memory)
SISD SD
• Examples: GPUs, etc.
SI SISD SD
SISD SD
2. Single Instruction, Multiple Data Stream - SIMD
• Availability
– Failure of a single processor does not halt system
• Incremental growth
– Adding additional processors enhances performance
• Scaling
– Range of products based on number of processors
Symmetric Multiprocessor Organization
Multithreading and Chip Multiprocessors
• Instruction stream divided into smaller streams
called “threads”
• Executed in parallel
Taxonomy of Processor Architectures
Tightly Coupled - NUMA
• Non-Uniform Memory Access (NUMA)
– Access times to different regions of memory differs
SunFire X4600M2 NUMA machine
Non-uniform Memory Access (NUMA)
• Non-uniform memory access
– All processors have access to all parts of memory
– Access time of processor differs depending on
memory region
– Different processors access different regions of
memory at different speeds
Interconnection Network
Interconnection Network
Network Interface Network Interface Network Interface
CPU CPU CPU
Memory
Memory
Memory
CPU CPU CPU
• Paradigms:
– Cluster computing
– Grid computing
– Cloud computing
Cluster Computing
Clusters - Loosely Coupled
• Collection of independent uni-processor systems or
SMPs
• Interconnected to form a cluster
• SMPs:
– Easier to manage and control
– Closer to single processor systems:
• Scheduling is main difference
• Less physical space required
• Lower power consumption
Cluster vs. SMP
• Clustering:
– Superior incremental scalability
– Superior availability
• Redundancy
Grid Computing
Grid Computing
• Heterogeneous computers over the whole world
providing CPU power and data storage capacity
Computational jobs
Grid application
Processed jobs
Computation result
44
Cloud Service Models
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim 45
Grance
Figure source: https://dachou.github.io/assets/20110326-cloudmodels.png
Cloud Providers
SuperComputers
What is SuperComputer?
• Typical definition*: A computer that leads the world in
terms of processing capacity, speed of calculation, at the
time of its introduction
– Computer speed is measured in FLoating Point
Operations Per Second (FLOPs)