Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

We Hear You Like Papers Velocity Edition

We Hear You Like Papers Velocity Edition

Ines Sombra

June 22, 2016
Tweet

More Decks by Ines Sombra

Other Decks in Technology

Transcript

  1. Distributed Systems Are hard ASYNCHRONY No bound on message delay,

    clock drift, or the time necessary to execute a step. No timing assumptions Component(s) and communication attempts may fail during execution PARTIAL FAILURE
  2. “Consensus is unsolvable [in asynchronous networks] because accurate failure detection

    is impossible” - Impossibility of Distributed Consensus with One Faulty Process
  3. “We believe that unreliable failure detectors can be used to

    bridge the gap between known impossibility results and the need for practical solutions for fault- tolerant asynchronous systems.”
  4. Failure Detectors Every crashed process is eventually suspected by a

    correct process Not enough on its own
 (A paranoid failure detector is complete) Some correct process is never suspected by a correct process Restricts mistakes that can be made by the failure detector COMPLETENESS ACCURACY
  5. Failure Detectors ACCURACY STRONG WEAK STRONG COMPLETENESS WEAK EVENTUALLY
 STRONG

    EVENTUALLY
 WEAK PERFECT STRONG WEAK EVENTUALLY
 PERFECT EVENTUALLY
 STRONG EVENTUALLY
 WEAK
  6. Failure Detectors ACCURACY STRONG WEAK STRONG COMPLETENESS WEAK EVENTUALLY
 STRONG

    EVENTUALLY
 WEAK PERFECT STRONG WEAK EVENTUALLY
 PERFECT EVENTUALLY
 STRONG EVENTUALLY
 WEAK
  7. CLOCK SYNCHRONIZATION BYZANTINE GENERALS 
 NON-BLOCKING ATOMIC COMMIT CONSENSUS
 ATOMIC

    BROADCAST RELIABLE BROADCAST ASYNCHRONOUS SYSTEM ASYNCHRONOUS SYSTEM & EVENTUALLY WEAK FAILURE DETECTOR ASYNCHRONOUS SYSTEM & PERFECT FAILURE DETECTOR SYNCHRONOUS SYSTEM Failure Detectors & problems
  8. We now have a mechanism for solving consensus in asynchronous

    systems with crash failures & a way to classify problem solvability
  9. Embrace the nature of the asynchronous model. Trying to find

    solutions that are perfect (don’t assume failure) will give you a system that is fragile or impossible to build. Embrace academic research, it helps you understand what is and isn’t possible. Don’t waste time trying to build impossible systems that are bound to fail! Tl;DR