Concurrent computing

?
What is shared memory vs message passing?
Shared memory is physically sharing some memory location, while message passing just passes information directly from one thread to another.
1 of 35
What is a synchronised operation?
Both input and output channels have to be ready before anything else executes
2 of 35
What is an asynchronous operation?
Finished processes placed into a buffer, so threads don't have to wait.
3 of 35
What's the difference between streaming and transactions?
Streamed data goes into a buffer on the receiving end, while transactions are sent asynchronously with the beginning and end synchronised.
4 of 35
When writing a channel communication a:>b, which of a and b are the channel and the data? Is this operation input or output?
a is the channel, while data is on the right. This is b receiving data from channel a.
5 of 35
What does a replicated par block do?
Works like a for loop, allows iterations over a number of channels and concurrent processes.
6 of 35
What is deadlock?
The program gets stuck because two processes are waiting for some information and blocking each other, making the program halt.
7 of 35
What is livelock?
Program is running without making any progress.
8 of 35
Define CSP.
Communicating sequential processes - a theoretical language used to model concurrent systems.
9 of 35
What does α(P) define?
The alphabet of events in process P
10 of 35
What does SKIP mean?
Successful termination of a process
11 of 35
What does STOP mean?
Deadlock
12 of 35
What is P;Q, when P and Q are two processes?
Sequential composition, P followed by Q
13 of 35
What is a->P?
Prefixing, a then P
14 of 35
What is x : A -> P(x)?
Menu choice
15 of 35
What is a traces set?
A list of all possible traces of a process
16 of 35
What does "P trace refines Q" mean?
All of Q's traces are contained in P
17 of 35
What is Bernstein's criteria for task independency?
Tasks T1 and T2 must not feed each other data and their outputs must not overlap.
18 of 35
What is a transition diagram?
Basically a finite state machine - draws out the many states and links them visually.
19 of 35
# = ?
3 -# signifies the number of elements in the trace
20 of 35
What is the difference between explicit external and internal choices?
External choice symbol is a square, internal is missing the bottom edge. Internal choice is non-deterministic, but otherwise both are the same as | for the most part
21 of 35
What is a failure set made up of?
The union of all of the refusal sets.
22 of 35
What are the entries in Flynn's taxonomy?
SISD, SIMD, MISD, MIMD
23 of 35
What does MISD stand for?
Many instructions, single dataset.
24 of 35
What does SIMD stand for?
Single instruction, many datasets.
25 of 35
How does geometric parallelism work?
Quasi-independent but identical processes operate on a portion of data and interact only with neighbours.
26 of 35
How does process farming work?
Source distributes to many workers, and the workers independently process the data and send the result back to the farmer.
27 of 35
How does algorithmic parallelism work?
Processes vary across threads, the algorithm itself is split into sections that can be executed concurrently.
28 of 35
What is static load balancing?
Programmer assigns each thread a fixed amount of work, which works well for homogeneous multicore systems.
29 of 35
What is dynamic load balancing?
When a process is complete, it takes some of the load from the heaviest remaining process. Ideal when workload is uneven across processes.
30 of 35
What is Amdahl's law?
The speedup gained by using many processes in parallel is limited by the time needed for each sequential fraction.
31 of 35
What is the first condition for deadlock?
Mutual exclusion
32 of 35
What is the second condition for deadlock?
Wait for
33 of 35
What is the third condition for deadlock?
No preemption
34 of 35
What is the fourth condition for deadlock?
Circular wait
35 of 35

Other cards in this set

Card 2

Front

What is a synchronised operation?

Back

Both input and output channels have to be ready before anything else executes

Card 3

Front

What is an asynchronous operation?

Back

Preview of the front of card 3

Card 4

Front

What's the difference between streaming and transactions?

Back

Preview of the front of card 4

Card 5

Front

When writing a channel communication a:>b, which of a and b are the channel and the data? Is this operation input or output?

Back

Preview of the front of card 5
View more cards

Comments

No comments have yet been made

Similar Computing resources:

See all Computing resources »See all Concurrent Computing resources »