Termination Detection

1 / 28

Termination Detection - PowerPoint PPT Presentation

Termination Detection. Presented by: Yonni Edelist. The model. A finite graph of machines (nodes) and communication channels (edges), in which a distributed computation is taking place Machines can be either ‘ active ’ or ‘ passive ’ Only active machines may send messages

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about ' Termination Detection' - glenda

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Termination Detection

Presented by:

Yonni Edelist

The model
• A finite graph of machines (nodes) and communication channels (edges), in which a distributed computation is taking place
• Machines can be either ‘active’ or ‘passive’
• Only active machines may send messages
• Passive machine may become active only when it receives a message
• Active machine may become passive at any time
The problem
• If, in the computation, a finite number of messages are sent, the graph will reach a stable state in which no more messages are sent
• One machine, say machine no. 0, wants to detect that the graph has reached that state
• We will build an algorithm which enables machine 0 to detect termination
example
• We denote messages sent by the termination detection algorithm ‘signals’

0

2

3

1

6

5

4

Termination detection in a ring

The model
• N machines, 0..N-1
• Machine 0 initiates the detection algorithm
• Does so by sending a signal (a token) to machine 1
• Machine i can propagate the token to machine i+1
• We denote the machine currently holding the token ‘t’
System Invariant
• We describe an invariant, which will be true for every configuration of the system (for every value of t)
• Machine 0 will know that all other machines are passive based on:
• t=0
• The invariant
• (possibly) further information available at machine 0
First Invariant- P0
• First step- we assume that there are no messages
• Meaning: an active node may become passive, but not vice-versa
• P0: (∀ i: 0≤i<t machine i is passive)
P0- Example

0

3

1

2

Red outline represents an active machine

Rule 0
• In order to preserve the invariant, we must follow the rule:
• Rule 0: Machine i transmits the token only if it’s passive
• (remember that a passive machine can’t become active again)
Invariant P1
• If machine i<t receives a message, it becomes active, thus falsifying P0
• Message must have been sent by machine j≥t
• P1 is established whenever P0 is falsified in the above manner

P0: (∀ i: 0≤i<t machine i is passive)

Invariant P1 (cont.)
• A machine can be either black or white
• P1: (∃ j: t ≤ j ≤ N: machine j is black)
• Rule 1: When machine j sends a message to machine i<j, it becomes black
Invariant P1 (cont.)
• Now P= P0 ∨ P1 is not falsified when a message is sent to i < j.
• Machine 0 knows:
• (t=0 ∧ machine 0 is white)  ¬P1
• P0: (∀ i: 0≤i<t machine i is passive)
• Therefore- machine 0 can still detect termination
But…

0

3

1

2

Invariant P2
• P1 may be falsified when a black machine hands the token over
• We want to ensure that every token propagation that falsifies P1 establishes P2
• We define that the token may be either black or white
Invariant P2 (cont)
• P2: the token is black
• And the accompanying rule:
• Rule 2: A black machine transmits a black token. A white machine doesn’t change the colour of the token
Invariant P2 (cont)
• Machine 0 knows:
• (t=0 ∧ machine 0 is white)  ¬P1

- Token is white  ¬P2

• P0: (∀ i: 0≤i<t machine i is passive)
• Therefore- machine 0 can still detect termination
Rule 3
• The algorithm may finish unsuccessfully
• Rule 3: after an unsuccessful round, machine 0 initiates another round
But…

0

3

1

2

Rule 4
• Since a round that begun with a black token is doomed, we adopt:
• Rule 4: at the beginning of a new round, machine 0 makes itself white and transmits a white token
Rule 5
• Whitening a black machine i may falsify only P1, and only in the case i > t
• Rule 5: when transmitting the token to machine i+1, machine i makes itself white

P1: (∃ j: t ≤ j ≤ N: machine j is black)