a distributed abstraction algorithm for online predicate
play

A Distributed Abstraction Algorithm for Online Predicate Detection - PowerPoint PPT Presentation

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


  1. 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

  2. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion Outline 1 Introduction 2 Background 3 Abstraction - Computational Slicing 4 Distributed Online Slicing 5 Conclusion Himanshu (UT Austin) Distributed Online Abstraction 1 / 34

  3. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 2 / 34

  4. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 3 / 34

  5. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 4 / 34

  6. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 5 / 34

  7. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 6 / 34

  8. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 7 / 34

  9. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 8 / 34

  10. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 8 / 34

  11. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 8 / 34

  12. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 8 / 34

  13. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 9 / 34

  14. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 9 / 34

  15. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 10 / 34

  16. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 10 / 34

  17. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 10 / 34

  18. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 11 / 34

  19. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 11 / 34

  20. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 12 / 34

  21. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 12 / 34

  22. Introduction Background Abstraction - Computational Slicing Distributed Online Slicing Conclusion 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 13 / 34

Recommend


More recommend