Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming Models

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 ma...

Full description

Saved in:
Bibliographic Details
Main Authors: Salwa Saad, Etimad Fadel, Ohoud Alzamzami, Fathy Eassa, Ahmed Mohammed Alghamdi
Format: Article
Language:English
Published: IEEE 2025-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/10820335/
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1841550788750475264
author Salwa Saad
Etimad Fadel
Ohoud Alzamzami
Fathy Eassa
Ahmed Mohammed Alghamdi
author_facet Salwa Saad
Etimad Fadel
Ohoud Alzamzami
Fathy Eassa
Ahmed Mohammed Alghamdi
author_sort Salwa Saad
collection DOAJ
description 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.
format Article
id doaj-art-a52922994457450e8ba9928b5e47c122
institution Kabale University
issn 2169-3536
language English
publishDate 2025-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj-art-a52922994457450e8ba9928b5e47c1222025-01-10T00:01:13ZengIEEEIEEE Access2169-35362025-01-01134171418710.1109/ACCESS.2025.352557810820335Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming ModelsSalwa Saad0https://orcid.org/0009-0003-6642-6514Etimad Fadel1https://orcid.org/0000-0002-7204-9474Ohoud Alzamzami2Fathy Eassa3https://orcid.org/0000-0003-3987-9051Ahmed Mohammed Alghamdi4https://orcid.org/0000-0001-7644-5039Department of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Software Engineering, College of Computer Science and Engineering, University of Jeddah, Jeddah, Saudi ArabiaThe 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.https://ieeexplore.ieee.org/document/10820335/Dual-level programming modelslinear temporal logicMPIOpenMPparallel computingruntime errors
spellingShingle Salwa Saad
Etimad Fadel
Ohoud Alzamzami
Fathy Eassa
Ahmed Mohammed Alghamdi
Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming Models
IEEE Access
Dual-level programming models
linear temporal logic
MPI
OpenMP
parallel computing
runtime errors
title Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming Models
title_full Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming Models
title_fullStr Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming Models
title_full_unstemmed Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming Models
title_short Temporal-Logic-Based Testing Tool for Programs Using the Message Passing Interface (MPI) and Open Multi-Processing (OpenMP) Programming Models
title_sort temporal logic based testing tool for programs using the message passing interface mpi and open multi processing openmp programming models
topic Dual-level programming models
linear temporal logic
MPI
OpenMP
parallel computing
runtime errors
url https://ieeexplore.ieee.org/document/10820335/
work_keys_str_mv AT salwasaad temporallogicbasedtestingtoolforprogramsusingthemessagepassinginterfacempiandopenmultiprocessingopenmpprogrammingmodels
AT etimadfadel temporallogicbasedtestingtoolforprogramsusingthemessagepassinginterfacempiandopenmultiprocessingopenmpprogrammingmodels
AT ohoudalzamzami temporallogicbasedtestingtoolforprogramsusingthemessagepassinginterfacempiandopenmultiprocessingopenmpprogrammingmodels
AT fathyeassa temporallogicbasedtestingtoolforprogramsusingthemessagepassinginterfacempiandopenmultiprocessingopenmpprogrammingmodels
AT ahmedmohammedalghamdi temporallogicbasedtestingtoolforprogramsusingthemessagepassinginterfacempiandopenmultiprocessingopenmpprogrammingmodels