[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3288599.3288604acmconferencesArticle/Chapter ViewAbstractPublication PagesicdcnConference Proceedingsconference-collections
research-article

Parallel algorithms for predicate detection

Published: 04 January 2019 Publication History

Abstract

Given a trace of a distributed computation and a desired predicate, the predicate detection problem is to find a consistent global state that satisfies the given predicate. The predicate detection problem has many applications in the testing and runtime verification of parallel and distributed systems. We show that many problems related to predicate detection are in the parallel complexity class NC, the set of decision problems decidable in polylogarithmic time on a parallel computer with a polynomial number of processors. Given a computation on n processes with at most m local states per process, our parallel algorithm to detect a given conjunctive predicate takes O(log mn) time and O(m3n3 log mn) work. The sequential algorithm takes O(mn2) time. For data race detection, we give a parallel algorithm that takes O(log mn log n) time, also placing that problem in NC. This is the first work, to the best of our knowledge, that places the parallel complexity of such predicate detection problems in the class NC.

References

[1]
B. Charron-Bost, C. Delporte-Gallet, and H. Fauconnier. 1995. Local and Temporal Predicates in Distributed Systems. ACM Transactions on Programming Languages and Systems 17, 1 (Jan. 1995), 157--179.
[2]
C. Chase and V. K. Garg. 1995. On Techniques and their Limitations for the Global Predicate Detection Problem. In Proceedings of the Workshop on Distributed Algorithms (WDAG). France, 303--317.
[3]
C. Chase and V. K. Garg. 1998. Efficient Detection of Global Predicates in a Distributed System. Distributed Computing 11, 4 (1998).
[4]
Feng Chen, Traian Florin Serbanuta, and Grigore Roşu. 2008. jPredictor: a predictive runtime analysis tool for java. In Proceedings of the International Conference on Software Engineering. 221--230.
[5]
R. Cooper and K. Marzullo. 1991. Consistent Detection of Global Predicates. In Proc. of the Workshop on Parallel and Distributed Debugging. ACM/ONR, Santa Cruz, CA, 163--173.
[6]
C. J. Fidge. 1989. Partial Orders for Parallel Debugging. Proceedings of the ACM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, published in ACM SIGPLAN Notices 24, 1 (Jan. 1989), 183--194.
[7]
Cormac Flanagan and Stephen N. Freund. 2009. FastTrack: efficient and precise dynamic race detection. In Proceedings of ACM SIGPLAN the Conference on Programming Language Design and Implementation. 121--133.
[8]
Vijay K Garg. 2015. Lattice Theory with Computer Science Applications. Wiley, New York, NY.
[9]
Vijay K. Garg. 2017. Brief Announcement: Application of Predicate Detection to the Stable Marriage Problem. In International Symposium on DIStributed Computing (DISC'17).
[10]
V. K. Garg and C. Chase. 1995. Distributed Algorithms for Detecting conjunctive predicates. In Proc. of the IEEE International Conference on Distributed Computing Systems. Vancouver, BC, Canada, 423--430.
[11]
V. K. Garg and N. Mittal. 2001. On Slicing a Distributed Computation. In 21st International Conference on Distributed Computing Systems (ICDCS' 01). IEEE, Washington - Brussels - Tokyo, 322--329.
[12]
V. K. Garg and B. Waldecker. 1991. Detection of Unstable Predicates. In Proc. of the Workshop on Parallel and Distributed Debugging. ACM/ONR, Santa Cruz, CA.
[13]
V. K. Garg and B. Waldecker. 1992. Detection of Unstable Predicates in Distributed Programs. In Proc. of 12th Conference on the Foundations of Software Technology & Theoretical Computer Science. Springer Verlag, 253--264. Lecture Notes in Computer Science 652.
[14]
Michael Hurfin, Masaaki Mizuno, Michel Raynal, and Mukesh Singhal. 1998. Efficient Distributed Detection of Conjunctions of Local Predicates. IEEE Transactions on Software Engineering 24, 8 (Aug. 1998), 664--677.
[15]
Joseph JáJá. 1992. An introduction to parallel algorithms. Vol. 17. Addison-Wesley Reading.
[16]
L. Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21, 7 (July 1978), 558--565.
[17]
Y. Lei and R.H. Carver. 2006. Reachability testing of concurrent programs. IEEE Transactions on Software Engineering 32, 6 (2006), 382--403.
[18]
Daniel Marino, Madanlal Musuvathi, and Satish Narayanasamy. 2009. LiteRace: Effective Sampling for Lightweight Data-race Detection. In Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '09). ACM, New York, NY, USA, 134--143.
[19]
F. Mattern. 1989. Virtual time and global states of distributed systems. In Parallel and Distributed Algorithms: Proc. of the International Workshop on Parallel and Distributed Algorithms. Elsevier Science Publishers B.V. (North-Holland), 215--226.
[20]
N. Mittal and V. K. Garg. 2001. Slicing a Distributed Computation: Techniques and Theory. In 5th International Symposium on DIStributed Computing (DISC'01).
[21]
Robert O'Callahan and Jong-Deok Choi. 2003. Hybrid Dynamic Data Race Detection. In Proceedings of the Ninth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '03). ACM, New York, NY, USA, 167--178.
[22]
Vinit A. Ogale and Vijay K. Garg. 2007. Detecting Temporal Logic Predicates on Distributed Computations. In Distributed Computing, 21st International Symposium, DISC 2007, Lemesos, Cyprus, September 24--26, 2007, Proceedings. 420--434.
[23]
Eli Pozniansky and Assaf Schuster. 2003. Efficient On-the-fly Data Race Detection in Multithreaded C++ Programs. In Proceedings of the Ninth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '03). ACM, New York, NY, USA, 179--190.
[24]
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, and Thomas Anderson. 1997. Eraser: A Dynamic Data Race Detector for Multithreaded Programs. ACM Trans. Comput. Syst. 15, 4 (Nov. 1997), 391--411.
[25]
S. D. Stoller and F. B. Schneider. 1995. Faster Possibility Detection by Combining Two Approaches. In Proc. of the 9th International Workshop on Distributed Algorithms. Springer-Verlag, Le Mont-Saint-Michel, France, 318--332.
[26]
A. I. Tomlinson and V. K. Garg. 1997. Monitoring Functions on Global States of Distributed Programs. J. Parallel and Distrib. Comput. 41, 2 (March 1997), 173--189.
[27]
S. Venkatesan and B. Dathan. 1992. Testing and Debugging Distributed Programs Using Global Predicates. In Thirtieth Annual Allerton Conference on Communication, Control and Computing. Allerton, IL, 137--146.
[28]
Yuan Yu, Tom Rodeheffer, and Wei Chen. 2005. RaceTrack: Efficient Detection of Data Race Conditions via Adaptive Tracking. In Proceedings of the Twentieth ACM Symposium on Operating Systems Principles (SOSP '05). ACM, New York, NY, USA, 221--234.

Cited By

View all
  • (2024)Parallel Algorithms for Equilevel PredicatesProceedings of the 25th International Conference on Distributed Computing and Networking10.1145/3631461.3631546(104-113)Online publication date: 4-Jan-2024
  • (2021)Particle Swarm Optimization Algorithm for Detecting Distributed PredicatesIEEE Access10.1109/ACCESS.2021.30971829(105286-105296)Online publication date: 2021
  • (2020)Efficient Two-Layered Monitor for Partially Synchronous Distributed Systems2020 International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS51746.2020.00020(123-132)Online publication date: Sep-2020

Index Terms

  1. Parallel algorithms for predicate detection

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICDCN '19: Proceedings of the 20th International Conference on Distributed Computing and Networking
    January 2019
    535 pages
    ISBN:9781450360944
    DOI:10.1145/3288599
    • General Chairs:
    • R. C. Hansdah,
    • Dilip Krishnaswamy,
    • Nitin Vaidya
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 04 January 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. data race detection
    2. parallel algorithms
    3. predicate detection

    Qualifiers

    • Research-article

    Conference

    ICDCN '19
    Sponsor:
    • SIGOPS
    • Indian Institute of Science

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Parallel Algorithms for Equilevel PredicatesProceedings of the 25th International Conference on Distributed Computing and Networking10.1145/3631461.3631546(104-113)Online publication date: 4-Jan-2024
    • (2021)Particle Swarm Optimization Algorithm for Detecting Distributed PredicatesIEEE Access10.1109/ACCESS.2021.30971829(105286-105296)Online publication date: 2021
    • (2020)Efficient Two-Layered Monitor for Partially Synchronous Distributed Systems2020 International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS51746.2020.00020(123-132)Online publication date: Sep-2020

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media