Chapter11 - Chapter 11: Global Predicate Detection Ajay...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon
Chapter 11: Global Predicate Detection Ajay Kshemkalyani and Mukesh Singhal Distributed Computing: Principles, Algorithms, and Systems Cambridge University Press Global Predicate Detection CUP 2008 1 / 26
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Distributed Computing: Principles, Algorithms, and Systems Introduction and Uses of Predicate Detection Industrial process control, distributed debugging, computer-aided verification, sensor networks E.g., ψ defined as x i + y j + z k < 100 Different from global snapshots: global snapshot gives one of the values that could have existed during the execution Stable predicate: remains true once it becomes true, i.e., φ = φ I predicate φ at a cut C is stable if: ( C | = φ ) = ( C 0 | C C 0 , C 0 | = φ ) I E.g., deadlock, termination of execution are stable properties Global Predicate Detection CUP 2008 2 / 26
Background image of page 2
Distributed Computing: Principles, Algorithms, and Systems Stable Properties Deadlock: Given a Wait-For Graph G = ( V , E ), a deadlock is a subgraph G 0 = ( V 0 , E 0 ) such that V 0 V and E 0 E and for each i in V 0 , i remains blocked unless it receives a reply from some process(es) in V 0 . I (local condition:) each deadlocked process is locally blocked, and I (global condition:) the deadlocked process will not receive a reply from some process(es) in V 0 . Termination of execution: Model active and passive states, and state transitions between them. Then execution is terminated if: I (local condition:) each process is in passive state, and I (global condition:) there is no message in transit between any pair of processes. Repeated global snapshots is not practical! Utilize a 2-phased approach of observing potentially inconsistent global states. Global Predicate Detection CUP 2008 3 / 26
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Distributed Computing: Principles, Algorithms, and Systems Stable Properties Deadlock: Given a Wait-For Graph G = ( V , E ), a deadlock is a subgraph G 0 = ( V 0 , E 0 ) such that V 0 V and E 0 E and for each i in V 0 , i remains blocked unless it receives a reply from some process(es) in V 0 . I (local condition:) each deadlocked process is locally blocked, and I (global condition:) the deadlocked process will not receive a reply from some process(es) in V 0 . Termination of execution: Model active and passive states, and state transitions between them. Then execution is terminated if: I (local condition:) each process is in passive state, and I (global condition:) there is no message in transit between any pair of processes. Repeated global snapshots is not practical! Utilize a 2-phased approach of observing potentially inconsistent global states. Global Predicate Detection CUP 2008 3 / 26
Background image of page 4
Distributed Computing: Principles, Algorithms, and Systems Stable Properties Deadlock: Given a Wait-For Graph G = ( V , E ), a deadlock is a subgraph G 0 = ( V 0 , E 0 ) such that V 0 V and E 0 E and for each i in V 0 , i remains blocked unless it receives a reply from some process(es) in V 0 .
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 6
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 28

Chapter11 - Chapter 11: Global Predicate Detection Ajay...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online