Factors affecting parallel performance Flashcards

(33 cards)

1
Q

What are the SLOW factors affecting parallel performance?

A
  1. Starvation
  2. Latency
  3. Overhead
  4. Waiting
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How does Starvation affect parallel performance?

A

Insufficient parallel work to keep the processors busy sometimes, due to an uneven distribution of work.

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

How does Latency affect parallel performance?

A

The time taken for information to travel from one part of the system to another slows down the entire system.

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

How does Overhead affect parallel performance?

A

The work required in addition to the computation such as starting and stopping OpenMP parallel regions.

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

How does Waiting affect parallel performance?

A

When multiple threads/processes are accessing a shared resource they are in contention for memory or network bandwidth.

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

What is parallel speedup?

A

How much faster the parallel program is than the linear version.

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

How is parallel speedup calculated?

A

SN = T0/TN

where T0 is the time for the serial program to run and TN is the time taken for the parallel program to run on N processors

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

How is parallel efficiency calculated?

A

EN = SN/N

Where SN is the speedup on N processors

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

What is strong scaling?

A

When the total problem size is fixed and the number of processors is increased to reduce run time.

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

What is Amdahl’s law?

A

The idea that parallel speedup is limited by the fraction of the program that can be parallelised.

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

How is parallel speedup calculated using Amdahl’s Law?

A

SN = 1/(s + p/N)

Where SN is the parallel speed up, s is the fraction that can not be parallelised, and p is the fraction that can be parallelised.

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

What did Gustafson observe?

A

He observed that in practice the problem size scales with the number of processors.

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

What is weak scaling?

A

The idea that speed up increases linearly with the number of processors so the run time remains constant and it is easier to make use of a large number of processors.

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

What is the equation for weak scaling?

A

Sn = s + pN

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

How are parallel regions kept synchronised?

A

There is an implied barrier after parallel regions and work share constructs which acts as a synchronisation point.

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

How is the implicit synch point removed?

A

Using the nowait command.

17
Q

How does nowait improve performance?

A

It can improve performance by avoiding unnecessary waiting but you need to be careful the program still works correctly.

18
Q

How is synchronisation added?

A

Using the command barrier

19
Q

What are the three loop scheduling options?

A
  1. Static
  2. Dynamic
  3. Guided
20
Q

How does static loop scheduling work?

A

Iterations are divided into pieces of size chunk and distributed round-robin between threads.

21
Q

How does dynamic loop scheduling work?

A

iterations divided into pieces of size chunk, when a thread finishes its chunk it is given another to work on.

22
Q

How does guided loop scheduling work?

A

Dynamic scheduling with decreasing chunk size. for chunk=1 chunk size is proportional to the number of unassigned iterations divided by the number of threads in the team. chunk=k sets minimum chunk size.

23
Q

What is interconnect?

A

Compute nodes are linked by an interconnect which carries these messages. the time spent communicating needs to be minimised to achieve high parallel efficiency and scale to large numbers of processors.

24
Q

What are two types of interconnect?

A
  1. Gigabit ethernet
  2. Infiniband
25
How do network topologies affect latency?
The number of hops between nodes affects latency. Ideally, every node is connected to every other node, but this only works for smaller networks. Bus or ring are simple but don't provide enough connectivity. More sophisticated topologies are used.
26
What network topology is common im HPC systems?
Fat Tree
27
How does MPI process placement affect overhead?
MPI processes within the same node can communicate faster than processes on different nodes. The speed of communication between processes on different nodes depends on network connectivity. The placement of MPI processes can be optimised to reduce communication time.
28
What are the main transmission time factors?
1. Number of hops between nodes 2. Blocking factor of the network 3. Other network traffic
29
How is transmission time calculated?
t = L + (M/B) where L is the latency, M is the message length, B is the bandwidth.
30
What is super-linear speed up?
While applying domain decomposition, an important data structure becomes small enough to fit into memory cache, resulting in a sudden performance increase.
31
How do the ration of halo points to domain points scale?
1/N
32
What are parallel overheads?
They are the extra work required to run a program in parallel. MPI has explicit overheads but they are less obvious in OpenMP.
33
How are parallel overheads incorporated into Amdahl's Law?
An overhead (np)v is added to the parallel run time