Program-Analysis-Based Race Digger for Improving the Reliability of High-Performance Applications

High-performance applications commonly utilize OpenMP, which supports shared-memory-based multi-processing programming. Unlike sequential programs, they are exposed to various programming errors owing to the different paradigms in executing parallel programs. One of these errors, the data race, is dependent on the sequence (timing) of other events or the execution flow of programs; therefore, it is not easy to detect. Although ample efforts have been made to build data-race detection techniques and tools, even state-of-the-art tools such as Intel Inspector still have functionality and performance issues. In this paper, we devise <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PCSP</i> and <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">AMSP</i> , self-developed synthetic programs written in OpenMP directives to thoroughly examine these issues and have refined the problems of Intel Inspector through these programs. To resolve these problems, we propose a program analysis-based race digger (PARD). The race digger consists of a <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">program analyzer, source instrumentor, adaptive on-the-fly race detector</i> , and <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">race analyzer</i> . It passes through three phases to detect data races and finally provides the root causes of detected races using a race analyzer. We demonstrate the functionality and performance advantages of PARD over Intel Inspector. Regarding functionality, experimental results show that while Intel Inspector can only verify data races in the simple model, PARD verifies data races in both simple and complex models; The results show that PARD’s data-race detection time is better than that of Intel Inspector by MIN 99.04% ~ MAX 99.89% in single-process systems and MIN 98.77% ~ MAX 99.68% in multi-process systems.

Authors

Institutions

Publication Details

Journal
IEEE Access
Published
2025-01-01
DOI
https://doi.org/10.1109/access.2025.3527567
Primary Topic
Real-time simulation and control systems
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Program-Analysis-Based Race Digger for Improving the Reliability of High-Performance Applications

Young-Joo Kim
1 links
IEEE Access
Real-time simulation and control systems
article

Program-Analysis-Based Race Digger for Improving the Reliability of High-Performance Applications

Young-Joo Kim
article en

Abstract

High-performance applications commonly utilize OpenMP, which supports shared-memory-based multi-processing programming. Unlike sequential programs, they are exposed to various programming errors owing to the different paradigms in executing parallel programs. One of these errors, the data race, is dependent on the sequence (timing) of other events or the execution flow of programs; therefore, it is not easy to detect. Although ample efforts have been made to build data-race detection techniques and tools, even state-of-the-art tools such as Intel Inspector still have functionality and performance issues. In this paper, we devise <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PCSP</i> and <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">AMSP</i> , self-developed synthetic programs written in OpenMP directives to thoroughly examine these issues and have refined the problems of Intel Inspector through these programs. To resolve these problems, we propose a program analysis-based race digger (PARD). The race digger consists of a <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">program analyzer, source instrumentor, adaptive on-the-fly race detector</i> , and <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">race analyzer</i> . It passes through three phases to detect data races and finally provides the root causes of detected races using a race analyzer. We demonstrate the functionality and performance advantages of PARD over Intel Inspector. Regarding functionality, experimental results show that while Intel Inspector can only verify data races in the simple model, PARD verifies data races in both simple and complex models; The results show that PARD’s data-race detection time is better than that of Intel Inspector by MIN 99.04% ~ MAX 99.89% in single-process systems and MIN 98.77% ~ MAX 99.68% in multi-process systems.

IEEE AccessVol. 13
Electronics and Telecommunications Research Institute (KR)
Ministry of Science and ICT, South Korea
Openalex Percentile: Top 99%
Real-time simulation and control systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.