2 - Hardware & Architectures Flashcards

1
Q

What is optimised for low-latency communications?

A

CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is optimised for data parallel and high throughout computations

A

GPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Which has the larger cache? CPU or GPU?

A

CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What has more transistors dedicated to computation? CPU or GPU?

A

GPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is better for real-time applications? CPU or GPU?

A

CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Discuss the CPU

A
  • Optimised for law latency computations
  • Large caches
  • Fewer ALUs
  • Good for real-time applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Discuss the GPU

A
  • Optimised for data-parallel and high throughput computations
  • Smaller caches
  • More transistors dedicated to computation
  • Good if enough work to hide latency
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are 4 pieces of parallel hardware?

A
  • Pipelines, vector instructions in CPU
  • Multi-core CPUs and multi-processors
  • Dedicated parallel processing units
  • Distributed systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Name 4 applications of parallel computing

A

Autonomous Cars, Augmented Reality, Video Games and Weather Forecasting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why is parallel programming less intuitive than serial programming?

A

Non-trivial communication and synchronisation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why does adding processors not always improve performance of serial programs?

A

The serial programs are unaware of the existence of multiple processors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What was single processing power performance driven by?

A

The increasing density of transistors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are parallel programs?

A

Programs that exploit the power of multiple processors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a shared memory parallel system?

A

Where processors operate independently but share the same memory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a distributed memory system?

A

Where the processors operate independently but have their own local memory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is pipelining?

A

Where function units are arranged in stages

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What do we need to think about when writing parallel programs?

A

Communication among cores, load balancing and synchronisation of cores

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Why can’t we translate serial programs into parallel programs?

A

Translations cannot deal with the fundamental shift in algorithmic structure required for effective parallelisation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is a parallel pattern?

A

Valuable algorithmic structure commonly seen in efficient parallel programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is serialisation?

A

Act of putting some set of operations into a specific order

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is locality?

A

Memory accesses close together in time and span are cheaper than far apart ons

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is the difference between implicit and explicit parallelism?

A

The programmer has no access to implicit parallelism, but they do have access to explicit parallelism

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Name a type of implicit parallelism

A

Pipelines and vector instructions in CPU

24
Q

Name 3 types of explicit parallelism

A

Multi-core CPUS and multi-processors, dedicated parallel processing units, distributed systems

25
What is Flynn's Taxonomy?
Classifies multi-processor computer architectures according to two independent dimensions, instruction streams and data streams
26
What are the two possible states of dimensions within Flynn's Taxonomy?
Single and multiple
27
What are the four possible classifications within Flynn's Taxonomy?
SISD, SIMD, MISD, MIMD
28
What is SISD?
Single instruction, single data
29
What is SIMD?
Single instruction, multiple data
30
What is MISD?
Multiple instruction, single data
31
What is MIMD?
Multiple instruction, multiple data
32
Describe SISD
A serial computer, only one instruction stream is being acted on by the CPU during one clock cycle and only one data stream is being used as input during one clock cycle
33
What is SISD good for?
Traditional single processor/single core CPUS and real-time applications
34
Describe SIMD
Parallel, all processing units execute the same instruction at a clock cycle, each processing unit can operate on a different data element
35
What is SIMD good for?
Modern CPUs and GPUs, best for problems with a high degree of regularity e.g image processing
36
Describe MIMD
Most common type of parallel computer, every processor may be executing a different instruction stream, every processor may be working with a different data stream
37
What is MIMD good for?
Multi-core CPUs, computing clusters and grids
38
What is worth noting about MIMD?
Many MIMD architectures also include SIMD execution sub-components
39
Describe MISD
Each processing unit operates on the data independently via separate instruction streams, a single data stream is def into multiple processing units
40
What is MISD good for?
CryptographY
41
Which of Flynn's Taxonomies is rare and uncommon?
MISD
42
What are the two memory architectures for SIMD and MIMD?
Shared and distributed
43
What is a shared memory architecture?
Processors operate independently but share the same memory - global address space, changes in memory by one processor are visible to all other processors
44
What is distributed memory?
Processors operate independently but have their own local memory, memory addresses in one processor do not map to another processor - no global address space
45
What are the pros of the shared memory architecture?
Global address space is easy to use and program, and data sharing between tasks is fast due to the proximity of memory to CPUs
46
What are the cons for the shared memory architecture?
Adding more CPUs can increase traffic on shared memory-CPU path and the programmer is responsible for synchronisation to ensure correct access to global memory
47
What are the pros to the distributed memory architectures?
Each processor can rapidly access its own memory without interference, and memory is scalable (increase the number of processors and size of memory increased)
48
What are the cons to the distributed memory architecture?
The programmer is responsible for data communication and non-uniform memory access times
49
What is the GPU?
Designed for manipulating computer graphics and image processing, highly parallel, more efficient than CPUs when processing large blocks of visual data in parallel
50
What are the different realisations of the GPU?
Dedicated expansion video card, integrated into the CPU, embedded on motherboard
51
What is GPGPU?
General-purpose computing on GPU. Application of GPU for applications other than graphics, with large datasets and complex computations
52
When might you use GPGPU?
Physics simulation, AI, weather forecasting
53
What is latency?
Time to solution. Minimises time at the expensive of power
54
What is throughout?
Quantity of tasks processed per unit of time, minimises energy per operation
55
What is heterogeneous computing?
Combining both a latency processor (CPU) with a throughput processor (GPU)