Skip to main content

Control and data flow analysis for parallel program debugging

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1215))

Abstract

Parallel program analysis for error detection requires support of mighty tools. Another demand to these tools is usability. The monitoring and debugging environment MAD provides a solution for the domain of distributed memory computers. It consists of several modules which can be applied to improve the reliability of programs for message passing systems.

Following the monitoring of an initial execution, the user can inspect a visual representation of the program flow, the event graph. Detection of simple errors and race conditions is possible. Through control and data flow analysis the origin for faulty behavior can be located. Based on a graphical representation the user is directed from the occurrence of the error to the line of code responsible for this behavior.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. K. Aggarwal, P. Chillakanti, “Software for parallel computing — a perspective”, in: A. Y. Zomaya (Ed.), “Parallel Computing: Paradigms and Applications”, Intl. Thomson Computer Press, London, pp. 376–393 (1996).

    Google Scholar 

  2. J.-D. Choi, S.L. Min, “RACE FRONTIER: Reproducing Data Races in Parallel-Program Debugging”, Proc. 3rd ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming PPOPP, Williamsburg, Virginia, pp. 145–154 (April 1991).

    Google Scholar 

  3. C.J. Fidge, “Partial orders for parallel debugging”, Proc. of Workshop on Parallel and Distributed Debugging, ACM, pp. 183–194 (1988).

    Google Scholar 

  4. J. Gait, “A Probe Effect in Concurrent Programs”, IEEE Software — Practise and Experience, Vol. 16(3), pp. 225–233 (March 1986).

    Google Scholar 

  5. S. Grabner, D. Kranzlmüller, J. Volkert, “Debugging Parallel Programs using ATEMPT”, Proc. HPCN Europe 95 Conference, Milano, Italy, pp. 235–240 (May 1995).

    Google Scholar 

  6. S. Grabner, D. Kranzlmüller, J. Volkert, “Debugging of Concurrent Processes”, Proc. 3rd Euromicro PDP Workshop, Sanremo, Italy, pp. 547–554 (Jan. 1995).

    Google Scholar 

  7. S. Grabner, D. Kranzlmüller, “A Comparison of Monitoring Strategies for Distributed Memory Computers”, Proc. of CONPAR 94-VAPP VI, Linz, Austria, pp. 66–75 (Sept. 1994).

    Google Scholar 

  8. S. Grabner, J. Volkert, “Debugging Parallel Programs using Event Graph Manipulation”, VECPAR 93 Conference, in: Computing Systems in Engineering, Elsevier, Vol. 6, Nos. 4/5, pp. 443–450 (1995).

    Google Scholar 

  9. S. Grabner, J. Volkert, “Debugging Distributed Memory Programs Using Communication Graph Manipulation”, Proc. of HPCS 96 Conference, Montreal, Canada (June 1996)

    Google Scholar 

  10. A. Hondroudakis, “Performance Analysis Tools for Parallel Programs”, Version 1.0.1, Edinburgh Parallel Computing Centre, The University of Edinburgh, available at: http://www.epcc.ed.ac.uk/epcc-tec/documentsiitml (July 1995).

    Google Scholar 

  11. M. T. Heath, J. A. Etheridge, “ParaGraph: A Tool for Visualizing Performance of Parallel Programs”, Technical Report Oak Ridge National Laboratories (1993).

    Google Scholar 

  12. R. Hood, “The p2d2 Project: Building a Portable Distributed Debugger”, Proc. SIGMETRICS Symposium on Parallel and Distributed Tools, SPDT 96, Philadelphia, PA, pp. 127–136 (May 1996).

    Google Scholar 

  13. M. Kamkar, P. Krajina, P. Fritzson, “Dynamic Slicing of Parallel Message-Passing Programs”, Proc. 4th Euromicro PDP Workshop, Braga, Portugal, pp. 170–177 (Jan. 1996).

    Google Scholar 

  14. D. Kranzlmüller, S. Grabner, J. Volkert, “Race Condition Detection with the MAD Environment”, Proc. of PART'95, Second Australasian Conference on Parallel and Real-Time Systems, Fremantle, Western Australia (Sept. 1995).

    Google Scholar 

  15. D. Kranzlmüller, R. Koppler, Ch. Holzner, S. Grabner, J. Volkert, “Parallel Program Visualization with MUCH”, ACPC'96, Klagenfurt, Austria, (Sept. 1996).

    Google Scholar 

  16. E. Leu, A. Schiper, A. Zramdini, “Execution Replay on Distributed Memory Architectures”, Proc. of 2nd IEEE Symp. on Parallel & Distr. Processing, Dallas, TX, pp. 106–112 (Dec. 1990).

    Google Scholar 

  17. Message Passing Interface Forum, “MPI Standard Version 1.1”, at ftp://ftp.mcs.anl.gov/pub/mpi/mpi-1. jun95/mpi-report.ps, (June 1995).

    Google Scholar 

  18. B.P. Miller, J.K. Hollingsworth, M.D. Callaghan, “The Paradyn Parallel Performance Measurement Tools and PVM”, in: J. Dongarra, B. Tourancheau (Eds.), “Environments and Tools for Parallel Scientific Computing”, SIAM Press (1994).

    Google Scholar 

  19. B.P. Miller, J.-D. Choi, “A Mechanism for Efficient Debugging of Parallel Programs”, Proc. of the SIGPLAN/SIGOPS Workshop on Parallel & Distr. Debugging, Madison, Wisconsin, pp. 141–150 (May 1988).

    Google Scholar 

  20. R.H.B. Netzer, B.P. Miller, “What are Race Conditions? — Some Issues and Formalizations”, ACM Letters on Progr. Languages and Systems, Vol. 1(1) (1992).

    Google Scholar 

  21. C. M. Pancake, “Visualization techniques for parallel debugging and performance-tuning tools”, in: A. Y. Zomaya (Ed.), “Parallel Computing: Paradigms and Applications”, Intl. Thomson Computer Press, London, pp. 376–393 (1996).

    Google Scholar 

  22. CM. Pancake, R.H.B. Netzer, “A Bibliography of Parallel Debuggers, 1993 Edition”, Proc. of the ACM/ONR Workshop on Parallel and Distributed Debugging, San Diego, pp. 169–186 (May 1993).

    Google Scholar 

  23. A. Weinand, E. Gamma, R. Marty, “ET++ — An Object Oriented Application Framework in C++”, OOPSLA'88 Conference Proceedings, SIGPLANNotices, Vol. 23 (11), San Diego, pp. 168–182 (Sept. 1988).

    Google Scholar 

  24. M. Weiser, “Program Slicing”, IEEE Transactions on Software Engineering, Vol. SE-10, No. 4, pp. 352–357 (July 1984).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

José M. L. M. Palma Jack Dongarra

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kranzlmüller, D., Christanell, A., Grabner, S., Volkert, J. (1997). Control and data flow analysis for parallel program debugging. In: Palma, J.M.L.M., Dongarra, J. (eds) Vector and Parallel Processing — VECPAR'96. VECPAR 1996. Lecture Notes in Computer Science, vol 1215. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62828-2_114

Download citation

  • DOI: https://doi.org/10.1007/3-540-62828-2_114

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62828-6

  • Online ISBN: 978-3-540-68699-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics