WHAT WE TALK ABOUT WHEN WE TALK ABOUT DISTRIBUTED SYSTEMS ALVARO - - PowerPoint PPT Presentation

what we talk about when we talk about distributed systems
SMART_READER_LITE
LIVE PREVIEW

WHAT WE TALK ABOUT WHEN WE TALK ABOUT DISTRIBUTED SYSTEMS ALVARO - - PowerPoint PPT Presentation

WHAT WE TALK ABOUT WHEN WE TALK ABOUT DISTRIBUTED SYSTEMS ALVARO VIDELA DISTRIBUTED SYSTEMS FOR THE IKEA FAMILY ALVARO VIDELA HTTP://BIT.LY/DIST-SYS101 @HINTJENS DISTRIBUTED SYSTEMS A DISTRIBUTED SYSTEM IS ONE IN WHICH THE FAILURE


slide-1
SLIDE 1

WHAT WE TALK ABOUT WHEN WE TALK ABOUT DISTRIBUTED SYSTEMS

ALVARO VIDELA

slide-2
SLIDE 2

DISTRIBUTED SYSTEMS FOR THE IKEA FAMILY

ALVARO VIDELA

slide-3
SLIDE 3

HTTP://BIT.LY/DIST-SYS101

slide-4
SLIDE 4

@HINTJENS

slide-5
SLIDE 5

DISTRIBUTED SYSTEMS

slide-6
SLIDE 6

“A DISTRIBUTED SYSTEM IS ONE IN WHICH THE FAILURE OF A COMPUTER YOU DID NOT EVEN KNOW EXISTED CAN RENDER YOUR OWN COMPUTER UNUSABLE”

Leslie Lamport

slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9

Google: define jargon

slide-10
SLIDE 10

DISTRIBUTED SYSTEMS

slide-11
SLIDE 11

DISTRIBUTED SYSTEMS

  • Many entities trying to solve a problem

(nodes, processes)

slide-12
SLIDE 12

DISTRIBUTED SYSTEMS

  • Many entities trying to solve a problem

(nodes, processes)

  • Partial Knowledge
slide-13
SLIDE 13

DISTRIBUTED SYSTEMS

  • Many entities trying to solve a problem

(nodes, processes)

  • Partial Knowledge
  • Uncertainty
slide-14
SLIDE 14

DEEP RABBIT HOLE

slide-15
SLIDE 15

WHAT TO READ?

slide-16
SLIDE 16

WHICH PAPERS?

slide-17
SLIDE 17
slide-18
SLIDE 18
slide-19
SLIDE 19
slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22

WHICH BOOKS?

slide-23
SLIDE 23
slide-24
SLIDE 24

WHY?

slide-25
SLIDE 25

http://tobielangel.com

slide-26
SLIDE 26

THE PROBLEM

slide-27
SLIDE 27

DIFFERENT MODELS

slide-28
SLIDE 28

DIFFERENT MODELS

  • Timing Model
slide-29
SLIDE 29

DIFFERENT MODELS

  • Timing Model
  • Inter Process Communication Used (IPC

method)

slide-30
SLIDE 30

DIFFERENT MODELS

  • Timing Model
  • Inter Process Communication Used (IPC

method)

  • Failure Modes
slide-31
SLIDE 31

TIMING MODEL

slide-32
SLIDE 32

TIMING MODEL

  • Synchronous Model
slide-33
SLIDE 33

TIMING MODEL

  • Synchronous Model
  • Asynchronous Model
slide-34
SLIDE 34

TIMING MODEL

  • Synchronous Model
  • Asynchronous Model
  • Semi-synchronous Model
slide-35
SLIDE 35

INTERPROCESS COMMUNICATION

slide-36
SLIDE 36

INTERPROCESS COMMUNICATION

  • Message Passing
slide-37
SLIDE 37

INTERPROCESS COMMUNICATION

  • Message Passing
  • Shared Memory
slide-38
SLIDE 38

FAILURE MODES

slide-39
SLIDE 39

FAILURE MODES

  • Crash-stop
slide-40
SLIDE 40

FAILURE MODES

  • Crash-stop
  • Crash-recovery
slide-41
SLIDE 41

FAILURE MODES

  • Crash-stop
  • Crash-recovery
  • Omission Faults
slide-42
SLIDE 42

FAILURE MODES

  • Crash-stop
  • Crash-recovery
  • Omission Faults
  • Arbitrary Failures Mode (Byzantine)
slide-43
SLIDE 43

LIVENESS AND SAFETY

slide-44
SLIDE 44

LIVENESS AND SAFETY PROPERTIES OF ALGORITHMS

slide-45
SLIDE 45

SAFETY

Some “bad” thing does not happens during execution

slide-46
SLIDE 46

SAFETY

“Communication links should not invent messages out of thin air”

slide-47
SLIDE 47

LIVENESS

A “good” thing happens during execution

