Questions: Models of Distributed Computation

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

In a fully asynchronous distributed system, Process A sends a message to Process B and receives no response after 10 seconds. What can Process A conclude?

AProcess B has crashed — 10 seconds is too long for any functioning process
BThe network has partitioned between A and B
CNothing definitive — B may be slow, the message may be in transit, or B may have crashed
DProcess B received the message but chose not to respond
Question 2 Multiple Choice

Why do practical consensus algorithms like Raft guarantee safety (no incorrect decisions) at all times but only guarantee liveness (making progress) when the system is behaving well?

AThey are designed for the synchronous model, where safety and liveness are both always guaranteed
BThey are designed for partial synchrony — safety holds under any timing, but liveness requires eventual synchrony for timeouts to function correctly
CThey trade safety for liveness during high-load periods to improve throughput
DLiveness is impossible in any distributed system, so algorithms don't guarantee it
Question 3 True / False

In the synchronous distributed model, failure detection is reliable because you can use timeouts to definitively conclude that a non-responding process has crashed.

TTrue
FFalse
Question 4 True / False

The partially synchronous model is merely a theoretical curiosity with no relevance to real distributed systems.

TTrue
FFalse
Question 5 Short Answer

Why does the choice of computational model (synchronous vs. asynchronous vs. partially synchronous) matter for distributed algorithm design?

Think about your answer, then reveal below.