Design and Implementation of a Message Passing Interface (MPI) Dynamic Error Detection System

International Journal of Advanced Trends in Computer Science and Engineering · 2020

This paper presents the design and implementation of Message Passing Interface (MPI) -Dynamic Error Detection mechanisms contributing to the early detection of some scenarios of errors during static analysis by defining a novel representation of the target application based on stack structures.The representation is an extension of the one used by the clang compiler.This fine-grained representation allows for analyzing the flow of concurrent messages being exchanged, which is important for deadlock errors and race conditions detection.We detect these kinds of errors in point-to-point and collective communication.In a broader context, this paper aims to improve the performance of error detection in MPI applications by integrating static analysis and dynamic analysis, where potential problematic constructs that are reported by the static part of our tool are further checked during program execution.Hence, we focus our analysis to consider only the highlighted paths, to be able to reduce time overhead of dynamic analysis.Several mini-programs are selected from a benchmark that contain examples of the errors identified by our work.These mini programs are then tested by our tool.The experimental results show that our tool is capable of finding deadlocks and race conditions.

Read the paper · More papers on PaperTik