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 条
  • [41] Special issue on program debugging
    Sudipto Ghosh
    J. Jenny Li
    Software Quality Journal, 2017, 25 : 3 - 5
  • [42] Focus section on program debugging
    Tse, T. H.
    SOFTWARE-PRACTICE & EXPERIENCE, 2013, 43 (08): : 969 - 970
  • [43] A knowledge base for program debugging
    Tubaishat, A
    ACS/IEEE INTERNATIONAL CONFERENCE ON COMPUTER SYSTEMS AND APPLICATIONS, PROCEEDINGS, 2001, : 321 - 327
  • [44] Abstracting Parallel Program Specification: a Case Study on k-Means Clustering
    Hommelberg, Anne
    Rietveld, Kristian F. D.
    Wijshoff, Harry A. G.
    CF '19 - PROCEEDINGS OF THE 16TH ACM INTERNATIONAL CONFERENCE ON COMPUTING FRONTIERS, 2019, : 279 - 282
  • [45] Synchronization Debugging of Hybrid Parallel Programs
    Krzikalla, Olaf
    Mueller-Pfefferkorn, Ralph
    Nagel, Wolfgang E.
    EURO-PAR 2016: PARALLEL PROCESSING, 2016, 9833 : 37 - 50
  • [46] VISUAL PROGRAMMING AND DEBUGGING FOR PARALLEL COMPUTING
    BROWNE, JC
    HYDER, SI
    DONGARRA, J
    MOORE, K
    NEWTON, P
    IEEE PARALLEL & DISTRIBUTED TECHNOLOGY, 1995, 3 (01): : 75 - 83
  • [47] Keynote: Assertion Based Parallel Debugging
    Abramson, David
    ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, PT I: ICA3PP 2011, 2011, 7916 : 1 - 1
  • [48] Reversible Imperative Parallel Programs and Debugging
    Hoey, James
    Ulidowski, Irek
    REVERSIBLE COMPUTATION (RC 2019), 2019, 11497 : 108 - 127
  • [49] DEBUGGING PARALLEL PROGRAMS WITH INSTANT REPLAY
    LEBLANC, TJ
    MELLORCRUMMEY, JM
    IEEE TRANSACTIONS ON COMPUTERS, 1987, 36 (04) : 471 - 482
  • [50] A Scalable Prescriptive Parallel Debugging Model
    Jensen, Nicklas Bo
    Nielsen, Niklas Quarfot
    Lee, Gregory L.
    Karlsson, Sven
    Legendre, Matthew
    Schulz, Martin
    Ahn, Dong H.
    2015 IEEE 29TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2015, : 473 - 483