Halting failures

Scenario

C does not notice any activity from C' - Terminal failure?

  • Distinguishing between a crash and a failure by omission/temporal can be impossible.

Asynchronous vs. Synchronous systems

  • Asynchronous system: does not assume anything about the speed of execution of a process of delivery times of messages -> it is not possible to reliably detect crashing failures.

  • Synchronous system: execution times and message deliveries are delimited -> it is possible to reliably identify temporal and omission failures.

In practice, we have partial synchronous systems: most of the time we can assume that the system behaves synchronously, despite the fact that there are no limits to the moments when it behaves asynchronously -> usually, failures by a crash can be detected.

Terminal failures

Type of stop
Description

Fail-stop

Failure by crash, but reliably detected.

Fail-noisy

Failure by crash, eventually not detected.

Fail-silent

Failure by omission or crash: client does not distinguish what happened.

Fail-safe

Arbitrary, but benign.

Fail-arbitrary

Arbitrary, with malicious failures.

Last updated