Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming Models - Salwa Saad; Etimad Fadel; Ohoud Alzamzami; Fathy Eassa; Ahmed Mohammed Alghamdi (IEEE Access)
The recent surge in high-performance computing (HPC) demands, particularly with the advent of Exascale supercomputers, has highlighted the need for robust parallel systems. Achieving such systems involves not only advancements in hardware but also the integration of multiple programming models to maximize computational efficiency. The dual programming model that combines the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) is a common approach to enhance parallelism. However, the reliability of these concurrent systems remains a critical concern due to runtime errors, such as deadlocks and race conditions, that are often undetectable by compilers. This paper introduces a novel testing tool that leverages linear temporal logic (LTL) properties to detect runtime errors in hybrid MPI and OpenMP applications. Our tool dynamically tests applications, running in parallel with application threads to ensure portability across different architectures while maintaining an execution overhead of less than 36.94%. By focusing on runtime errors resulting from the integration of MPI and OpenMP, our tool effectively detects deadlocks and race conditions, enhancing system reliability. We provide an implementation and an initial evaluation of the tool, which demonstrates its capability to uncover runtime errors specific to hybrid MPI and OpenMP applications.