Introduction 2 Flashcards

1
Q

What is Process-level parallelism?

A

Two seperate programs on two seperate cores

Can be single core software. Problem: increasing performance of one

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

What is Thread-level parallelism?

A

Collection of execution flows working together e.g. threads

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

What is Instruction Level Parallesim?

A

Compiler automatically parallelises a sequential stream of instructions.

Some of which out of order. Overall result same as sequential execution

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

ILP Advantages and Disadvantages

A

Advantages: No work on programmer, compiler does all the work
Disadvantages: Limited

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

How does Thread-Level Parallelism work?

A

Programmer divides the program into sequences of instructions run in parallel. Deterministic overall result regardless execution details.

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

TLP Advantages and Disadvantages

A

Advantages: general purpose, can generate large amount of paralleism
Disadvantages: due to scheduling no control of order, might be paraller or in any order

So we need synchronization

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

What is the main issue of TLP?

A

Data sharing between threads (more than one thread accessing the same variable)

Solution: synchronization

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

How is execution time calculated for threads on a single core?

A

Sum of each thread’s executiom time

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

How is execution time calculated for threads on multicores?

A

Run in parallel so ideally serial execution time/number of parallel threads. But threads can be waiting for each other to finish.

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

What is Data Paralleism?

A

Many array computations perform the same or very similar computation on all elements

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

Examples of data paralleism

A
  1. General: Matrix multiplication
  2. Graphics: Texture mapping
  3. Differential equations: Financial modelling, weather forecasting
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Expain the complexity of Paralleism

A

Difficult, depends on program structure. Ranges from easy: regular paralleism with little or no data sharing, to hard: irregular with large amounts of mutliple-write data sharing

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