slide-48
SLIDE 48

LIVENESS

“A destination process eventually delivers the message”

slide-49
SLIDE 49

LET’S TAKE A LOOK AT FLP

1

1 - Fischer, Lynch, Paterson

slide-50
SLIDE 50
slide-51
SLIDE 51

IMPOSSIBILITY OF DISTRIBUTED CONSENSUS WITH ONE FAULTY PROCESS

slide-52
SLIDE 52

IMPOSSIBILITY OF DISTRIBUTED CONSENSUS WITH ONE FAULTY PROCESS

slide-53
SLIDE 53

IMPOSSIBILITY OF DISTRIBUTED CONSENSUS WITH ONE FAULTY PROCESS

slide-54
SLIDE 54

IMPOSSIBILITY OF DISTRIBUTED CONSENSUS WITH ONE FAULTY PROCESS

slide-55
SLIDE 55

IMPOSSIBILITY OF DISTRIBUTED CONSENSUS WITH ONE FAULTY PROCESS

slide-56
SLIDE 56

WHAT’S CONSENSUS ANYWAY?

slide-57
SLIDE 57

“THE CONSENSUS PROBLEM IS A PARADIGM OF AGREEMENT PROBLEMS”

https://dl.acm.org/citation.cfm?id=1052796.1052806

slide-58
SLIDE 58

PROPERTIES OF CONSENSUS

slide-59
SLIDE 59

PROPERTIES OF CONSENSUS

  • C-Termination: Every correct process eventually decides on some value
slide-60
SLIDE 60

PROPERTIES OF CONSENSUS

  • C-Termination: Every correct process eventually decides on some value
  • C-Validity: If a process decides v, then v was proposed by some process
slide-61
SLIDE 61

PROPERTIES OF CONSENSUS

  • C-Termination: Every correct process eventually decides on some value
  • C-Validity: If a process decides v, then v was proposed by some process
  • C-Agreement: No two correct processes decide differently
slide-62
SLIDE 62

PROPERTIES OF UNIFORM CONSENSUS

  • C-Termination: Every correct process eventually decides on some value
  • C-Validity: If a process decides v, then v was proposed by some process
  • C-Agreement: No two correct processes decide differently
  • C-Uniform Agreement: No two processes (correct or not) decide

differently.

slide-63
SLIDE 63

WE NEED CONSENSUS WHEN:

A SET OF PROCESSES HAVE TO AGREE TO TAKE A COMMON ACTION

slide-64
SLIDE 64

WE NEED CONSENSUS WHEN:

A SET OF PROCESSES HAVE TO AGREE TO TAKE A COMMON ACTION

Atomic Broadcast

slide-65
SLIDE 65

WE NEED CONSENSUS WHEN:

A SET OF PROCESSES HAVE TO AGREE TO TAKE A COMMON ACTION

Atomic Broadcast Group Membership

slide-66
SLIDE 66

ATOMIC BROADCAST

“CORRECT PROCESSES DELIVER THE SAME SET OF MESSAGES IN THE SAME ORDER”

slide-67
SLIDE 67

FLP TELLS US THAT IF CONSENSUS CANNOT BE ACHIEVED, THEN ATOMIC BROADCAST OR GROUP MEMBERSHIP CANNOT BE ACHIEVED EITHER

slide-68
SLIDE 68

SO, WE PACK OUR BAGS AND GO? NOTHING TO SEE HERE?

slide-69
SLIDE 69

STUMBLING OVER CONSENSUS RESEARCH: MISUNDERSTANDING AND ISSUES

Marcos K. Aguilera

slide-70
SLIDE 70

FAILURE DETECTORS

slide-71
SLIDE 71
slide-72
SLIDE 72

FAILURE DETECTORS

slide-73
SLIDE 73

FAILURE DETECTORS

  • External process
slide-74
SLIDE 74

FAILURE DETECTORS

  • External process
  • Provides information about suspected processes
slide-75
SLIDE 75

FAILURE DETECTORS

  • External process
  • Provides information about suspected processes
  • Completeness property (crashed processes are

detected)

slide-76
SLIDE 76

FAILURE DETECTORS

  • External process
  • Provides information about suspected processes
  • Completeness property (crashed processes are

detected)

  • Accuracy (correct process are never suspected)
slide-77
SLIDE 77

“RUB SOME PERFECT FAILURE DETECTOR ON IT”

slide-78
SLIDE 78

http://www.amazon.com/Introduction-Reliable-Secure- Distributed-Programming/dp/3642152597

PERFECT FAILURE DETECTOR

slide-79
SLIDE 79

EVENTUALLY ACCURATE FAILURE DETECTOR

slide-80
SLIDE 80

EVENTUALLY ACCURATE FAILURE DETECTOR

  • Strong Completeness: Eventually, every

process that crashes is permanently suspected by every correct process.

slide-81
SLIDE 81

