1. Program-Analysis-Based Race Digger for Improving the Reliability of High-Performance Applications
- Author
-
Young-Joo Kim
- Subjects
OpenMP ,data race ,PCSP ,AMSP ,on-the-fly detection ,intel inspector ,Electrical engineering. Electronics. Nuclear engineering ,TK1-9971 - 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 PCSP and AMSP, 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 program analyzer, a source instrumentor, an adaptive on-the-fly race detector, and a race analyzer. It passes through three phases to detect data races and finally provides the root causes of detected races using the 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.
- Published
- 2025
- Full Text
- View/download PDF