Lecture 2 Flashcards

1
Q

What’s the point of parallel computing

A

Distributing the workload across multiple processors or cores, the overall computational power is increased.

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

Parallelism vs concurrency

A

Parallel computing focuses on executing multiple tasks simultaneously on multiple processors or cores to improve performance and solve larger computational problems efficiently.

Concurrency deals with managing and coordinating multiple tasks or processes, often within a single processor, to enhance responsiveness and resource utilisation.

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

Task vs Data parallelism

A

Task: Different processors or cores work on different tasks concurrently.

Data: Distributing the data across multiple processors or cores and performing the same operation on each subset of the data concurrently.

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

Shared memory vs distributed memory

A

Shared memory: all processors have access to a common memory address space.
Distributed memory: all processors have their own private memory space.

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

Concurrent vs parallel vs distributed computing

A

Concurrent - a program is one in which multiple tasks can be in progress at any instant.
Parallel - a program is one in which multiple tasks cooperate closely to solve a problem.
Distributed - a program may need to cooperate with other programs to solve a problem.

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

What are the two main parts of a CPU?

A

Control unit - responsible for deciding which instruction in a program should be executed (the boss).
ALU - executing the logic (the worker).

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

What is a process?

A

Instance of a program in execution

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

What is a thread?

A

Contained within processes. Allows programmers to divide their programs into independent tasks.
A light-weight process.

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

SPMD?

A

Single program multiple data
SPMD program consists of a single executable that can behave as if it were multiple different programs through the use of conditional branches.
If (im thread process i) do this; else do that;

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

What’s MPI?

A

Message passing interface.
Standard communication for distributed memory systems.
Basically asynchronous (blocking and non-blocking).
Basic comms primitives do not inherently give reliable delivery but can be defined to cope with it (e.g. transfer-acknowledge vs request-transfer-acknowledge)

SPMD model (all tasks run the same program)

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