Week 6 Flashcards
What is Parallel Computing?
Improve performance by performing multiple computations in parallel
What is Flynn’s Taxonomy?
Classification of computer architectures based on number of instruction and data streams they can handle simultaenously
What is an Instruction Stream?
Sequence of instructions; arithmetic, data transfer and branching
What is a Data Stream?
Consists of operands (constants, variables and memory addresses)
What is Single Instruction Single Data (SISD)?
Sequential computer with no data or instruction parallelism
Older single-core CPUs and simple microcontrollers
What is Multiple Instruction, Single Data (MISD)?
Multiple instructions operate on one piece of data simultaneously
Used for fault tolerance
Rare in practice
Eg. Space shuttle flight systems
What is Triple Modular Redundancy?
Majority vote of three independent systems or processors
Space satellite systems often use TMR
What is Single Instruction, Multiple Data (SIMD)?
Execute the same instruction on multiple data points simultaneously
What are SIMD computers good for?
Good for vector operations including image and audio processing
What are SIMD computers not good for?
SIMD computers are not suitable when the type of instruction depends on the data
What is a GPU (Graphics Processing Unit)?
GPU contains many ALUs to perform mathematical operations in parallel
GPU based on SIMD architecture
How to GPUs compare to CPUs?
GPUs have more ALUs and rely less on cache
GPUs have higher throughput and higher latency
What are Threads?
GPUs hide latency by utilising threads
Process may be subdivided into multiple threads
Threads within a process share data, heap, and code, but have their own registers and stack
What is Multiple Instruction, Multiple Data (MIMD)?
Multiple processors simultaneously execute different instructions on different pieces of data
What are Multi Core Processors?
A multi-core processor puts many CPU cores on one chip