Failure Detectors Concurrency Trilogy Part IV Announcements - - PowerPoint PPT Presentation

failure detectors
SMART_READER_LITE
LIVE PREVIEW

Failure Detectors Concurrency Trilogy Part IV Announcements - - PowerPoint PPT Presentation

Failure Detectors Concurrency Trilogy Part IV Announcements Project proposals are due tonight, unless you got an extension. Announcements Project proposals are due tonight, unless you got an extension. Only a few hours left to submit


slide-1
SLIDE 1

Failure Detectors

Concurrency Trilogy Part IV

slide-2
SLIDE 2

Announcements

  • Project proposals are due tonight, unless you got an extension.
slide-3
SLIDE 3

Announcements

  • Project proposals are due tonight, unless you got an extension.
  • Only a few hours left to submit something or seek an extension.
slide-4
SLIDE 4

Announcements

  • Project proposals are due tonight, unless you got an extension.
  • Only a few hours left to submit something or seek an extension.
  • No quiz next week.
slide-5
SLIDE 5

Announcements

  • Project proposals are due tonight, unless you got an extension.
  • Only a few hours left to submit something or seek an extension.
  • No quiz next week.
  • Should have gotten results for last week's quiz.
slide-6
SLIDE 6

RSMs All Over Again

slide-7
SLIDE 7

Revisiting RSMs

Application Application Application Application Ordering Ordering Ordering Ordering

slide-8
SLIDE 8

Revisiting RSMs

Application Application Application Application Ordering Ordering Ordering Ordering

Client Client Client Client

slide-9
SLIDE 9

Revisiting RSMs

Application Application Application Application Ordering Ordering Ordering Ordering

Client Client Client Client

slide-10
SLIDE 10

Revisiting RSMs

Application Application Application Application Ordering Ordering Ordering Ordering

Client Client Client Client

slide-11
SLIDE 11

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client

slide-12
SLIDE 12

Revisiting RSMs

Raft Raft Raft Raft

Client Client Client Client

slide-13
SLIDE 13

Revisiting RSMs

Raft Raft Raft Raft

Client Client Client Client

slide-14
SLIDE 14

Revisiting RSMs

Application Application Application Application Raft Raft Raft Raft

Client Client Client Client The act of executing a command at the application is destructive. Cannot undo a command.

slide-15
SLIDE 15

Revisiting RSMs

Application Application Application Application Raft Raft Raft Raft

Client Client Client Client Requirement: All application replicas end up in the same state.

slide-16
SLIDE 16

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client

set(x, 5)

1

M0 M1 M2 M3

slide-17
SLIDE 17

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client

set(x, 5)

1 2 2 2 AppendEntries

M0 M1 M2 M3

slide-18
SLIDE 18

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client

set(x, 5)

1 2 2 2 AppendEntries

set(x, 5)

3

M0 M1 M2 M3

slide-19
SLIDE 19

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client

set(x, 5)

1 2 2 2 AppendEntries

set(x, 5)

3 4

M0 M1 M2 M3

slide-20
SLIDE 20

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client

set(x, 5)

1 2 2 2 AppendEntries

set(x, 5)

3 4

success

5

M0 M1 M2 M3

slide-21
SLIDE 21

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client

set(x, 5)

1 2 2 2 AppendEntries

set(x, 5)

3

success

5 4

M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

slide-22
SLIDE 22

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

For which replicas is x=5?

slide-23
SLIDE 23

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

When?

slide-24
SLIDE 24

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

slide-25
SLIDE 25

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

slide-26
SLIDE 26

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

set(x, 5)

6

slide-27
SLIDE 27

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

set(x, 5)

6

Is this safe?

slide-28
SLIDE 28

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

set(x, 5)

6

Is this safe?

slide-29
SLIDE 29

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a leaderCommit =-1

slide-30
SLIDE 30

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a

AppendEntries

b

get(x), 1, 2

leaderCommit =-1

slide-31
SLIDE 31

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

b leaderCommit =-1

slide-32
SLIDE 32

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

b

get(x)

c leaderCommit =-1

slide-33
SLIDE 33

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

b

get(x)

c

Is this correct?

leaderCommit =-1

slide-34
SLIDE 34

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

b

get(x)

c

Is this correct?

leaderCommit =-1

slide-35
SLIDE 35

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

b

set(x,5)

c leaderCommit = 0

slide-36
SLIDE 36

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

b

set(x,5)

c

get(x)

d

KeyValue(x, 5)

e leaderCommit = 1

slide-37
SLIDE 37

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

get(x)

a

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

b

set(x,5)

c

get(x)

d

KeyValue(x, 5)

e

KeyValue(x, 5)

f leaderCommit = 1

slide-38
SLIDE 38

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

cas(x, 5, 4)

g

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

cas(x, 5, 4)

i leaderCommit = 2

slide-39
SLIDE 39

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

cas(x, 5, 4)

g

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

cas(x, 5, 4)

i

cas(x,5,4), 2, 2

