Advanced Memory Checking for MPI Parallel Applications Using MemPin
Shiqing Fan (),
Rainer Keller and
Michael Resch
Additional contact information
Shiqing Fan: University of Stuttgart, High Performance Computing Center Stuttgart (HLRS)
Rainer Keller: Hochschule für Technik Stuttgart
Michael Resch: University of Stuttgart, High Performance Computing Center Stuttgart (HLRS)
A chapter in Tools for High Performance Computing 2012, 2013, pp 39-53 from Springer
Abstract:
Abstract In this paper, we describe the implementation of memory checking functionality that is based on instrumentation tools. The combination of instrumentation based checking functions and the MPI-implementation offers superior debugging functionalities, for errors that otherwise are not possible to detect with comparable MPI-debugging tools. Our implementation contains three parts: first, a memory callback extension that is implemented on top of the ValgrindMemcheck tool for advanced memory checking in parallel applications; second, a new instrumentation tool was developed based on the Intel Pin framework, which provides similar functionality as Memcheck. It can be used in Windows environments that have no access to the Valgrind suite; third, all the checking functionalities are integrated as the so-called memchecker framework within Open MPI. This will also allow other memory debuggers that offer a similar API to be integrated. The tight control of the user’s memory passed to Open MPI, allows us to detect application errors and to track bugs within Open MPI itself. The extension of the callback mechanism targets communication buffer checks in both pre- and post-communication phases, in order to analyze the usage of the received data, e.g. whether the received data has been overwritten before it is used in an computation or whether the data is never used. We describe our actual checks, how memory buffers are being handled internally, show errors actually found in user’s code, and the performance improvement of our instrumentation.
Keywords: Memory Checking; MemPin; Memcheck; Valgrind; Communication Buffers (search for similar items in EconPapers)
Date: 2013
References: Add references at CitEc
Citations:
There are no downloads for this item, see the EconPapers FAQ for hints about obtaining it.
Related works:
This item may be available elsewhere in EconPapers: Search for items with the same title.
Export reference: BibTeX
RIS (EndNote, ProCite, RefMan)
HTML/Text
Persistent link: https://EconPapers.repec.org/RePEc:spr:sprchp:978-3-642-37349-7_4
Ordering information: This item can be ordered from
http://www.springer.com/9783642373497
DOI: 10.1007/978-3-642-37349-7_4
Access Statistics for this chapter
More chapters in Springer Books from Springer
Bibliographic data for series maintained by Sonal Shukla () and Springer Nature Abstracting and Indexing ().