M E M B E R S H I P, D I S S E M I N AT I O N & P O P U L AT I O N
P R OTO CO LS
G E T T I N G T H E W O R D O U T:
SEAN CRIBBS
SENIOR PRINCIPAL ENGINEER
All photos are my own unless attributed.
Slide 2
Slide 2 text
W H Y B U I L D P E E R -TO - P E E R SYST E M S ?
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Work distribution
Slide 5
Slide 5 text
Work distribution
parallelism
Slide 6
Slide 6 text
Work distribution
parallelism
concurrency
Slide 7
Slide 7 text
Work distribution
parallelism
concurrency
independence
Slide 8
Slide 8 text
Work distribution
parallelism
concurrency
independence
Fault Tolerance
Slide 9
Slide 9 text
Work distribution
parallelism
concurrency
independence
Fault Tolerance
detection
Slide 10
Slide 10 text
Work distribution
parallelism
concurrency
independence
Fault Tolerance
detection
recovery
Slide 11
Slide 11 text
Work distribution
parallelism
concurrency
independence
Fault Tolerance
detection
recovery
redundancy
Slide 12
Slide 12 text
Work distribution
parallelism
concurrency
independence
Fault Tolerance
detection
recovery
redundancy
Locality
Slide 13
Slide 13 text
Work distribution
parallelism
concurrency
independence
Fault Tolerance
detection
recovery
redundancy
Locality
regional presence
Slide 14
Slide 14 text
Work distribution
parallelism
concurrency
independence
Fault Tolerance
detection
recovery
redundancy
Locality
regional presence
code-to-data
Slide 15
Slide 15 text
W H Y N OT P E E R -TO - P E E R SYST E M S ?
Slide 16
Slide 16 text
W H Y N OT P E E R -TO - P E E R SYST E M S ?
N o w y o u ’v e g o t N
p ro b l e m s
Slide 17
Slide 17 text
W H Y N OT P E E R -TO - P E E R SYST E M S ?
N o w y o u ’v e g o t N
p ro b l e m s
N = 8 p ro b a b l y
Slide 18
Slide 18 text
W H AT A R E W E B U I L D I N G ?
Slide 19
Slide 19 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
Emoji provided free by Emoji One
Slide 20
Slide 20 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
Emoji provided free by Emoji One
Slide 21
Slide 21 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
Emoji provided free by Emoji One
Slide 22
Slide 22 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 23
Slide 23 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 24
Slide 24 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 25
Slide 25 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 26
Slide 26 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 27
Slide 27 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 28
Slide 28 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G ”
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 29
Slide 29 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G ”
“ P L AT F O R M ”
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 30
Slide 30 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G ”
“ P L AT F O R M ”
➡ Work distribution
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 31
Slide 31 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G ”
“ P L AT F O R M ”
➡ Work distribution
➡ Fault-tolerance
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 32
Slide 32 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G ”
“ P L AT F O R M ”
➡ Work distribution
➡ Fault-tolerance
➡ Locality
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 33
Slide 33 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
SYST E M H E A LT H
SYST E M H E A LT H
A P P L I CAT I O N
M E T R I C S
A P P L I CAT I O N
M E T R I C S
AG E N T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G ”
“ P L AT F O R M ”
➡ Work distribution
➡ Fault-tolerance
➡ Locality
E XT E R N A L
S E R V I C E S
E XT E R N A L
S E R V I C E S
✓ Peer to Peer!
Emoji provided free by Emoji One
Slide 34
Slide 34 text
E XT E R N A L
S E R V I C E S
AG E N T
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G”
“ P L AT F O R M ”
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Slide 35
Slide 35 text
E XT E R N A L
S E R V I C E S
AG E N T
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G”
“ P L AT F O R M ”
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
How do cluster nodes
find each other?
Slide 36
Slide 36 text
E XT E R N A L
S E R V I C E S
AG E N T
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G”
“ P L AT F O R M ”
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
How do cluster nodes
find each other?
Distribute code and
configuration?
Slide 37
Slide 37 text
E XT E R N A L
S E R V I C E S
AG E N T
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G”
“ P L AT F O R M ”
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
How do cluster nodes
find each other?
Distribute code and
configuration?
Know what happened
when?
Slide 38
Slide 38 text
E XT E R N A L
S E R V I C E S
AG E N T
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G”
“ P L AT F O R M ”
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Where do agents
send data?
How do cluster nodes
find each other?
Distribute code and
configuration?
Know what happened
when?
Slide 39
Slide 39 text
E XT E R N A L
S E R V I C E S
AG E N T
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
AG E N T
“ M U LT I -T E N A N T ”
“ M U LT I - R E G I O N ”
“ H I G H LY- AVA I L A B L E ”
“ R E A L-T I M E ”
“ ST R E A M I N G”
“ P L AT F O R M ”
E XT E R N A L
S E R V I C E S
Emoji provided free by Emoji One
Where do agents
send data?
How to get fault-tolerance
without spam?
How do cluster nodes
find each other?
Distribute code and
configuration?
Know what happened
when?
Slide 40
Slide 40 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
Slide 41
Slide 41 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
➡ Cluster membership and discovery
Slide 42
Slide 42 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
➡ Cluster membership and discovery
➡ Code and configuration dissemination
Slide 43
Slide 43 text
A R G U S O P E RAT I O N A L V I S I B I L I T Y P R OJ EC T
➡ Cluster membership and discovery
➡ Code and configuration dissemination
➡ Relative and convergent time
Slide 44
Slide 44 text
M E M B E R S H I P P R OTO C O L S
Slide 45
Slide 45 text
W H Y N OT Z O O K E E P E R / C O N S U L / E TC D ?
J U ST R U B S O M E C O N S E N S U S O N I T
Slide 46
Slide 46 text
M E M B E R S H I P : D E S I RA B L E P R O P E RT I E S
Slide 47
Slide 47 text
M E M B E R S H I P : D E S I RA B L E P R O P E RT I E S
➡ Connectedness
Slide 48
Slide 48 text
M E M B E R S H I P : D E S I RA B L E P R O P E RT I E S
➡ Connectedness
➡ Balance
Slide 49
Slide 49 text
M E M B E R S H I P : D E S I RA B L E P R O P E RT I E S
➡ Connectedness
➡ Balance
➡ Short path-length
Slide 50
Slide 50 text
M E M B E R S H I P : D E S I RA B L E P R O P E RT I E S
➡ Connectedness
➡ Balance
➡ Short path-length
➡ Low clustering
Slide 51
Slide 51 text
M E M B E R S H I P : D E S I RA B L E P R O P E RT I E S
➡ Connectedness
➡ Balance
➡ Short path-length
➡ Low clustering
➡ Scalability
Slide 52
Slide 52 text
M E M B E R S H I P : D E S I RA B L E P R O P E RT I E S
➡ Connectedness
➡ Balance
➡ Short path-length
➡ Low clustering
➡ Scalability
➡ Accuracy
Slide 53
Slide 53 text
M E M B E R S H I P : “ V I E W ” F L AV O R S
Full Partial
Slide 54
Slide 54 text
Full
Slide 55
Slide 55 text
Full
✓ Connectedness
Slide 56
Slide 56 text
Full
✓ Connectedness
✓ Short path-length
Slide 57
Slide 57 text
Full
✓ Connectedness
✓ Short path-length
- Accuracy
Slide 58
Slide 58 text
Full
✓ Connectedness
✓ Short path-length
- Accuracy
- Balance
Slide 59
Slide 59 text
Full
✓ Connectedness
✓ Short path-length
- Accuracy
- Balance
๏ High Clustering
Slide 60
Slide 60 text
Full
✓ Connectedness
✓ Short path-length
- Accuracy
- Balance
๏ High Clustering
๏ Low Scalability
Slide 61
Slide 61 text
Partial
Slide 62
Slide 62 text
Partial
✓ Low Clustering
Slide 63
Slide 63 text
Partial
✓ Low Clustering
✓ High scalability
Slide 64
Slide 64 text
Partial
✓ Low Clustering
✓ High scalability
- Connectedness
S W I M - 2 0 0 2
Emoji provided free by Emoji One
Slide 70
Slide 70 text
S W I M - 2 0 0 2
Emoji provided free by Emoji One
Heartbeat protocols
Slide 71
Slide 71 text
S W I M - 2 0 0 2
๏ Quadratic load
Emoji provided free by Emoji One
Heartbeat protocols
Slide 72
Slide 72 text
S W I M - 2 0 0 2
๏ Quadratic load
๏ Failure detection
Emoji provided free by Emoji One
Heartbeat protocols
Slide 73
Slide 73 text
S W I M - 2 0 0 2
๏ Quadratic load
๏ Failure detection
๏ Response times
Emoji provided free by Emoji One
Heartbeat protocols
Slide 74
Slide 74 text
S W I M - 2 0 0 2
๏ Quadratic load
๏ Failure detection
๏ Response times
๏ False positives
Emoji provided free by Emoji One
Heartbeat protocols
Slide 75
Slide 75 text
S W I M - 2 0 0 2
๏ Quadratic load
๏ Failure detection
๏ Response times
๏ False positives
Emoji provided free by Emoji One
Heartbeat protocols SWIM solutions
Slide 76
Slide 76 text
S W I M - 2 0 0 2
๏ Quadratic load
๏ Failure detection
๏ Response times
๏ False positives
➡ Separate membership
and failure detection
Emoji provided free by Emoji One
Heartbeat protocols SWIM solutions
Slide 77
Slide 77 text
S W I M - 2 0 0 2
๏ Quadratic load
๏ Failure detection
๏ Response times
๏ False positives
➡ Separate membership
and failure detection
➡ Randomized probing
Emoji provided free by Emoji One
Heartbeat protocols SWIM solutions
Slide 78
Slide 78 text
S W I M - 2 0 0 2
๏ Quadratic load
๏ Failure detection
๏ Response times
๏ False positives
➡ Separate membership
and failure detection
➡ Randomized probing
➡ Piggyback membership
on probes
Emoji provided free by Emoji One
Heartbeat protocols SWIM solutions
Slide 79
Slide 79 text
S W I M - 2 0 0 2
Slide 80
Slide 80 text
S CA M P - 2 0 0 3
Slide 81
Slide 81 text
S CA M P - 2 0 0 3
Slide 82
Slide 82 text
S CA M P - 2 0 0 3
๏ Full views limit scalability
Slide 83
Slide 83 text
S CA M P - 2 0 0 3
๏ Full views limit scalability
➡ Flexible partial-view size, asymmetric
Slide 84
Slide 84 text
S CA M P - 2 0 0 3
๏ Full views limit scalability
➡ Flexible partial-view size, asymmetric
➡ Reactive view management
Slide 85
Slide 85 text
S CA M P - 2 0 0 3
๏ Full views limit scalability
➡ Flexible partial-view size, asymmetric
➡ Reactive view management
➡ Join (“subscribe”) via random walk
Slide 86
Slide 86 text
S CA M P - 2 0 0 3
๏ Full views limit scalability
➡ Flexible partial-view size, asymmetric
➡ Reactive view management
➡ Join (“subscribe”) via random walk
➡ Automatic balancing via indirection and leases
Slide 87
Slide 87 text
S CA M P - 2 0 0 3
Slide 88
Slide 88 text
S CA M P - 2 0 0 3
Slide 89
Slide 89 text
CYC LO N - 2 0 0 5
Slide 90
Slide 90 text
CYC LO N - 2 0 0 5
Slide 91
Slide 91 text
CYC LO N - 2 0 0 5
๏ Random shuffling doesn’t create good balance
Slide 92
Slide 92 text
CYC LO N - 2 0 0 5
๏ Random shuffling doesn’t create good balance
➡ Fixed partial-view size, symmetric
Slide 93
Slide 93 text
CYC LO N - 2 0 0 5
๏ Random shuffling doesn’t create good balance
➡ Fixed partial-view size, symmetric
➡ Cyclic view management
Slide 94
Slide 94 text
CYC LO N - 2 0 0 5
๏ Random shuffling doesn’t create good balance
➡ Fixed partial-view size, symmetric
➡ Cyclic view management
➡ Join via random walk
Slide 95
Slide 95 text
CYC LO N - 2 0 0 5
Slide 96
Slide 96 text
CYC LO N - 2 0 0 5
Slide 97
Slide 97 text
P R O B L E M S W I T H S CA M P & CYC LO N
• No failure detectors
• SCAMP: asymmetric views ⟹ disconnection
• SCAMP: unbounded view size ⟹ imbalance
Slide 98
Slide 98 text
H Y PA R V I E W - 2 0 0 7
Slide 99
Slide 99 text
H Y PA R V I E W - 2 0 0 7
Slide 100
Slide 100 text
H Y PA R V I E W - 2 0 0 7
๏ Fanout is related to reliability
Slide 101
Slide 101 text
H Y PA R V I E W - 2 0 0 7
๏ Fanout is related to reliability
๏ High failure rates decrease quality
Slide 102
Slide 102 text
H Y PA R V I E W - 2 0 0 7
๏ Fanout is related to reliability
๏ High failure rates decrease quality
Slide 103
Slide 103 text
H Y PA R V I E W - 2 0 0 7
๏ Fanout is related to reliability
๏ High failure rates decrease quality
➡ TCP for transport and failure
detector
Slide 104
Slide 104 text
H Y PA R V I E W - 2 0 0 7
๏ Fanout is related to reliability
๏ High failure rates decrease quality
➡ TCP for transport and failure
detector
➡ Small reactive view (“active”)
Slide 105
Slide 105 text
H Y PA R V I E W - 2 0 0 7
๏ Fanout is related to reliability
๏ High failure rates decrease quality
➡ TCP for transport and failure
detector
➡ Small reactive view (“active”)
➡ Larger cyclic view (“passive”)
Slide 106
Slide 106 text
H Y PA R V I E W - 2 0 0 7
๏ Fanout is related to reliability
๏ High failure rates decrease quality
➡ TCP for transport and failure
detector
➡ Small reactive view (“active”)
➡ Larger cyclic view (“passive”)
➡ Join and shuffle via random walk
Slide 107
Slide 107 text
H Y PA R V I E W - 2 0 0 7
Slide 108
Slide 108 text
H Y PA R V I E W - 2 0 0 7
A
B
C
D
Passive view
maintenance
Slide 109
Slide 109 text
H Y PA R V I E W - 2 0 0 7
Slide 110
Slide 110 text
W E C H O S E H Y PA R V I E W
• Only active view maintenance
• Passive view maintains full membership (unbounded)
• Later: switch to complete passive maintenance
Slide 111
Slide 111 text
D I S S E M I N AT I O N P R OTO C O L S
Slide 112
Slide 112 text
D I S S E M I N AT I O N : D E S I RA B L E P R O P E RT I E S
Slide 113
Slide 113 text
D I S S E M I N AT I O N : D E S I RA B L E P R O P E RT I E S
➡ Reliability
Slide 114
Slide 114 text
D I S S E M I N AT I O N : D E S I RA B L E P R O P E RT I E S
➡ Reliability
➡ Scalability
Slide 115
Slide 115 text
D I S S E M I N AT I O N : D E S I RA B L E P R O P E RT I E S
➡ Reliability
➡ Scalability
➡ Efficiency
Slide 116
Slide 116 text
E P I D E M I C
B R OA D CAST ( G O S S I P )
!
Slide 117
Slide 117 text
E P I D E M I C
B R OA D CAST ( G O S S I P )
➡ Send to random peers
!
Slide 118
Slide 118 text
E P I D E M I C
B R OA D CAST ( G O S S I P )
➡ Send to random peers
➡ Messages rebroadcast by
recipients
!
Slide 119
Slide 119 text
E P I D E M I C
B R OA D CAST ( G O S S I P )
➡ Send to random peers
➡ Messages rebroadcast by
recipients
!
Slide 120
Slide 120 text
E P I D E M I C
B R OA D CAST ( G O S S I P )
➡ Send to random peers
➡ Messages rebroadcast by
recipients
๏ High redundancy
!
Slide 121
Slide 121 text
E P I D E M I C
B R OA D CAST ( G O S S I P )
➡ Send to random peers
➡ Messages rebroadcast by
recipients
๏ High redundancy
๏ Low scalability
!
Slide 122
Slide 122 text
I N C R E AS E D E F F I C I E N CY
W I T H O U T R E D U C I N G D E L I V E RY G UA R A N T E E S , W E N E E D
Slide 123
Slide 123 text
No content
Slide 124
Slide 124 text
P L U M T R E E - 2 0 0 9
!
!
Slide 125
Slide 125 text
P L U M T R E E - 2 0 0 9 CO N ST R U C T I O N
!
A B
Slide 126
Slide 126 text
P L U M T R E E - 2 0 0 9 CO N ST R U C T I O N
• All nodes start with full “eager” set
!
A B
Slide 127
Slide 127 text
P L U M T R E E - 2 0 0 9 CO N ST R U C T I O N
• All nodes start with full “eager” set
• Broadcast triggers eager-push
!
A B
Slide 128
Slide 128 text
P L U M T R E E - 2 0 0 9 CO N ST R U C T I O N
• All nodes start with full “eager” set
• Broadcast triggers eager-push
• Duplicate messages cause
“pruning” (move to “lazy”)
!
A B
Slide 129
Slide 129 text
P L U M T R E E - 2 0 0 9 CO N ST R U C T I O N
• All nodes start with full “eager” set
• Broadcast triggers eager-push
• Duplicate messages cause
“pruning” (move to “lazy”)
!
A B
Slide 130
Slide 130 text
P L U M T R E E - 2 0 0 9 CO N ST R U C T I O N
• All nodes start with full “eager” set
• Broadcast triggers eager-push
• Duplicate messages cause
“pruning” (move to “lazy”)
• Regular broadcasts proceed with new
“eager” sets
!
A B
Slide 131
Slide 131 text
P L U M T R E E - 2 0 0 9 R E PA I R
!
A B
Slide 132
Slide 132 text
P L U M T R E E - 2 0 0 9 R E PA I R
• Lazy-push sends “I Have” messages
!
A B
Slide 133
Slide 133 text
P L U M T R E E - 2 0 0 9 R E PA I R
• Lazy-push sends “I Have” messages
• Timeout triggers “grafting” (move to
“eager”)
!
A B
Slide 134
Slide 134 text
P L U M T R E E - 2 0 0 9 R E PA I R
• Lazy-push sends “I Have” messages
• Timeout triggers “grafting” (move to
“eager”)
!
A B
Slide 135
Slide 135 text
P L U M T R E E - 2 0 0 9 R E PA I R
• Lazy-push sends “I Have” messages
• Timeout triggers “grafting” (move to
“eager”)
• Lazy-push batched to reduce overhead
!
A B
Slide 136
Slide 136 text
W E C H O S E P L U M T R E E
Slide 137
Slide 137 text
W E C H O S E P L U M T R E E
• Good tradeoff between reliability and redundancy
Slide 138
Slide 138 text
W E C H O S E P L U M T R E E
• Good tradeoff between reliability and redundancy
• Optimizes for lowest-latency paths
Slide 139
Slide 139 text
W E C H O S E P L U M T R E E
• Good tradeoff between reliability and redundancy
• Optimizes for lowest-latency paths
• Existing open-source implementations
Slide 140
Slide 140 text
W E C H O S E P L U M T R E E
• Good tradeoff between reliability and redundancy
• Optimizes for lowest-latency paths
• Existing open-source implementations
• Excellent fit with HyParView
Slide 141
Slide 141 text
P O P U L AT I O N P R OTO C O L S
Slide 142
Slide 142 text
R A N D O M I Z E D I N T E R AC T I O N S
P O P U L AT I O N P R OTO C O L S U S E
Slide 143
Slide 143 text
No content
Slide 144
Slide 144 text
D I ST R I B U T E D M O N OTO N I C C LO C K S
J O N M O O R E
Vidcap from StrangeLoop 2015: https://youtu.be/YqNGbvFHoKM
Slide 145
Slide 145 text
D M C P R O B L E M S
๏ “Wacky clock mode”
๏ Hierarchy imbalances load
๏ Long-lived partitions
๏ No convergence proof
Slide 146
Slide 146 text
No content
Slide 147
Slide 147 text
A P P LY I N G D M C
• Use existing dissemination with DMC
• Transmit clocks along with other messages
• Use monotonic clocks as a drift-detection mechanism
Slide 148
Slide 148 text
L E S S O N S L E A R N E D
Slide 149
Slide 149 text
Photo by Chris Meiklejohn
Vidcap from RICON West: https://youtu.be/s4cCUTPU8GI
Photo by Comcast