Multi-Processing Flashcards

1
Q

What are Flynn’s Taxonomy of Parallel Machines?

A
Classified by number of instructions streams and number of data streams.
SISD (uniprocessor)
SIMD (vector processor)
MISD (stream processor?)
MIMD (Multi-processor)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the limitations of uniprocessors?

A
  • Diminishing returns with increasing issue-width.

- increasing frequency increases the power cubically

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

What are the types of multi-processors?

A
  • Centralized Shared Memory

- Distributed Memory

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

What is centralized shared memory good for and why?

A

Memory access is slow and can only handle a certain number of accesses per second => good for small machines < 16

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

What is distributed memory?

A

Each core has its own memory and must communicate with other cores via a NIC. Must rely on message passing

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

Pros/cons of message passing vs shared memory?

A
  • Message passing is difficult to program correctly and be performant, but once it’s correct, it’s usually easy to be performant
  • Shared memory is less difficult to program correctly, but much harder to be performant
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is SMP?

A

Shared Multi-Processor. Multiple cores with one unified address space

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

What is hyperthreading?

A

AKA Simultaneous multithreading (SMT) can execute instructions from multiple threads in the same cycle (requires most hardware support)

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

What are the benefits of multithreading in cores?

A
  • Can avoid overhead of thread scheduling
  • Can take advantage of under-utilized hardware / idle time when scheduling just one thread
  • More efficient / lower cost than have two cores
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What hardware changes are required for SMT?

A

Need multiple PCs and extra logic before RSes (extra RFs, RATs). RSes and ROB stays the same, ROB just has interleaved values from both threads

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

Why is VIVT caching bad for SMT?

A

Both threads have the same address space!

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

How do we do caching for SMT?

A
  • use PIPT, VIPT

- Make TLB thread-aware

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

What are the pros/cons for SMT w.r.t. caching?

A

(+) good data sharing between threads (since you will get a cache hit even if your thread hasn’t accessed the data yet)
(-) cache capacity and associativity is shared

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

What is cache thrashing?

A

when the data required by both threads > cache size => get lots of cache misses

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