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 条
  • [21] Low-Effort Specification Debugging and Analysis
    Ehlers, Rudiger
    Raman, Vasumathi
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (157): : 117 - 133
  • [22] Replay Debugging: Leveraging Record and Replay for Program Debugging
    Honarmand, Nima
    Torrellas, Josep
    2014 ACM/IEEE 41ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), 2014, : 445 - 456
  • [23] AN INTEGRATED APPROACH TO PARALLEL PROGRAM DEBUGGING AND PERFORMANCE ANALYSIS ON LARGE-SCALE MULTIPROCESSORS
    FOWLER, RJ
    LEBLANC, TJ
    MELLORCRUMMEY, JM
    SIGPLAN NOTICES, 1989, 24 (01): : 163 - 173
  • [24] DEBUGGING PARALLEL STRAND PROGRAMS
    GITTINS, M
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 569 : 1 - 16
  • [25] DEBUGGING OF HETEROGENEOUS PARALLEL SYSTEMS
    FORIN, A
    SIGPLAN NOTICES, 1989, 24 (01): : 130 - 140
  • [26] An approach to transforming parallel function specification into Java']Java program framework
    Li, T
    Yang, HJ
    Xu, BW
    Shi, L
    SERP '05: PROCEEDINGS OF THE 2005 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH AND PRACTICE, VOLS 1 AND 2, 2005, : 517 - 523
  • [27] MODELING CONCURRENCY IN PARALLEL DEBUGGING
    HSEUSH, W
    KAISER, GE
    SIGPLAN NOTICES, 1990, 25 (03): : 11 - 20
  • [28] DEBUGGING TECHNIQUES FOR PARALLEL PROGRAMS
    LEU, E
    SCHIPER, A
    TSI-TECHNIQUE ET SCIENCE INFORMATIQUES, 1991, 10 (01): : 5 - 21
  • [29] Parallel debugging: An investigative study
    Zakari, Abubakar
    Lee, Sai Peck
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2019, 31 (11)
  • [30] PARTIAL ORDERS FOR PARALLEL DEBUGGING
    FIDGE, CJ
    SIGPLAN NOTICES, 1989, 24 (01): : 183 - 194