SC22 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Workshops Archive

Leveraging the Dynamic Program Structure Tree to Detect Data Races in OpenMP Programs


Workshop: 6th International Workshop on Software Correctness for HPC Applications (Correctness '22)

Authors: Lechen Yu and Feiyang Jin (Georgia Institute of Technology), Joachim Protze (RWTH Aachen University), and Vivek Sarkar (Georgia Institute of Technology)


Abstract: Integrating multiple disparate paradigms in a single execution model increases the complexity of OpenMP, making OpenMP programs prone to data races. Inspired by OpenMP's task-oriented execution model,we extended SPD3,a data race detection algorithm designed for async-finish task parallelism to support OpenMP programs. We found that by extending SPD3’s key data structure,DPST, SPD3 can support the majority of OpenMP constructs. We have implemented a prototype, TSAN-SPD3,on top of Google’s ThreadSanitizer(TSAN). To conduct an apples-to-apples comparison with ARCHER, we compared TSAN-SPD3 with an ARCHER implementation that executes on the same version of TSAN. In addition, we evaluated ARCHER in two modes,the default mode using the original TSAN and the accelerated mode enabling the use of SIMD instructions in TSAN. The evaluation was conducted on the BOTS benchmark suite. The evaluation results show that in eight out of nine benchmarks TSAN-SPD3 achieved similar overhead with ARCHER, while TSAN-SPD3 can identify more potential races.





Back to 6th International Workshop on Software Correctness for HPC Applications (Correctness '22) Archive Listing



Back to Full Workshop Archive Listing