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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend