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
Q

What is Flynn’s Taxonomy?

A

Classifies multi-processor computer architectures according to two independent dimensions, instruction streams and data streams

26
Q

What are the two possible states of dimensions within Flynn’s Taxonomy?

A

Single and multiple

27
Q

What are the four possible classifications within Flynn’s Taxonomy?

A

SISD, SIMD, MISD, MIMD

28
Q

What is SISD?

A

Single instruction, single data

29
Q

What is SIMD?

A

Single instruction, multiple data

30
Q

What is MISD?

A

Multiple instruction, single data

31
Q

What is MIMD?

A

Multiple instruction, multiple data

32
Q

Describe SISD

A

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
Q

What is SISD good for?

A

Traditional single processor/single core CPUS and real-time applications

34
Q

Describe SIMD

A

Parallel, all processing units execute the same instruction at a clock cycle, each processing unit can operate on a different data element

35
Q

What is SIMD good for?

A

Modern CPUs and GPUs, best for problems with a high degree of regularity e.g image processing

36
Q

Describe MIMD

A

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
Q

What is MIMD good for?

A

Multi-core CPUs, computing clusters and grids

38
Q

What is worth noting about MIMD?

A

Many MIMD architectures also include SIMD execution sub-components

39
Q

Describe MISD

A

Each processing unit operates on the data independently via separate instruction streams, a single data stream is def into multiple processing units

40
Q

What is MISD good for?

A

CryptographY

41
Q

Which of Flynn’s Taxonomies is rare and uncommon?

A

MISD

42
Q

What are the two memory architectures for SIMD and MIMD?

A

Shared and distributed

43
Q

What is a shared memory architecture?

A

Processors operate independently but share the same memory - global address space, changes in memory by one processor are visible to all other processors

44
Q

What is distributed memory?

A

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
Q

What are the pros of the shared memory architecture?

A

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
Q

What are the cons for the shared memory architecture?

A

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
Q

What are the pros to the distributed memory architectures?

A

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
Q

What are the cons to the distributed memory architecture?

A

The programmer is responsible for data communication and non-uniform memory access times

49
Q

What is the GPU?

A

Designed for manipulating computer graphics and image processing, highly parallel, more efficient than CPUs when processing large blocks of visual data in parallel

50
Q

What are the different realisations of the GPU?

A

Dedicated expansion video card, integrated into the CPU, embedded on motherboard

51
Q

What is GPGPU?

A

General-purpose computing on GPU. Application of GPU for applications other than graphics, with large datasets and complex computations

52
Q

When might you use GPGPU?

A

Physics simulation, AI, weather forecasting

53
Q

What is latency?

A

Time to solution. Minimises time at the expensive of power

54
Q

What is throughout?

A

Quantity of tasks processed per unit of time, minimises energy per operation

55
Q

What is heterogeneous computing?

A

Combining both a latency processor (CPU) with a throughput processor (GPU)