Figure 15.1 A distributed multimedia system

Download Report

Transcript Figure 15.1 A distributed multimedia system

Slides for Chapter 11:
Time and Global State
From Coulouris, Dollimore and Kindberg
Distributed Systems:
Concepts and Design
Edition 4, © Pearson Education 2005
Figure 11.1
Skew between computer clocks in a distributed system
Network
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.2
Clock synchronization using a time server
mr
mt
p
Time server,S
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.3
An example synchronization subnet in an NTP implementation
1
2
3
2
3
3
Note: Arrows denote synchronization control, numbers denote
strata.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.4
Messages exchanged between a pair of NTP peers
Server B
Ti-2
m
Ti-1
Time
m'
Time
Server A
Ti- 3
Ti
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.5
Events occurring at three processes
p1
a
b
m1
Physic al
ti me
p2
c
d
m2
p3
e
f
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.6
Lamport timestamps for the events shown in Figure 11.5
p1
1
2
a
b
m1
3
4
c
d
Physic al
ti me
p2
m2
1
5
e
f
p3
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.7
Vector timestamps for the events shown in Figure 11.5
(1,0,0) (2,0,0)
p1
a
b
m1
(2,1,0)
(2,2,0)
Physic al
ti me
p2
c
(0,0,1)
d
m2
(2,2,2)
p3
e
f
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.8
Detecting global properties
p2
p1
object
referenc e
mes sage
a. Garbage c oll ec tion
garbage object
p1
wait-for
b. Deadl oc k
p2
wait-for
p2
p1
acti vate
c . T ermi nation
pas sive
pas sive
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.9
Cuts
0
e1
1
2
e1
3
e1
e1
p1
m1
p2
m2
0
e2
1
e2
2
e2
Inconsistent cut
Consistent cut
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Physical
time
Figure 11.10
Chandy and Lamport’s ‘snapshot’ algorithm
Marker receiving rule for process pi
On pi’s receipt of a marker message over channel c:
if (pi has not yet recorded its state) it
records its process state now;
records the state of c as the empty set;
turns on recording of messages arriving over other incoming channels;
else
pi records the state of c as the set of messages it has received over c
since it saved its state.
end if
Marker sending rule for process pi
After pi has recorded its state, for each outgoing channel c:
pi sends one marker message over c
(before it sends any other message over c).
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.11
Two processes and their initial states
c2
p1
p2
c1
$1000
(none)
$50
2000
acc ount
widgets
acc ount
widgets
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.12
The execution of the processes in Figure 11.11
1. Global s tate S0
2. Global s tate S1
3. Global s tate S2
4. Global s tate S3
<$1000, 0>
<$900, 0>
<$900, 0>
<$900, 5>
p1
p1
p1
p1
c2
(empty)
c1
(empty)
c2
(Order 10, $100), M
c1
(empty)
c2
(Order 10, $100), M
c1
(five widgets)
c2
(Order 10, $100)
c1
(empty)
(M = marker mes sage)
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
p2
<$50, 2000>
p2
<$50, 2000>
p2
<$50, 1995>
p2
<$50, 1995>
Figure 11.13
Reachability between states in the snapshot algorithm
actual execution e0,e1,...
Sinit
recording
begins
pre-snap: e'0,e'1,...e'R-1
recording
ends
Ssnap
Sfinal
post-snap: e'R,e'R+1,...
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.14
Vector timestamps and variable values for the execution of Figure 11.9
(1,0) (2,0)
(3,0)
x1= 1 x1= 100 x1= 105
(4,3)
x1= 90
p1
m1
m2
Physical
time
p2
x2= 100 x2= 95
(2,1) (2,2)
Cut C1
x2= 90
(2,3)
Cut C 2
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.15
The lattice of global states for the execution of Figure 11.14
Level 0
S00
1
S10
2
3
4
5
S20
S30
S21
S31
S22
S32
6
7
Sij = global state after i events at process 1
and j events at process 2
S23
S33
S43
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.16
Algorithms to evaluate possibly f and definitely f
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Figure 11.17
Evaluating definitely f
Level 0
F
1
F
2
3
4
5
F = (f S Fals e);T = f
(  S  T rue)
F
F
T
–
F
?
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005