Optimal Termination Detection for Rings - PowerPoint PPT Presentation

About This Presentation
Title:

Optimal Termination Detection for Rings

Description:

Optimal Termination Detection for Rings Murat Demirbas OSU Termination Detection in D.S. Message passing, Asynchronous execution A process is either active or passive ... – PowerPoint PPT presentation

Number of Views:171
Avg rating:3.0/5.0
Slides: 28
Provided by: muratde
Category:

less

Transcript and Presenter's Notes

Title: Optimal Termination Detection for Rings


1
Optimal Termination Detection for Rings
  • Murat Demirbas
  • OSU

2
Termination Detection in D.S.
  • Message passing, Asynchronous execution
  • A process is either active or passive
  • Active processes
  • send and receive messages,
  • can become passive spontaneously
  • Passive processes
  • can only receive messages,
  • can become active only by receiving a message.

3
Termination detection problem
  • The system is terminated iff
  • all processes are passive
  • no messages in transit
  • The problem is to detect termination as and when
    the system terminated.

4
Related work
  • Chandy Lamport snapshot alg.
  • O(N2) time
  • Dijkstra Safra token-based alg.
  • O(N) time, 2N -- 3N
  • Chandy alg.
  • 2N integers per process, and message
  • 2N2 integers at the detector
  • Sivilotti improved the space complexity

5
Our algorithm
  • Based on DijkstraSafra alg.
  • Detection in 0 -- N time
  • each process maintains 1 int. N bits
  • token stores N int. N bits

6
Outline
  • Dijkstra Safra alg
  • Optimal alg
  • Enhancement 1
  • Enhancement 2
  • Proof

7
Dijkstra Safra algorithm
  • c.j mesgs sent - mesgs received
  • The initiator obtains a snapshot
  • sends a token to the ring
  • gathers the sums of c.js
  • If the snapshot is consistent and no mesg in
    transit, termination is detected.

8
Dijkstra Safra alg (cont.)
1
N
2
3
  • Snapshot is inconsistent if the receipt of m is
    recorded but send of m is not.
  • A process is blackened upon receiving a mesg
  • A black node blackens the token

9
c.1 color.1
1
q color
c.2 color.2
c.N color.N
2
N
3
c.3 color.3
10
An optimal algorithm for Termination Detection on
Rings
  • First enhancement (Enumeration bits)
  • Second enhancement (Multiple initiators)
  • Optimal algorithm 1st 2nd enh. combined

11
1st enhancement (enumeration bits)
  • Dijkstra Safra blackens every process that
    receives a message.
  • However, a message reception violates the
    snapshot iff the receive of the message is
    included in the snapshot whereas the send is not.

12
1
2
5
3
4
13
1st enhancement (enumeration bits)
  • The messages that violate the consistency are
    those sent by a process in the visited region to
    another process in the unvisited region.
  • A process sending a mesg piggybacks its
    enumeration bit its process id.
  • j upon receiving m blackens itself iff
  • enum.j ? enum.m
  • j gt sender_id.m

14
An enumeration bit is sufficient ...
1
1
mlt1gt
1
2
5
0
1
0
3
4
15
1st enhancement N -- 2N
1
1
2
5
0
mlt1gt
1
0
3
4
16
2nd Enhancement (Multiple initiators)
  • DS alg has a fixed initiator N
  • A vector q1,q2,,qN maintains the sum, q,
    w.r.t. multiple initiators.
  • N -- 2N time to detect termination

17
1
0,0,0,0,0
0,q2,q3,q4,q5
B,q2,q3,q4,0
q1,0,0,0,0
2
5
B,q2,q3,0,B
B,0,B,B,B
3
4
B,q2,0,B,B
18
The Optimal Algorithm
  • 2nd enh. blackens ?jq.j and requires 2N.
  • 0--N if we do not blacken any q at 2, and q2, q3
    at 4.

1
m2
2
4
m1
q1,q2,q3,q4
3
19
The Optimal Algorithm(cont.)
  • We merge 1st 2nd enh.
  • enum.j, enum.m, sender_id.m (1st enh.)
  • q1,q2,,qN, tok_color.1N (2nd enh.)
  • color.j.k
  • color.j.k js color w.r.t. initiator k
  • propagate and retransmit actions are merged into
    one action

20
The Optimal Algorithm(cont.)
  • j receives m from l
  • enum.j ? enum.m and j gt sender_id.m
  • m violates the consistency of the snapshot ?kj
    ? k ? N ? 1 ? k ? l
  • ?kj?k?N ? 1?k?l color.j.k black

21
Proof
  • W detects X
  • W ?X
  • X leads-to W
  • Proof
  • X termination predicate
  • W witness predicate
  • I invariant
  • (I ?W) ?X
  • (I ?X) leads-to W

22
Proof (cont)
  • X ( (?j idle.j)?(mesg_sent - mesg_rcvd 0)
    )
  • W (?j (tok_at_j) ? (idle.j) ? (color.j.jwhite)
    ? (c.jq.j0) ? (tok_color.jwhite) )
  • I ( (?jc.j) mesg_sent - mesg_rcvd
    (I1) ?(?i Q.i ? R.i ? S.i ? T.i) )
  • Q.i ( (?jj?VSTD.i idle.j) ? q.i
    (?jj?VSTD.ic.j) )
  • R.i ( q.i(?jj?VSTD.ic.j) gt 0 )
  • S.i (?j j?VSTD.i color.j.iblack )
  • T.i (tok_color.iblack )

23
Proof (I?W) ?X
  • Token is at j
  • W ? (1)tok_at_j ? (2)idle.j ? (3)color.j.jwhite ?
    (4)c.jq.j0 ? (5)tok_color.jwhite
  • (1 ? 3) ? ?S.j
  • (1 ? 4) ? ?R.j
  • 5 ? ?T.j
  • (I ? ?S.j ? ?R.j ? ?T.j) ? Q.j
  • (1 ? 2 ? Q.j ? 4 ? I1) ? X

24
Proof (I?X) leads-toW in 0--N
  • (I ? X) ? (?j idle.j) ? (?jc.j) 0
  • The only enabled action is Propagate Token
  • Let tok_at_j then q.j0, color.j.jwhite,
    tok_color.jwhite
  • Claim (?k color.k.j white)
  • Then tok_color.jwhite is stable.
  • When tok_at_j again, (c.jq.j (?jc.j) 0 )
  • Therefore, within 1 cycle of token W is
    satisfied.
  • 0--N

25
Proof (?k color.k.j white)
  • Assume (?k color.k.j black). 3 cases to
    consider
  • kltj
  • color.k.j black before token visits k leads-to
    color.k.j white
  • color.k.j cannot be blackened by 1 ? i ? k, since
    enum.ienum.k
  • color.k.j cannot be blackened by k ? i.
  • kj color.j.jwhite
  • kgtj
  • sender_id ? j then color.k.j is not blackened
  • sender_id gt j then color.k.j is not blackened,
    since enum.sender_id enum.k

26
Conclusion
  • An optimal termination detection algorithm on
    rings 0--N

27
New Results T.D. in Trees Chandys model
  • 2h--3h detection in trees
  • h detection in trees
  • Efficient T.D. in Chandys model
  • 1--2 rounds to detect termination
  • requires just 1 integer 1 bit in each process
    including DET.
  • Chandy 2N integers in each process, 2N2 integers
    in DET.
Write a Comment
User Comments (0)
About PowerShow.com