Publication Details
Handling C++ Exceptions in MPI Applications
MPI, C++ Exceptions, Error Reporting.
Handling error states in C++ applications is managed by exceptions. In
distributed applications, it is necessary to inform the other processes, that
something wrong happened, and the application should either recover from the
faulty state, or report the error and terminate gracefully. Unfortunately, the
MPI standard does not provide any support for distributed error handling. This
poster presents a new approach for exceptions handling in MPI applications. The
goals are to (1) report any faulty state to the user in a nicely formatted way by
just a single rank, (2) ensure the application will never deadlock, (3) propose
a simple interface and ensure interoperability with other C/C++ libraries. The
code was tested with several injected errors into multiple ranks such as non
existing input file, disk quota exceeded, wrong rank in the MPI call, and
standard system exceptions. In all situations the code has worked properly.
@misc{BUT175836,
author="Jiří {Jaroš}",
title="Handling C++ Exceptions in MPI Applications",
booktitle="The International Conference for High Performance Computing, Networking, Storage, and Analysis",
year="2021",
pages="2",
address="St. Louis, MO, USA",
url="https://sc21.supercomputing.org/proceedings/tech_poster/tech_poster_pages/rpost142.html",
note="presentation, poster"
}