leaderCommit = 2

slide-40
SLIDE 40

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

cas(x, 5, 4)

g

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

h

cas(x, 5, 4)

i

cas(x,5,4), 2, 2

leaderCommit = 2

slide-41
SLIDE 41

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

cas(x, 5, 4)

g

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

h

cas(x, 5, 4)

i

cas(x,5,4), 2, 2 cas(x,5,4), 2, 2 cas(x,5,4), 2, 2 cas(x,5,4), 2, 2

leaderCommit = 2

slide-42
SLIDE 42

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

cas(x, 5, 4)

g

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

h

cas(x, 5, 4)

i

cas(x,5,4), 2, 2 cas(x,5,4), 2, 2 cas(x,5,4), 2, 2 cas(x,5,4), 2, 2

Is this correct?

leaderCommit = 2

slide-43
SLIDE 43

Revisiting RSMs

KVStore KVStore KVStore KVStore Raft Raft Raft Raft

Client Client Client Client M0 M1 M2 M3

M0 M1 M2 M3

set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1 set(x, 5), 0, 1

Term = 2

cas(x, 5, 4)

g

get(x), 1, 2 get(x), 1, 2 get(x), 1, 2 get(x), 1, 2

AppendEntries

h

cas(x, 5, 4)

i

cas(x,5,4), 2, 2 cas(x,5,4), 2, 2 cas(x,5,4), 2, 2 cas(x,5,4), 2, 2

KeyValue(x, 4)

j

k leaderCommit = 2

slide-44
SLIDE 44

Configuration Change

slide-45
SLIDE 45

Why?

  • Want to be able to change the set of servers.
slide-46
SLIDE 46

Why?

  • Want to be able to change the set of servers.
  • Take down servers for maintenance.
slide-47
SLIDE 47

Why?

  • Want to be able to change the set of servers.
  • Take down servers for maintenance.
  • Add new servers to replace failed ones.
slide-48
SLIDE 48

Why?

  • Want to be able to change the set of servers.
  • Take down servers for maintenance.
  • Add new servers to replace failed ones.
  • Other reasons.
slide-49
SLIDE 49

How?

  • Use a special log message which contains the set of servers.

Term Config Index

slide-50
SLIDE 50

How?

  • Use a special log message which contains the set of servers.
  • Use Raft to replicate this to everyone.

Term Config Index

slide-51
SLIDE 51

How Special?

  • All peers use configuration as soon as logged.
  • Why safe?
  • We know how to revert this change.

Term Config Index

slide-52
SLIDE 52

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

slide-53
SLIDE 53

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

slide-54
SLIDE 54

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

C

5

slide-55
SLIDE 55

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

C

5

...

3

...

4

C

5

...

2

...

3

...

4

C

5

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

C

5

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

C

5

slide-56
SLIDE 56

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

2

...

3

...

4

C

5

slide-57
SLIDE 57

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

2

...

3

...

4

C

5

slide-58
SLIDE 58

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

2

...

3

...

4

C

5 1

...

3

slide-59
SLIDE 59

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

2

...

3

...

4

C

5 1

...

3

...

2 1

...

3

slide-60
SLIDE 60

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

2 1

...

3

...

2 1

...

3

slide-61
SLIDE 61

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

2 1

...

3

...

2 1

...

3

...

2 1

...

3

slide-62
SLIDE 62

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

2 1

...

3

...

2 1

...

3

...

2 1

...

3

What happens now?

slide-63
SLIDE 63

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

slide-64
SLIDE 64

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

slide-65
SLIDE 65

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

C-all

5

slide-66
SLIDE 66

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

C-all

5

...

3

...

4

...

2

...

3

...

4

C-all

5

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

C-all

5

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

C-all

5

slide-67
SLIDE 67

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

...

2

C-all

5

...

3

...

4

...

2

...

3

...

4

C-all

5

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

C-all

5

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

C-all

5

C-new

5

slide-68
SLIDE 68

Protocol

set(x, 5) set(x, 5) set(x, 6)

1

set(x, 6)

1

...

2

...

3

...

4

C-all

5

...

2

...

3

...

4

C-all

5

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

C-all

5

set(x, 5) set(x, 6)

1

...

2

...

3

...

4

C-all

5

C-new

5

C-new

5

C-new

5

C-new

5

slide-69
SLIDE 69

Failure Detectors

slide-70
SLIDE 70

What Problem?

  • We have been depending on random timeouts, etc. to build consensus.
slide-71
SLIDE 71

What Problem?

  • We have been depending on random timeouts, etc. to build consensus.
  • Based on partial synchrony: the network is not always behaving at its worse.
slide-72
SLIDE 72

What Problem?

  • We have been depending on random timeouts, etc. to build consensus.
  • Based on partial synchrony: the network is not always behaving at its worse.
  • Tedious to model (for proofs) and tune (for deployment).
slide-73
SLIDE 73

