CS-3006 3 ParallelArchitectures
CS-3006 3 ParallelArchitectures
Overview
(CS 3006)
● Computer
• Instructions
• Data
Flynn’s Taxonomy
Taxonomy of Processor Architectures
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 Network
Interface Network Interface
Interface
CPU CPU CPU
Memor
CPU
Memor
Memor
CPU CPU
y
y
CPU CPU CPU
Taxonomy of Processor Architectures
Distributed Computing
• Using distributed systems to solve large
problems
• 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
Us Resource
A User submit
er
computation or data Broker
intensive application to
A Resource Broker distribute the Grid
jobs in an application to the Grid Grid Resources (Cluster, PC,
Grids. resources based on user’s QoS Resources
Supercomputer, database,
requirements and available Grid instruments, etc.)
resources.
Cloud Computing
What is Cloud Computing?
• Cloud Computing is a network-based computing that
takes place over the Internet:
– a collection/group of integrated and networked
hardware, software, and Internet infrastructure
(called a platform).
44
Cloud Service Models
Adopted from: Effectively and 45 Securely Using the Cloud Computing Paradigm by peter Mell, Tim
Grance
Figure source: https://dachou.github.io/assets/20110326-cloudmodels.png
Cloud Providers
SuperComputers
What is Cloud Computing?
• 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)