Parallel program debugging by specification

被引:0
|
作者
Huband, S [1 ]
McDonald, C [1 ]
机构
[1] Univ Western Australia, Sch Comp Sci & Software Engn, Crawley, WA 6009, Australia
来源
关键词
Message Passing Interface (MPI); debugging; process topologies; conformance testing;
D O I
10.1002/cpe.762
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Most message passing parallel programs employ logical process topologies with regular characteristics to support their computation. Since process topologies define the relationship between processes, they present an excellent opportunity for debugging. The primary benefit is that process behaviours can be correlated, allowing expected behaviour to be abstracted and identified, and undesirable behaviour reported. However, topology support is inadequate in most message passing parallel programming environments, including the popular Message Passing Interface (MPI) and the Parallel Virtual Machine (PVM). Programmers are forced to implement topology support themselves, increasing the possibility of introducing errors. This paper proposes a trace- and topology-based approach to parallel program debugging, driven by four distinct types of specifications. Trace specifications allow trace data from a variety of sources and message passing libraries to be interpreted in an abstract manner, and topology specifications address the lack of explicit topology knowledge, whilst also facilitating the construction of user-consistent views of the debugging activity. Loop specifications express topology-consistent patterns of expected trace events, allowing conformance testing of associated trace data, and error specifications specify undesirable event interactions, including mismatched message sizes and mismatched communication pairs. Both loop and error specifications are simplified by having knowledge of the actual topologies being debugged. The proposed debugging framework enables a wealth of potential debugging views and techniques. Copyright (C) 2004 John Wiley Sons, Ltd.
引用
收藏
页码:551 / 585
页数:35
相关论文
共 50 条
  • [1] PARALLEL PROGRAM DEBUGGING
    LEBLANC, TJ
    PROCEEDINGS : THE THIRTEENTH ANNUAL INTERNATIONAL COMPUTER SOFTWARE & APPLICATIONS CONFERENCE, 1989, : 65 - 66
  • [2] PROGRAM DEBUGGING FOR PARALLEL PROCESSING
    SELL, RP
    COMMUNICATIONS OF THE ACM, 1960, 3 (07) : 398 - 398
  • [3] Array visualization for parallel program debugging
    Kranzlmüller, D
    Schaubschläger, C
    Volkert, J
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 2615 - 2621
  • [4] A USER INTERFACE SPECIFICATION FOR A PROGRAM DEBUGGING AND MEASURING ENVIRONMENT
    LOPRIORE, L
    SOFTWARE-PRACTICE & EXPERIENCE, 1989, 19 (05): : 437 - 460
  • [5] Parallel program debugging: Interface design and implementation
    Stringhini, D
    Navaux, POA
    2004 IEEE INTERNATIONAL SYMPOSIUM ON CLUSTER COMPUTING AND THE GRID - CCGRID 2004, 2004, : 43 - 50
  • [6] Parallel program debugging with MAD -: A practical approach
    Kranzlmüller, D
    Rimnac, A
    COMPUTATIONAL SCIENCE - ICCS 2003, PT IV, PROCEEDINGS, 2003, 2660 : 201 - 210
  • [7] Control and data flow analysis for parallel program debugging
    Kranzlmuller, D
    Christanell, A
    Grabner, S
    Volkert, J
    VECTOR AND PARALLEL PROCESSING - VECPAR'96, 1997, 1215 : 81 - 95
  • [8] MAD -: A top down approach to parallel program debugging
    Kranzlmüller, D
    Hügl, R
    Volkert, J
    HIGH-PERFORMANCE COMPUTING AND NETWORKING, PROCEEDINGS, 1999, 1593 : 1207 - 1210
  • [9] Using checkpointing for fault tolerance and parallel program debugging
    Thoai, N
    Kranzlmüller, D
    Volkert, J
    PROCEEDINGS OF THE IASTED INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING AND NETWORKS, 2004, : 496 - 501
  • [10] Using different levels of abstraction for parallel program debugging
    Kranzlmuller, D
    Volkert, J
    INTELLIGENT INFORMATION SYSTEMS, (IIS'97) PROCEEDINGS, 1997, : 523 - 529