11/27/17 1
Today’s Objec2ves
- Wrap up Timing
- Coordina2on
- Consensus
Nov 15, 2017 1 Sprenkle - CSCI325
Review
- What is NTP?
Ø What is the mo2va2on? Ø Describe its design Ø What are the benefits?
Nov 15, 2017 Sprenkle - CSCI325 2
Todays Objec2ves Wrap up Timing Coordina2on Consensus Nov 15, - - PDF document
11/27/17 Todays Objec2ves Wrap up Timing Coordina2on Consensus Nov 15, 2017 Sprenkle - CSCI325 1 Review What is NTP? What is the mo2va2on? Describe its design What are the benefits? Nov 15, 2017 Sprenkle - CSCI325
Nov 15, 2017 1 Sprenkle - CSCI325
Nov 15, 2017 Sprenkle - CSCI325 2
Nov 15, 2017 Sprenkle - CSCI325 3
Most accurate
https://en.wikipedia.org/wiki/ Network_Time_Protocol#/media/ File:Network_Time_Protocol_servers_and_clients.svg
Nov 15, 2017 Sprenkle - CSCI325 4
Nov 15, 2017 Sprenkle - CSCI325 5
Nov 15, 2017 Sprenkle - CSCI325 6
p1 p2 p3 a b c d e f m1 m2 Physical time
Nov 15, 2017 Sprenkle - CSCI325 7
p1 p2 p3 a b c d e f m1 m2 Physical time
Nov 15, 2017 Sprenkle - CSCI325 8
a) when process pi sends message m, it piggybacks on m the value t = Li b) when pj receives (m,t) it sets Lj := max(Lj, t) and applies LC1 before 2mestamping the event receive (m)
Nov 15, 2017 Sprenkle - CSCI325 9
p1 p2 p3 a b c d e f m1 m2 Physical time
Nov 15, 2017 Sprenkle - CSCI325 10
a b c d e f m1 m2 2 1 3 4 5 1 p1 p2 p3 Physical time
Nov 15, 2017 Sprenkle - CSCI325 11
Nov 15, 2017 Sprenkle - CSCI325 12
p1 p2 p3 a b c d e f m1 m2 Physical time
a b c d e f m1 m2 (2,0,0) (1,0,0) (2,1,0) (2,2,0) (2,2,2) (0,0,1) p1 p2 p3 Physical time
Ø Compare elements pairwise
Ø c || e because neither V(c) <= V(e) nor V(e) <= V(c)
Nov 15, 2017 Sprenkle - CSCI325 13
Nov 15, 2017 Sprenkle - CSCI325 14
Nov 15, 2017 Sprenkle - CSCI325 15
Nov 15, 2017 Sprenkle - CSCI325 16
Nov 15, 2017 Sprenkle - CSCI325 17
Nov 15, 2017 Sprenkle - CSCI325 18 Server
token Queue of requests
token
token 4 2
p 4 p3 p 2 p1
Nov 15, 2017 Sprenkle - CSCI325 19 Server
token Queue of requests
token
token 4 2
p 4 p3 p 2 p1
Nov 15, 2017 Sprenkle - CSCI325 20 pn p
2
p
3
p
4
Token p
1
Nov 15, 2017 Sprenkle - CSCI325 21 pn p
2
p
3
p
4
Token p
1
Nov 15, 2017 Sprenkle - CSCI325 22
p 3 34 Reply 34 41 41 34 p 1 p 2 Reply
41
Reply
Nov 15, 2017 Sprenkle - CSCI325 23
p 3 34 Reply 34 41 41 34 p 1 p 2 Reply
41
Reply
Nov 15, 2017 Sprenkle - CSCI325 24
Nov 15, 2017 Sprenkle - CSCI325 25
Nov 15, 2017 Sprenkle - CSCI325 26
Nov 15, 2017 Sprenkle - CSCI325 27
Nov 15, 2017 Sprenkle - CSCI325 28
1 P2 P3 (crashes) P1 Consensus algorithm v1=proceed v3=abort v2=proceed d1:=proceed d2:=proceed
Nov 15, 2017 Sprenkle - CSCI325 29
Nov 15, 2017 Sprenkle - CSCI325 30
Nov 15, 2017 Sprenkle - CSCI325 31
1
(Commander)
2
3
1:v 1:v 2:1:v 3:1:u
1
(Commander)
2
3
1:x 1:w 2:1:w 3:1:x Faulty processes are shaded
Nov 15, 2017 Sprenkle - CSCI325 32
Nov 15, 2017 Sprenkle - CSCI325 33
p
(Commander)
p
p
1:v 1:v 2:1:v 3:1:u
p
1:v 4:1:v 2:1:v 3:1:w 4:1:v
p
(Commander)
p
p
1:w 1:u 2:1:u 3:1:w
p
1:v 4:1:v 2:1:u 3:1:w 4:1:v
Nov 15, 2017 Sprenkle - CSCI325 34
p
(Commander)
p
p
1:w 1:u 2:1:u 3:1:w
p
1:u 4:1:u 2:1:u 3:1:w 4:1:u
u, u, v u, u, w u, u, w
Nov 15, 2017 Sprenkle - CSCI325 35
Nov 15, 2017 Sprenkle - CSCI325 36
Nov 15, 2017 Sprenkle - CSCI325 37
Round 1: Send value to all other processes 1 Got (1, 2, 3, 4) 2 Got (u, 2, 3, 4) 3 Got (w, 2, 3, 4) 4 Got (x, 2, 3, 4) Round 2: Exchange vectors 2 Got 3 Got 4 Got (a, b, c, d) (e, f, g, h) (i, j, k, l) (w, 2, 3, 4) (u, 2, 3, 4) (u, 2, 3, 4) (x, 2, 3, 4) (x, 2, 3, 4) (w, 2, 3, 4) p
p
p
w u 2 3
p
x 4 2 3 4 2 3 4
Nov 15, 2017 Sprenkle - CSCI325 38