Basics of Parallel Computing Flashcards

1
Q

What are 2 types of shared memory architecture?

A

Uniform Memory Access and Non-Uniform Memory Access

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

In Uniform Memory Access, all processors are connected to the same ________

A

memory

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

In Non-Uniform Memory Access, all processors have their own ________ but are connect by a local _________

A

memory, interconnect

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

In Non-Uniform Memory Access, why is it slow for P1 to access the memory of P0?

A

P1 has to go through the interconnect, rather than directly accessing P0’s memory

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

In a _______ memory architecture, memory updates by one processor are visible to others

A

shared

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

What are some drawbacks of a shared memory architecture?

A
  • Difficult to scale
  • Adding CPUs increases traffic (CPU to memory traffic)
  • Need to synchronize memory access (using locks)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

In a __________ memory architecture, P1 can access P0’s data though communication protocols

A

distributed

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

What are some advantages of a distributed memory architecture?

A
  • Scalable in term of processors and memory
  • Local access is fast (as a processor’s own memory is private)
  • Cost effective
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are some drawbacks of a distributed memory architecture?

A
  • Difficult to program

- Communication/Synchronization is difficult to manage

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

What are 2 communication models in memory architectures?

A
  • Shared memory

- Message passing

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

In Shared memory, a common ______ ______ is accessed asynchronously, with _____ used to control access

A

address space, locks

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

In Message passing, there is no shared address space and data transfer requires ___________

A

coordination

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

In a data parallel programming model, parallel operations occur over a collection of ____ _____ and each task works on a different ________ of the collection

A

data items, subset

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

Describe the task parallel programming model.

A

Tasks are defined based on operations that can be safely executed concurrently with other operations. An example is pipelining

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

In parallel programming, you must ensure __________ are correctly satisfied.

A

dependencies

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

Even in a parallel programming, it’s mostly likely you will have some ________ executions

A

sequential

17
Q

What are some metrics to measure performance?

A
  • Elapsed Time (Latency)
  • Throughput
  • How well the system scales (Strong vs Weak scaling)
18
Q

What is weak scaling?

A

How the solution time varies with the number of processors for a fixed problem size per processor

19
Q

What is strong scaling?

A

How the solution time varies with the number of processors for a fixed total problem size

20
Q

Review performance metrics formulas slide

At least recall speedup formula

A

Sp = exec time using 1 CPU (T1)/ exec time using p CPUs (Tp)

21
Q

What are some reasons adding 16 cores to a problem may not necessarily give you a 16 fold increase in performance?

A
  • Overheads in thread destruction, creation, etc
  • Communication overhead
  • The software may not be optimized to use the extra cores
22
Q

What does Amdahl’s Law describe?

A

The theoretical upper bound on speedup due to parallel programming

23
Q

In Amdahl’s Law , what is the fastest parallel time, Tp

A

= T1 * (f + (1-f)/p), where f is the fraction of problem that is sequential