What Problem?

  • We have been depending on random timeouts, etc. to build consensus.
  • Based on partial synchrony: the network is not always behaving at its worse.
  • Tedious to model (for proofs) and tune (for deployment).
  • Abstract them away with failure detectors.
slide-74
SLIDE 74

Failure Detector

Application Failure Detector

slide-75
SLIDE 75

Failure Detector

Application Failure Detector

suspect p0 is failed.

slide-76
SLIDE 76

Failure Detector

Application Failure Detector

suspect p0 is failed. suspect p0, p1 are failed.

slide-77
SLIDE 77

Failure Detector

Application Failure Detector

suspect p0 is failed. suspect p0, p1 are failed. suspect p1, p2 are failed.

slide-78
SLIDE 78

Failure Detector

Application Failure Detector

suspect p0 is failed. suspect p0, p1 are failed. suspect p1, p2 are failed. suspect p1 is failed.

slide-79
SLIDE 79

Reasoning about Detectors

Completeness Accuracy

slide-80
SLIDE 80

Reasoning about Detectors

Completeness Accuracy Failed nodes:

  • When are they detected?
  • Who detects them?
slide-81
SLIDE 81

Reasoning about Detectors

Completeness Accuracy Failed nodes:

  • When are they detected?
  • Who detects them?

Live nodes:

  • When can they be suspected?
slide-82
SLIDE 82

Reasoning about Detectors

Completeness Accuracy Strong Weak

slide-83
SLIDE 83

Reasoning about Detectors

Completeness Accuracy Strong Weak Every failed node is eventually detected by all correct nodes.

slide-84
SLIDE 84

Reasoning about Detectors

Completeness Accuracy Strong Weak Every failed node is eventually detected by all correct nodes. Every failed node is eventually detected by some correct nodes.

slide-85
SLIDE 85

Reasoning about Detectors

Completeness Accuracy Strong Weak Every failed node is eventually detected by all correct nodes. Every failed node is eventually detected by some correct nodes. No correct node is ever suspected.

slide-86
SLIDE 86

Reasoning about Detectors

Completeness Accuracy Strong Weak Every failed node is eventually detected by all correct nodes. Every failed node is eventually detected by some correct nodes. No correct node is ever suspected. Some correct node is never suspected by any node.

slide-87
SLIDE 87

Reasoning about Detectors

Accuracy Eventual Not Eventual

Strong Weak

slide-88
SLIDE 88

Reasoning about Detectors

Accuracy Eventual Not Eventual

Strong Weak Eventually No correct node is ever suspected.

slide-89
SLIDE 89

Reasoning about Detectors

Accuracy Eventual Not Eventual

Strong Weak Eventually No correct node is ever suspected. No correct node is ever suspected.

slide-90
SLIDE 90

Reasoning about Detectors

Accuracy Eventual Not Eventual

Strong Weak Eventually No correct node is ever suspected. No correct node is ever suspected. Eventually some correct node is never suspected by any node.

slide-91
SLIDE 91

Reasoning about Detectors

Accuracy Eventual Not Eventual

Strong Weak Eventually No correct node is ever suspected. No correct node is ever suspected. Eventually some correct node is never suspected by any node. Some correct node is never suspected by any node.

slide-92
SLIDE 92

Types of Detectors

  • Strong completeness, strong accuracy: Perfect detector (P)
slide-93
SLIDE 93

Types of Detectors

  • Strong completeness, strong accuracy: Perfect detector (P)
  • Strong completeness, weak accuracy: Strong detector (S)
slide-94
SLIDE 94

Types of Detectors

  • Strong completeness, strong accuracy: Perfect detector (P)
  • Strong completeness, weak accuracy: Strong detector (S)
  • Strong completeness, eventual strong accuracy: ♢P
slide-95
SLIDE 95

Types of Detectors

  • Strong completeness, strong accuracy: Perfect detector (P)
  • Strong completeness, weak accuracy: Strong detector (S)
  • Strong completeness, eventual strong accuracy: ♢P
  • Strong completeness, eventual weak accuracy: ♢S or Ω
slide-96
SLIDE 96

Types of Detectors

slide-97
SLIDE 97

Types of Detectors

  • Weak completeness, strong accuracy: Q
slide-98
SLIDE 98

Types of Detectors

  • Weak completeness, strong accuracy: Q
  • Weak completeness, weak accuracy: Weak Detector (W)
slide-99
SLIDE 99

Types of Detectors

  • Weak completeness, strong accuracy: Q
  • Weak completeness, weak accuracy: Weak Detector (W)
  • Weak completeness, eventual strong accuracy: ♢Q
slide-100
SLIDE 100

Types of Detectors

  • Weak completeness, strong accuracy: Q
  • Weak completeness, weak accuracy: Weak Detector (W)
  • Weak completeness, eventual strong accuracy: ♢Q
  • Weak completeness, eventual weak accuracy: ♢W
slide-101
SLIDE 101

How to use Failure Detectors?

slide-102
SLIDE 102

How to build failure detectors?