Abstract
Event visualization tools are commonly used to facilitate the debugging of parallel or distributed applications, but they are insufficient for full debugging purposes. The need for traditional debugging operations, such as single stepping, is often overlooked in these tools. When integrating such operations, the issue of concurrency needs to be addressed. This paper justifies and describes three single-stepping operations that we found suitable for partially-ordered executions: global-step, step-over and step-in. The description of these operations is based on a sound theoretical framework. This framework can serve as a basis to extend the operations to deal with specific properties of event visualization tools. For example, abstraction techniques are often used to reduce the overwhelming amount of detail presented to the user when visualizing non-trivial executions. These abstraction operations introduce additional problems for single stepping. The paper discusses the problems induced by two different abstraction operations in the context of a specific event visualization tool, Poet, and describes how the single-stepping operations are adapted to deal with these problems.
Similar content being viewed by others
References
T. Basten, T. Kunz, J.P. Black, M.H. Coffin and D.J. Taylor, Vector time and causality among abstract events in distributed computations, Distributed Computing (November 1997) 21-39.
K.M. Chandy and L. Lamport, Distributed snapshots: Determining global states of distributed systems, ACM Transactions on Computer Systems 3(1) (February 1985) 63-75.
S.G. Eick and A. Ward, An interactive visualization for message sequence charts, in: Proceedings of the 4th Workshop on Program Comprehension, Berlin, Germany (March 1996) pp. 2-8.
C.J. Fidge, Logical time in distributed computing systems, IEEE Computer 14(8) (August 1991) 28-33.
A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek and V. Sunderam, PVM: Parallel Virtual Machine. A User's Guide and T. Kunz, M. Khouzam / Concurrent single stepping 243 Tutorial for Networked Parallel Computing (MIT Press, Cambridge, MA, 1994).
M.T. Heath and J.A. Etheridge, Visualizing the performance of parallel programs, IEEE Software 8(5) (September 1991) 29-39.
L. Hicks and F. Berman, Debugging heterogeneous applications with Pangaea, in: Proceedings of SPDT'96: SIGMETRICS Symposium on Parallel and Distributed Tools, Philadelphia, PA (May 1996) pp. 41-50.
P. Iglinski, N. Kazouris, S. MacDonald, D. Novillo, I. Parsons, J. Schaeffer, D. Szafron and D. Woloschuk, Using a template-based parallel programming environment to eliminate errors, in: Proceedings of the 10th Annual International Symposium on High-Performance Computing Systems and Applications, Ottawa, Ontario, Canada (June 1996).
J.A. Kohl and G.A. Geist, The PVM 3.4 tracing facility and XPVM 1.1, Technical report, Computer Science & Mathematic Division, Oak Ridge National Laboratory, Oak Ridge, TN (1995).
E. Kraemer and J.T. Stasko, Creating an accurate portrayal of concurrent executions, IEEE Concurrency 6(1) (1998) 36-46.
D. Kranzlmüller, S. Grabner and J. Volkert, Event graph visualization for debugging large applications, in: Proceedings of SPDT'96: SIGMETRICS Symposium on Parallel and Distributed Tools, Philadelphia, PA (May 1996) pp. 108-117.
T. Kunz, Reverse engineering distributed applications: an event abstraction tool, International Journal of Software Engineering and Knowledge Engineering 4(3) (1994) 303-323.
T. Kunz, J.P. Black, D.J. Taylor and T. Basten, Poet: Target-systemin-dependent visualizations of complex distributed-application executions, Computer Journal 40(8) (February 1998) 499-512.
L. Lamport, Time, clocks, and the ordering of events in a distributed system, Communications of the ACM 21 (1978) 558-565.
T.J. LeBlanc and J.M. Mellor-Crummey, Debugging parallel programs with instant replay, IEEE Transactions on Computers 36(4) (April 1987) 471-482.
R. Schwarz and F. Mattern, Detecting causal relationships in distributed computations: In search of the holy grail, Distributed Computing 7 (September 1994) 149-174.
D. Zernik, M. Snir and D. Malki, Using visualization tools to understand concurrency, IEEE Software 9(3) (1992) 87-92.
Rights and permissions
About this article
Cite this article
Kunz, T., Khouzam, M. Concurrent single stepping in event‐visualization tools. Cluster Computing 3, 231–243 (2000). https://doi.org/10.1023/A:1019092506798
Issue Date:
DOI: https://doi.org/10.1023/A:1019092506798