A Reversible Debugger for MPI Applications

Cluster machines are gaining importance, for example in high-performance computing and eScience. For this, programs need to be parallelized and run with appropriate tools, typically MPI (Message Passing Interface) in a scientific context. Since writing programs for parallel computation is significantly more difficult than programming for sequential execution, debugging tools, which are considered a necessary part of the toolset of software developers, are of even higher importance there. Reversibility, providing the ability to progress backwards in the program execution in some form, has been added to some debuggers and is a useful feature for debugging MPI applications as well. This paper presents a debugger for MPI applications which offers reversible debugging commands. This is done using a checkpoint-restore mechanism. We demonstrate the viability of this approach to enable reversible debugging for parallel computation.

Authors

Institutions

Publication Details

Published
2024-09-13
DOI
https://doi.org/10.1145/3678720.3685316
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A Reversible Debugger for MPI Applications

Stefan Kühn, Eero Vainikko, Mihkel Tiks, Ott-Kaarel Martens
Parallel Computing and Optimization Techniques
article

A Reversible Debugger for MPI Applications

Stefan Kühn, Eero Vainikko, Mihkel Tiks, Ott-Kaarel Martens
article en

Abstract

Cluster machines are gaining importance, for example in high-performance computing and eScience. For this, programs need to be parallelized and run with appropriate tools, typically MPI (Message Passing Interface) in a scientific context. Since writing programs for parallel computation is significantly more difficult than programming for sequential execution, debugging tools, which are considered a necessary part of the toolset of software developers, are of even higher importance there. Reversibility, providing the ability to progress backwards in the program execution in some form, has been added to some debuggers and is a useful feature for debugging MPI applications as well. This paper presents a debugger for MPI applications which offers reversible debugging commands. This is done using a checkpoint-restore mechanism. We demonstrate the viability of this approach to enable reversible debugging for parallel computation.

University of Tartu (EE)
Openalex Percentile: Top 85%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.