Dynamic Data Race Detection for OpenMP Programs

Dynamic Data Race Detection for OpenMP Programs
复制标题

OpenMP 程序的动态数据竞争检测

DOI:
--
复制
发表时间:
2018
期刊:
International Conference for High Performance Computing, Networking, Storage and Analysis
影响因子:
--
通讯作者:
J. Mellor
J. Mellor
中科院分区:
--
文献类型:
--
作者:
Yizi Gu;J. Mellor

文献摘要

被引文献

相似文献

如果两个并发访问共享变量时,其中至少一个访问是写操作,那么这两个并发访问被同步无序化,这两个并发访问被称为数据竞争。数据竞争导致共享内存并行程序的行为不可预测。本文介绍了ROMP -一种用于检测可扩展并行应用程序执行中的数据竞争的工具,该应用程序采用OpenMP进行节点级并行。OpenMP的复杂性,其中包括原语管理数据环境,SPMD和SIMD并行,工作共享,任务,互斥和排序,提出了一个艰巨的挑战,数据竞争检测。ROMP是一种混合数据竞争检测器,它跟踪访问、访问顺序和互斥。与其他OpenMP竞争检测器不同,ROMP检测的是并发竞争,而不是实现线程。实验表明,ROMP产生精确的比赛报告,为更广泛的一组的OpenMP结构比现有的国家的最先进的竞争检测器。
Two concurrent accesses to a shared variable that are unordered by synchronization are said to be a data race if at least one access is a write. Data races cause shared memory parallel programs to behave unpredictably. This paper describes ROMP - a tool for detecting data races in executions of scalable parallel applications that employ OpenMP for node-level parallelism. The complexity of OpenMP, which includes primitives for managing data environments, SPMD and SIMD parallelism, work sharing, tasking, mutual exclusion, and ordering, presents a formidable challenge for data race detection. ROMP is a hybrid data race detector that tracks accesses, access orderings and mutual exclusion. Unlike other OpenMP race detectors, ROMP detects races with respect to concurrency rather than implementation threads. Experiments show that ROMP yields precise race reports for a broader set of OpenMP constructs than prior state-of-the-art race detectors.