Abstract
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.
Chapter PDF
References
R. Chandra, A. Gupta, and J. L. Hennesy. COOL: An object-based language for parallel programming. Computer, 27(8): 13–26, 1994.
K. M. Chandy and L. Lamport. Distributed snapshots: Determining global states of distributed systems. ACM Transaction on Computer Systems, 3(1):63–75, 1985.
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.
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.
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.
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, 1994
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.
L. Lamport. Time, clocks, and the ordering of events in a distributed system. Comm. of the ACM, 21:558–565, 1978.
L. Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. on Computers, C-28(9):690–691, 1979.
T. J. LeBlanc and J. M. Mellor-Crummey. Debugging parallel programs with Instant Replay. IEEE Trans. on Computers, C-36(4):471–482, 1987.
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.
Y. Manabe and M. Imase. Global conditions in debugging distributed programs. Journal of Parallel and Distributed Computing, 15:62–69, 1992.
F. Mattern. Virtual time and global states of distributed systems. In M. Cosnard, editor, Proc. Parallel and Distributed Algorithms, 1988.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Minas, M. (1995). Detecting quantified global predicates in parallel programs. In: Haridi, S., Ali, K., Magnusson, P. (eds) EURO-PAR '95 Parallel Processing. Euro-Par 1995. Lecture Notes in Computer Science, vol 966. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0020481
Download citation
DOI: https://doi.org/10.1007/BFb0020481
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60247-7
Online ISBN: 978-3-540-44769-6
eBook Packages: Springer Book Archive