A Distributed Abstraction Algorithm for Online Predicate Detection Himanshu Chauhan 1 Vijay K. Garg 1 Aravind Natarajan 2 Neeraj Mittal 2 1 Parallel & Distributed Systems Lab, Department of Electrical & Computer Engineering University of Texas at Austin 2 Department of Computer Science, University of Texas at Dallas
Outline Himanshu (UT Austin) Distributed Online Abstraction 1 / 1
Outline Himanshu (UT Austin) Distributed Online Abstraction 2 / 1
Motivation & Problem Definition Why Online Predicate Detection? Large Parallel Computations Non-terminating executions, e.g. server farms Debugging, Runtime validation 0 1 0 1 Himanshu (UT Austin) Distributed Online Abstraction 3 / 1
Motivation & Problem Definition Other Applications General predicate detection algorithms, such as Cooper-Marzullo [1991] Perform abstraction with respect to simpler predicate Detect remaining conjunct in the abstracted structure Reduced complexity by using abstraction based detection Himanshu (UT Austin) Distributed Online Abstraction 4 / 1
Motivation & Problem Definition Predicate Detection in Distributed Computations Find all global states in a computation that satisfy a predicate − 1 1 2 0 x 1 P 1 a c b d 0 2 1 3 x 2 P 2 e g f h 4 1 2 4 x 3 P 3 u v w x Predicate ( x 1 ∗ x 2 + x 3 < 5) ∧ ( x 1 ≥ 1) ∧ ( x 3 ≤ 3): O ( k 3 ) steps O ( k n ) complexity for n processes, and k events per process Compute intensive for large computations Himanshu (UT Austin) Distributed Online Abstraction 5 / 1
Motivation & Problem Definition Exploiting Predicate Structure Using Abstractions Predicate ( x 1 ∗ x 2 + x 3 < 5) ∧ ( x 1 ≥ 1) ∧ ( x 3 ≤ 3) 1 2 − 1 0 x 1 P 1 a c b d 0 2 1 3 x 2 P 2 a , e , f , u , v e g b f h 4 1 2 4 x 3 P 3 g w u v w x (a) Original Computation (b) Slice w.r.t. ( x 1 ≥ 1) ∧ ( x 3 ≤ 3) Himanshu (UT Austin) Distributed Online Abstraction 6 / 1
Motivation & Problem Definition Paper Focus Offline and Online algorithms for abstracting computations for regular predicates exist [Mittal et al. 01 & Sen et al. 03] This paper : Efficient distributed online algorithm to abstract a computation with respect to regular predicates. Himanshu (UT Austin) Distributed Online Abstraction 7 / 1
Outline Himanshu (UT Austin) Distributed Online Abstraction 8 / 1
Model System Model Asynchronous message passing n reliable processes FIFO, loss-less channels Denote a distributed computation with ( E , → ) E : Set of all events in the computation → : happened-before relation [Lamport 78] Himanshu (UT Austin) Distributed Online Abstraction 9 / 1
Consistent Cuts and Lattices, Regular Predicates Consistent Cuts Consistent Cut : Possible global state of the system during its execution. Himanshu (UT Austin) Distributed Online Abstraction 10 / 1
Consistent Cuts and Lattices, Regular Predicates Consistent Cuts Consistent Cut : Possible global state of the system during its execution. Formally: Given a distributed computation ( E , → ), a subset of events C ⊆ E is a consistent cut if C contains an event e only if it contains all events that happened-before e . e ∈ C ∧ f → e ⇒ f ∈ C Himanshu (UT Austin) Distributed Online Abstraction 10 / 1
Consistent Cuts and Lattices, Regular Predicates Consistent Cuts Consistent Cut : Possible global state of the system during its execution. i.e. if a message receipt event has happened , the corresponding message send event must have happened. Himanshu (UT Austin) Distributed Online Abstraction 10 / 1
Consistent Cuts and Lattices, Regular Predicates Consistent Cuts Consistent Cut : Possible global state of the system during its execution. For conciseness, we represent a consistent cut by its maximum elements on each process. {} � { a } � P 1 [ b , e ] [ c , e ] � � a c b P 2 e g [ a , f ] X f Use vector clocks for checking consistency/finding causual dependency Himanshu (UT Austin) Distributed Online Abstraction 10 / 1
Consistent Cuts and Lattices, Regular Predicates Lattice of Consistent Cuts Set of all consistent cuts of a computation ( E , → ), forms a lattice under the relation ⊆ . [Mattern 89] Himanshu (UT Austin) Distributed Online Abstraction 11 / 1
Consistent Cuts and Lattices, Regular Predicates Lattice of Consistent Cuts { c , g } { c , f } { b , g } { c , e } { b , f } { c } { b , e } { b } { a , e } P 1 a c { a } { e } b P 2 e g {} f Computation and its Lattice of Consistent Cuts Himanshu (UT Austin) Distributed Online Abstraction 11 / 1
Consistent Cuts and Lattices, Regular Predicates Regular Predicates A predicate is regular if for any two consistent cuts C and D that satisfy the predicate, the consistent cuts given by ( C ∪ D ) and ( C ∩ D ) also satisfy the predicate. Himanshu (UT Austin) Distributed Online Abstraction 12 / 1
Consistent Cuts and Lattices, Regular Predicates Regular Predicates A predicate is regular if for any two consistent cuts C and D that satisfy the predicate, the consistent cuts given by ( C ∪ D ) and ( C ∩ D ) also satisfy the predicate. P 1 a c b P 2 e g f Himanshu (UT Austin) Distributed Online Abstraction 12 / 1
Consistent Cuts and Lattices, Regular Predicates Regular Predicates A predicate is regular if for any two consistent cuts C and D that satisfy the predicate, the consistent cuts given by ( C ∪ D ) and ( C ∩ D ) also satisfy the predicate. P 1 a c b P 2 e g f { b , g } ∩ { c , f } = { b , f } , { b , g } ∪ { c , f } = { c , g } Himanshu (UT Austin) Distributed Online Abstraction 12 / 1
Consistent Cuts and Lattices, Regular Predicates Regular Predicates - Examples Local Predicates Conjunctive Predicates − conjunctions of local predicates Monotonic Channel Predicates All channels are empty/full There are at most m messages in transit from P i to P j Himanshu (UT Austin) Distributed Online Abstraction 13 / 1
Consistent Cuts and Lattices, Regular Predicates Regular Predicates - Examples Local Predicates Conjunctive Predicates − conjunctions of local predicates Monotonic Channel Predicates All channels are empty/full There are at most m messages in transit from P i to P j Not Regular: There are even number of messages in a channel Himanshu (UT Austin) Distributed Online Abstraction 13 / 1
Consistent Cuts and Lattices, Regular Predicates Regular Predicates Predicate: “all channels are empty” { c , g } { c , f } { b , g } { c , e } { b , f } { c } { b , e } { b } { a , e } P 1 a c { a } { e } b P 2 e g {} f Himanshu (UT Austin) Distributed Online Abstraction 14 / 1
Consistent Cuts and Lattices, Regular Predicates Regular Predicates Predicate: “all channels are empty” { c , g } { c , f } { b , g } { c , e } { b , f } { c } { b , e } { b } { a , e } P 1 a c { a } { e } b P 2 e g {} f Himanshu (UT Austin) Distributed Online Abstraction 14 / 1
Outline Himanshu (UT Austin) Distributed Online Abstraction 15 / 1
Abstractions of Computations - Slicing Why use Abstractions? Goal: Find all global states that satisfy a given predicate. Key Benefit of Abstraction When B is regular: we can “get away” with only enumerating cuts that satisfy B , and are not joins of other consistent cuts. Due to Birkhoff’s Representation Theorem for Lattices [Birkhoff 37] Himanshu (UT Austin) Distributed Online Abstraction 16 / 1
Abstractions of Computations - Slicing Abstractions for Regular Predicates Slice : A subset of the set of all global states of a computation that satisfies the predicate. Himanshu (UT Austin) Distributed Online Abstraction 17 / 1
Abstractions of Computations - Slicing Abstractions for Regular Predicates Slice : A subset of the set of all global states of a computation that satisfies the predicate. end Consistent Cuts Satisfying B Slice for B start Himanshu (UT Austin) Distributed Online Abstraction 17 / 1
Abstractions of Computations - Slicing Abstractions for Regular Predicates Slice : A subset of the set of all global states of a computation that satisfies the predicate. Himanshu (UT Austin) Distributed Online Abstraction 17 / 1
Abstractions of Computations - Slicing Abstractions for Regular Predicates Slice : A subset of the set of all global states of a computation that satisfies the predicate. { c , g } { c , f } { b , g } { c , e } { b , f } { c } { b , e } { c , f } { b , g } { b } { a , e } { b , f } { a } { e } a c b {} { a } { e } e g f B : “all channels are empty” Himanshu (UT Austin) Distributed Online Abstraction 17 / 1
Abstractions of Computations - Slicing How do we do that? Exploit J B ( e ) Himanshu (UT Austin) Distributed Online Abstraction 18 / 1
Abstractions of Computations - Slicing How do we do that? Given a predicate B , and event e in a computation J B ( e ): The least consistent cut that satisfies B and contains e . Himanshu (UT Austin) Distributed Online Abstraction 18 / 1
Abstractions of Computations - Slicing How do we do that? Given a predicate B , and event e in a computation J B ( e ): The least consistent cut that satisfies B and contains e . { c , g } Not in Slice { c , f } { b , g } In Slice { c , e } { b , f } { c } { b , e } { b } { a , e } { a } { e } P 1 a c b P 2 {} e g f Himanshu (UT Austin) Distributed Online Abstraction 18 / 1
Recommend
More recommend