Concurrent computing
0.0 / 5
- Created by: Purchalace
- Created on: 11-05-17 16:25
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
Card 4
Front
What's the difference between streaming and transactions?
Back
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
Related discussions on The Student Room
- Computer Science module advice »
- Computer science in university of Hertfordshire »
- It service delivery »
- Block Teaching at De Montfort University »
- Computer Science NEA Survey! »
- Defer/Retake Year »
- Beginning OCR Computer science next year. What should i focus on to help me? »
- Stay and do Chemistry or leave and do CS? »
- Am I eligible for a postgraduate SFE masters loan? »
- Personal Statement from Oxford Student for Year Abroad at Yale - Review »
Similar Computing resources:
0.0 / 5
0.0 / 5
0.0 / 5
0.0 / 5
0.0 / 5
0.0 / 5
0.0 / 5
0.0 / 5
Comments
No comments have yet been made