Questions: Happened-Before Relation and Causal Ordering

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

Process P sends a message to process Q (event A → event B). Separately, process R independently writes to its own variable (event C), exchanging no messages with P or Q. What is the relationship between B and C?

AC happened before B because C completed before B in wall-clock time
BB happened before C because message receipt establishes a causal chain that extends to all other events
CB and C are concurrent — neither could have caused the other, so neither happened-before holds
DThe relationship is unknown until Lamport timestamps are assigned and compared
Question 2 Multiple Choice

Process P has Lamport timestamp L(A) = 5 and process Q has L(B) = 7. What can you conclude about the causal relationship between A and B?

AA happened before B, because 5 < 7 guarantees causal precedence
BA and B are definitely concurrent, because Lamport timestamps are only equal for causally related events
CL(A) < L(B) is consistent with A→B, but A and B might also be concurrent — the timestamp alone is insufficient
DB happened before A, because the receiving process always has a higher timestamp
Question 3 True / False

Two events are concurrent in the happened-before relation if and only if neither event could have causally influenced the other — it is not a matter of unknown ordering.

TTrue
FFalse
Question 4 True / False

If Lamport timestamp L(A) < L(B), then event A causally preceded event B.

TTrue
FFalse
Question 5 Short Answer

Why is the happened-before relation a partial order rather than a total order, and what would be wrong with artificially imposing a total order on all events in a distributed system?

Think about your answer, then reveal below.