zbMATH — the first resource for mathematics

SPiDER - An advanced symbolic debugger for Fortran 90/HPF programs. (English) Zbl 1003.68028
Summary: Debuggers play an important role in developing parallel applications. They are used to control the state of many processes, to present distributed information in a concise and clear way, to observe the execution behavior, and to detect and locate programming errors. More sophisticated debugging systems also try to improve understanding of global execution behavior and intricate details of a program. In this paper we describe the design and implementation of SPiDER, which is an interactive source-level debugging system for both regular and irregular High-Performance Fortran (HPF) programs. SPiDER combines a base debugging system for message-passing programs with a high-level debugger that interfaces with an HPF compiler. SPiDER, in addition to conventional debugging functionality, allows a single process of a parallel program to be expected or the entire program to be examined from a global point of view. A sophisticated visualization system has been developed and included in SPiDER to visualize data distributions, data-to-processor mapping relationships, and array values. SPiDER enables a programmer to dynamically change data distributions as well as array values. For arrays whose distribution can change during program execution, an animated replay displays the distribution sequence together with the associated source code location. Array values can be stored at individual execution points and compared against each other to examine execution behavior (e.g. convergence behavior of a numerical algorithm). Finally, SPiDER also offers limited support to evaluate the performance of parallel programs through a graphical load diagram. SPiDER has been fully implemented and is currently being used for the development of various real-world applications. Several experiments are presented that demonstrate the usefulness of SPiDER.
68N20 Theory of compilers and interpreters
68N19 Other programming paradigms (object-oriented, sequential, concurrent, automatic, etc.)
68N15 Theory of programming languages
Full Text: DOI
[1] Oberhuber, Parallel Programming and Applications pp 170– (1995)
[2] Bubak, Lecture Notes in Computer Science, in: Proceedings of the International Conference on High Performance Computing and Networking pp 1274– (1999) · doi:10.1007/BFb0100707
[3] Bubak, Proceedings of the 7th International Conference, HPCN Europe 1999 pp 1278– (1999)
[4] Benkner, VFC: The Vienna Fortran Compiler, Scientific Programming 7 (1) pp 67– (1999) · doi:10.1155/1999/304639
[5] Koppler, Visualization of distributed data structures for HPF-like languages, Scientific Programming (Special Issue on High Performance Fortran Comes of Age) 6 (1) pp 115– (1997)
[6] Dockner E Moritsch H Pricing constant maturity floaters with embedded options using Monte Carlo simulation AURORA Technical Report AuR_99-04 1999
[7] Blaha P Schwarz K Luitz J WIEN97, full-potential, linearized augmented plane wave package for calculating crystal properties 1997
[8] Benkner, Proceedings of HPCN 98 (1998)
[9] Brezany, Proceedings of SC’99 (1999)
[10] Wismüller, Proceedings of the 2nd SIGMETRICS Symposium on Parallel and Distributed Tools SPDT’98 (1998)
[11] Koppler R Grabner S Volker J Design and visualization of irregular data distributions Technical Report Deliverable D1V-3 1995
[12] Ludwig, LRR-TUM Research Report Series, in: OMIS-On-Line Monitoring Interface Specification Version 2.0 (1997)
[13] The Portland Group, Wilsonville, Oregon PGHPF High Performance Fortran Manual 1998 http://www.pgroup.com
[14] Gamma, Objektorientierte Software-Entwicklung mit ET++ (1992) · doi:10.1007/978-3-642-77838-4
[15] Message Passing Interface Forum MPI-2: Extensions to the Message-Passing Interface 1997
[16] Fahringer T Blaha P Hössinger A Luitz J Mehofer E Moritsch H Scholz B Development and performance analysis of real-world applications for distributed and parallel architecture AURORA Technical Report TR1999-16 1999 http://www.vcpc.univie.ac.at/aurora/publications/ · Zbl 0971.68527
[17] Vetterling, Numerical Recipes: Example Book (FORTRAN) (1990)
[18] Hull, Options, Futures, and Other Derivatives (1997)
[19] Boyle, Monte Carlo methods for security pricing, Journal of Economic Dynamics and Control 21 pp 1267– (1997) · Zbl 0901.90007 · doi:10.1016/S0165-1889(97)00028-6
[20] Hutchinson, Financial simulations on a massively parallel connection machine, The International Journal of Supercomputer Applications 5 (2) pp 27– (1991)
[21] Hull, One factor interest rate models and the valuation of interest rate derivative securities, Journal of Financial and Quantitative Analysis 28 pp 235– (1993) · doi:10.2307/2331288
[22] Schwarz, Description of an LAPW DF program (Wien95), Lecture Notes in Chemistry 67 pp 139– (1996) · doi:10.1007/978-3-642-61478-1_9
[23] High Performance Fortran Forum, High Performance Fortran language specification, Scientific Programming 2 (1-2) pp 1– (1993)
[24] LaFrance-Linden, Challenges in designing an HPF debugger, DIGITAL Technical Journal 9 (3) pp 50– (1997)
[25] Clémençon C Fritscher J Rühl R Visualization, execution control and replay of massively parallel programs within Annai’s debugging tool Technical Report TR-94-11 1994
[26] Etnus LLC TotalView User’s Guide 2001
[27] A Sun Microsystems, Inc. Business Prism 5.0 User’s Guide 1997
[28] Sistare, Proceedings of the SC99 Conference (1999)
[29] Lefebvre C Dekeyser J-L Visualisation of HPF data mappings and of their communication cost Proceedings of VECPAR’98 1998
[30] Hackstadt, DAQV: Distributed array query and visualization framework, Theoretical Computer Science 196 (1-2) pp 289– (1998) · Zbl 0902.68036 · doi:10.1016/S0304-3975(97)00205-3
[31] Geist, CUMULVS: Providing fault-tolerance, visualization and steering of parallel applications, International Journal of High Performance Computing Applications 11 (3) pp 224– (1997) · doi:10.1177/109434209701100305
[32] Hood R Jost G A debugger for heterogenous grid applications Proceedings of the 9th Heterogeneous Computing Workshop 2000
[33] Bubak M Funika W Zbik D van Albada D Iskra K Sloot P Wismüller R Sowa-Piekło K Performance measurement, debugging and load balancing for metacomputing Proceedings of ISThum 2000-Research and Development for the Information Society 2000 409 418
[34] Bubak, Lecture Notes in Computer Science, in: Proceedings of the International Conference on High Performance Computing and Networking pp 415– (2001) · doi:10.1007/3-540-48228-8_42
[35] Bubak, PIONIER 2001, Conference Proceedings pp 149– (2001)
[36] Fahringer, Proceedings of the IEEE International Conference on Cluster Computing (CLUSTER 2000) (2000)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.