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...
Saved in:
Main Authors: | , , , , |
---|---|
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 |