Programming
Question #1 (1 point)
Note: ^ is the superscript operator and _ is the subscript operator. Hence, e_1^2 means an event 2 in process 1.
Consider 3 processes: P_1, P_2 and P_3. We have 5 events from P_1 (e_1^1 to e_1^5), 6 events from P_2 (e_2^1 to e_2^6), and 5 events from P_3 (e_3^1 to e_3^5). e_1^2 is a send event and its corresponding receive event is e_2^5. e_1^3 is a send event and its corresponding receive event is e_3^4. e_2^2 is a send event and its corresponding receive event is e_3^3. e_3^1 is a send event and its corresponding receive event is e_1^4. e_3^2 is a send event and its corresponding receive event is e_2^3. e_3^5 is a send event and its corresponding receive event is e_2^6.
Consider a cut C1 such that e_1^3, e_1^4, e_1^5, e_2^4, e_2^5, e_2^6 and e_3^5 are in the future of C1, and all other events are in the past of C1. Which of the following statements is true?
- C1 is a consistent cut.
- C1 is an inconsistent cut.
- C1 is not a cut.
Question #2 (1 point)
For the execution history in question 1, list all the earliest events at each of the processes that e_2^4 causally affects.
Question #3 (1 point)
For the execution history in question 1, list all the events in Max_Past(e_2^6).
Question #4 (1 point)
For the execution history in question 1, what is the scalar clock timestamp for e_2^6?
Question #5 (1 point)
For the execution history in question 1, what is the vector clock timestamp for e_2^6?
Question #6 (1 point)
For the execution history in question 1, what is the vector clock timestamp for e_2^6, when implemented using differential vector clocks?
Question #7 (1 point)
For the execution history in question 1, what is the vector clock timestamp for e_2^6 during execution, when implemented using direct dependency technique?
Question #8 (1 point)
Consider an execution history with 5 processes. One of the events ‘e’ has vector clock timestamp [1, 3, 1, 8, 4]. Which of the following statements best describes the situation?
- Exactly 17 events causally precede e.
- At most 16 events causally precede e.
- At most 17 events causally precede e.
- At least 17 events causally precede e.
- None of the other options is true.
- Exactly 16 events causally precede e.
- At least 16 events causally precede e.
Question #9 (1 point)
For the execution history in question 1, what is the timestamp sent by the differential vector clock along with the message from e_3^5 to e_2^6?
Question #10 (1 point)
For the execution history in question 1, what is the timestamp sent by the direct dependency technique along with the message from e_3^5 to e_2^6?
Question #11 (1 point)
In 1 sentence, explain why strong consistency is an important property for developing logical clocks