Detecting quantified global predicates in parallel programs

  • Mark Minas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 966)


Global predicates in parallel programs are predicates considering the state of more than one process. They are a useful concept for debugging parallel programs, e.g., for specifying assertions or breakpoints. In this paper ∃-predicates are defined and examined, a restricted class of global predicates. ∃-predicates are defined by two local predicates which have to be simultaneously satisfied by two different processes. Such predicates are frequently needed to express synchronization properties. Efficient centralized and parallel algorithms for detecting satisfaction of∃-predicates are proposed. Furthermore, it is outlined how ∃-predicates can be used for global breakpoints. and where to stop a parallel program reaching such a breakpoint The underlying machine models is a fixed set of processes communicating by message passing or shared memory.


Global predicates testing debugging parallel debugger 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    R. Chandra, A. Gupta, and J. L. Hennesy. COOL: An object-based language for parallel programming. Computer, 27(8): 13–26, 1994.Google Scholar
  2. [2]
    K. M. Chandy and L. Lamport. Distributed snapshots: Determining global states of distributed systems. ACM Transaction on Computer Systems, 3(1):63–75, 1985.Google Scholar
  3. [3]
    R. Cooper and K. Marzullo. Consistent detection of global predicates. Proc. of the ACM/ONR Workshop on Parallel and Distributed Debugging, published in ACM SIGPLAN Notices, 26(12):167–174, 1991.Google Scholar
  4. [4]
    C. J. Fidge. Partial orders for parallel debugging. Proc. of the ACM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, published in ACM SIGPLAN Notices, 24(1):183–194, 1989.Google Scholar
  5. [5]
    V. K. Garg and B. Waldecker. Detection of weak unstable predicates in distributed programs. IEEE Trans. on Parallel and Distributed Systems, 5(3):299–307, 1994.Google Scholar
  6. [6]
    A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek and V. Sunderam PVM: Parallel Virtual Machine — A Users' Guide and Tutorial for Networked Parallel Computing. MIT Press, 1994Google Scholar
  7. [7]
    M. Hurfin, N. Plouzeau, and M. Raynal. Detecting atomic sequences of predicates in distributed computations. In Proc. of ACM/ONR Workshop on Parallel and Distributed Debugging, pages 32–42, San Diego, California, 1993.Google Scholar
  8. [8]
    L. Lamport. Time, clocks, and the ordering of events in a distributed system. Comm. of the ACM, 21:558–565, 1978.Google Scholar
  9. [9]
    L. Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. on Computers, C-28(9):690–691, 1979.Google Scholar
  10. [10]
    T. J. LeBlanc and J. M. Mellor-Crummey. Debugging parallel programs with Instant Replay. IEEE Trans. on Computers, C-36(4):471–482, 1987.Google Scholar
  11. [11]
    Y. Manabe and S. Aoyagi. Debugging dynamic distributed programs using global predicates. In Proc. 4th IEEE Symp. on Parallel and Distributed Processing, pages 402–407, Arlington, TX, USA, 1992.Google Scholar
  12. [12]
    Y. Manabe and M. Imase. Global conditions in debugging distributed programs. Journal of Parallel and Distributed Computing, 15:62–69, 1992.Google Scholar
  13. [13]
    F. Mattern. Virtual time and global states of distributed systems. In M. Cosnard, editor, Proc. Parallel and Distributed Algorithms, 1988.Google Scholar
  14. [14]
    B. P. Miller and J. Choi. Breakpoints and halting in distributed programs. In Proc. 8th Int. Conf. on Distributed Computing Systems, pages 316–323, 1988.Google Scholar
  15. [15]
    R. Wahbe, S. Lucco, and S. L. Graham. Practical data breakpoints: Design and implementation. In ACM SIGPLAN'93 Symp. on Programming Language Design and Implementation, Albuquerque, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Mark Minas
    • 1
  1. 1.IMMD IIUniv. Erlangen-NürnbergErlangenGermany

Personalised recommendations