chapter 10 global properties

15
Chapter 10 Global Properties

Upload: lane-heath

Post on 31-Dec-2015

25 views

Category:

Documents


2 download

DESCRIPTION

Chapter 10 Global Properties. Unstable Predicate Detection. A predicate is stable if, once it becomes true it remains true Snapshot algorithm is not useful for detection of global properties: Not applicable for unstable predicates - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 10 Global Properties

Chapter 10

Global Properties

Page 2: Chapter 10 Global Properties

Unstable Predicate Detection

A predicate is stable if, once it becomes true it remains true

Snapshot algorithm is not useful for detection of global properties: 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

Page 3: Chapter 10 Global Properties

Predicates

Any predicate B constructed from local predicates using boolean connectives can be written in a disjunctive normal form i.e.

where q1, q2, …,qn are conjunctive predicates E.g. : x = y (where x and y are boolean) can

be written as

Page 4: Chapter 10 Global Properties

Weak Conjunctive Predicate (WCP) 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

Page 5: Chapter 10 Global Properties

WCP Algorithm outline

Non-Checker process Maintains a vector clock Sends vector clock to

checker process when predicate becomes true

Page 6: Chapter 10 Global Properties

WCP Algorithm outline

Checker process 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.getNext() Repeat above statement till all

states in cut[ ] are concurrent cut[ ] is the least CGS for

which the predicate holds

Page 7: Chapter 10 Global Properties

WCP Detection - Checker Process

Page 8: Chapter 10 Global Properties

Overhead Analysis

n: number of processes involved m: max number of messages sent or

received by any process Space :

Each local snapshot : O(n) At most O(mn) local snapshots O(n2m) total space

Time: n2m comparisons O(n2m)

Page 9: Chapter 10 Global Properties

Is the time complexity optimal ? Lemma :

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.

Page 10: Chapter 10 Global Properties

Is the time complexity optimal ? Theorem

Let S be any partially ordered finite set of size mn. We are given a decomposition of S into n sets P0 … Pn-1 such that Pi

is a chain of size m . Any algorithm that determines whether there exists an anti-chain of size n must make at least mn(n-1)/2 comparisons

Adversary algorithm

Page 11: Chapter 10 Global Properties

A Token based algorithm for WCP

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

Monitor Process

Application Process

Node Pi

Page 12: Chapter 10 Global Properties

A Token based algorithm for WCP 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 receive a new state from the application process check for consistency conditions again.

This process is repeated until all states are eliminated from some process Pi or the WCP is detected.

Page 13: Chapter 10 Global Properties

A Token based algorithm for WCP Token consists of two vectors G and color

G represents the candidate global cut 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

If color[i]=red, then state (i,G[i]) has been eliminated and can never satisfy the global predicate

Page 14: Chapter 10 Global Properties

A Token based algorithm for WCP

Page 15: Chapter 10 Global Properties

Applications

Distributed debugging Detect a bad condition

E.g. There is no leader ,i.e., P1 does not have a token and

P2 does not have a token and

. . .

Pn does not have a token