Chapter 10 Global Properties Unstable Predicate Detection n
Chapter 10 Global Properties
Unstable Predicate Detection n A predicate is stable if, once it becomes true it remains true n Snapshot algorithm is not useful for detection of global properties: q q q Not applicable for unstable predicates Can not compute the least global state that satisfies a given predicate Excessive overhead if frequency of snapshots is high
Predicates n n Any predicate B constructed from local predicates using boolean connectives can be written in a disjunctive normal form i. e. where q 1, q 2, …, qn are conjunctive predicates E. g. : x = y (where x and y are boolean) can be written as
Weak Conjunctive Predicate (WCP) n n n A Weak Conjunctive Predicate (WCP) is true iff there exists a consistent global cut in which all the conjuncts are true Disjunctive predicates are easy to detect Given an algorithm for detecting WCP we can detect any predicate B constructed from local predicates using boolean connectives
WCP Algorithm outline n Non-Checker process q q Maintains a vector clock Sends vector clock to checker process when predicate becomes true
WCP Algorithm outline n Checker process q q q Maintains a separate queue for each non-checker process Maintain a cut[1. . N] (array of states of the processes) If state cut[i] ! cut[j], then cut[i] = queuei. get. Next() Repeat above statement till all states in cut[ ] are concurrent cut[ ] is the least CGS for which the predicate holds
WCP Detection - Checker Process
Overhead Analysis n n: number of processes involved m: max number of messages sent or received by any process Space : q q q n Each local snapshot : O(n) At most O(mn) local snapshots O(n 2 m) total space Time: n 2 m comparisons q O(n 2 m)
Is the time complexity optimal ? n Lemma : q Let there be n elements in a set S. Any algorithm that determines whether all elements are incomparable must make at least n(n-1)/2 comparisons.
Is the time complexity optimal ? n Theorem q Let S be any partially ordered finite set of size mn. We are given a decomposition of S into n sets P 0 … Pn-1 such that Pi is a chain of size m. Any algorithm that determines whethere exists an anti-chain of size n must make at least mn(n 1)/2 comparisons Adversary algorithm
A Token based algorithm for WCP Monitor Process Application Process Node Pi n n n Monitor process runs on each node along with the application Monitor processes pass the token to each other Token stores candidate cut and information to determine if it is consistent
A Token based algorithm for WCP n n A token is sent to a process Pi when current state from Pi happened before some other state in the candidate cut Once the monitor process for Pi has eliminated the current state q q n receive a new state from the application process check for consistency conditions again. This process is repeated until q q all states are eliminated from some process Pi or the WCP is detected.
A Token based algorithm for WCP n Token consists of two vectors G and color q G represents the candidate global cut n n q G[i] = k indicates that state (i, k) is part of the current cut Invariant: G[i] = k implies that any global cut C with state (i, s) 2 C and s < k cannot satisfy the WCP color indicates which states have been eliminated n If color[i]=red, then state (i, G[i]) has been eliminated and can never satisfy the global predicate
A Token based algorithm for WCP
Applications n n Distributed debugging Detect a bad condition q E. g. There is no leader , i. e. , P 1 does not have a token and P 2 does not have a token and. . . Pn does not have a token
- Slides: 15