Detecting failures in distributed systems with the Falcon spy network

  • Authors:
  • Joshua B. Leners;Hao Wu;Wei-Lun Hung;Marcos K. Aguilera;Michael Walfish

  • Affiliations:
  • The University of Texas at Austin;The University of Texas at Austin;The University of Texas at Austin;Microsoft Research Silicon Valley;The University of Texas at Austin

  • Venue:
  • SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

A common way for a distributed system to tolerate crashes is to explicitly detect them and then recover from them. Interestingly, detection can take much longer than recovery, as a result of many advances in recovery techniques, making failure detection the dominant factor in these systems' unavailability when a crash occurs. This paper presents the design, implementation, and evaluation of Falcon, a failure detector with several features. First, Falcon's common-case detection time is sub-second, which keeps unavailability low. Second, Falcon is reliable: it never reports a process as down when it is actually up. Third, Falcon sometimes kills to achieve reliable detection but aims to kill the smallest needed component. Falcon achieves these features by coordinating a network of spies, each monitoring a layer of the system. Falcon's main cost is a small amount of platform-specific logic. Falcon is thus the first failure detector that is fast, reliable, and viable. As such, it could change the way that a class of distributed systems is built.