EVENTUALLY ACCURATE FAILURE DETECTOR

  • Strong Completeness: Eventually, every

process that crashes is permanently suspected by every correct process.

  • Eventual Weak Accuracy: There is a time

after which some correct process is never suspected by the correct processes.

slide-82
SLIDE 82

EVENTUALLY ACCURATE FAILURE DETECTOR

  • Strong Completeness: Eventually, every

process that crashes is permanently suspected by every correct process.

  • Eventual Weak Accuracy: There is a time

after which some correct process is never suspected by the correct processes. http://dl.acm.org/citation.cfm?id=1052806

slide-83
SLIDE 83
slide-84
SLIDE 84

QUORUMS

slide-85
SLIDE 85

TL;DR:

INTERSECTING SETS

slide-86
SLIDE 86

“A QUORUM IN A SYSTEM WITH N CRASH-FAULT PROCESS ABSTRACTIONS […] IS ANY MAJORITY OF PROCESSES, I.E., ANY SET OF MORE THAN N/2 PROCESSES”

QUORUMS

slide-87
SLIDE 87

“IF F < N/2 PROCESSES FAIL BY CRASHING, THERE IS ALWAYS AT LEAST ONE QUORUM OF NONCRASHED PROCESSES IN SUCH SYSTEMS”

QUORUMS

slide-88
SLIDE 88

QUORUMS

A - B - C - D - E

slide-89
SLIDE 89

QUORUMS

A - B - C - D - E

slide-90
SLIDE 90

QUORUMS

A - B’ - C - D’ - E

slide-91
SLIDE 91

QUORUMS

A - B’ - C - D’ - E

slide-92
SLIDE 92

QUORUMS

A - B’ - C’ - D’ - E’

slide-93
SLIDE 93

QUORUMS

A - B’ - C’ - D’ - E’

slide-94
SLIDE 94

CONSISTENCY

slide-95
SLIDE 95
slide-96
SLIDE 96

CONCURRENT FIFO QUEUE

slide-97
SLIDE 97

CONSISTENCY CONDITIONS

slide-98
SLIDE 98

CONSISTENCY CONDITIONS

  • Atomic Consistency (Linearizabilty)
slide-99
SLIDE 99

CONSISTENCY CONDITIONS

  • Atomic Consistency (Linearizabilty)
  • Sequential Consistency
slide-100
SLIDE 100

CONSISTENCY CONDITIONS

  • Atomic Consistency (Linearizabilty)
  • Sequential Consistency
  • Causal Consistency
slide-101
SLIDE 101

CONSISTENCY CONDITIONS

  • Atomic Consistency (Linearizabilty)
  • Sequential Consistency
  • Causal Consistency

https://aphyr.com/posts/313-strong-consistency- models

slide-102
SLIDE 102

LINEARIZABILTY

http://www.amazon.com/Distributed-Algorithms-Message-Passing-Systems-Michel/dp/ 3642381227/

slide-103
SLIDE 103

LINEARIZABILTY

http://www.amazon.com/Distributed-Algorithms-Message-Passing-Systems-Michel/dp/ 3642381227/

slide-104
SLIDE 104

SOME BOOKS

slide-105
SLIDE 105

http://www.amazon.com/Distributed-Algorithms- Message-Passing-Systems-Michel/dp/3642381227/

slide-106
SLIDE 106

http://www.amazon.com/Fault-tolerant-Agreement- Synchronous-Message-passing-Distributed/dp/ 1608455254/

slide-107
SLIDE 107

http://www.amazon.com/Communication-Abstractions- Fault-tolerant-Asynchronous-Distributed/dp/160845293X/

slide-108
SLIDE 108

http://www.amazon.com/Distributed-Algorithms- Kaufmann-Management-Systems/dp/1558603484/

slide-109
SLIDE 109

http://www.amazon.com/Introduction-Reliable-Secure- Distributed-Programming/dp/3642152597

slide-110
SLIDE 110

http://www.amazon.com/Guide-Reliable-Distributed- Systems-High-Assurance/dp/1447124154/

slide-111
SLIDE 111

http://www.amazon.com/Replication-Practice-Lecture- Computer-Theoretical/dp/3642112935/

slide-112
SLIDE 112

FINDING NON PAYWALLED PAPERS

slide-113
SLIDE 113

CONCLUSION

slide-114
SLIDE 114

CONCLUSION

  • Deep Rabbit Hole
slide-115
SLIDE 115

CONCLUSION

  • Deep Rabbit Hole
  • Computing Science where Science is Still a Thing™
slide-116
SLIDE 116

CONCLUSION

  • Deep Rabbit Hole
  • Computing Science where Science is Still a Thing™
  • History of the Field Matters
slide-117
SLIDE 117

CONCLUSION

  • Deep Rabbit Hole
  • Computing Science where Science is Still a Thing™
  • History of the Field Matters
  • Read, read, read
slide-118
SLIDE 118

THANKS!

@old_sound