VORD: A versatile on-the-fly race detection tool in OpenMP programs

Young Joo Kim, Sejun Song, Yong Kee Jun

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

Shared-memory based parallel programming with OpenMP and Posix-thread APIs becomes more common to fully take advantage of multiprocessor computing environments. One of the critical risks in multithreaded programming is data races that are hard to debug and greatly damaging to parallel applications if they are uncaught. Although ample effort has been made in building specialized data race detection techniques, the state of art tools such as the Intel Thread Checker still have various functionality and performance problems. In this paper, we present a Versatile On-the-fly Race Detection (VORD) tool that provides an agile, efficient, and scalable race detection environment for various parallel programming models. VORD can automatically construct an empirically optimal set of race engines by utilizing classification and adaptation mechanisms. A Race-Detection Classification (RDC) table is created to categorize adequate engines in the aspect of labeling, detecting, and filtering. An Engine Code Property Selector (ECPS) uses the RDC table to adapt optimal engines for the given target programming models. In addition to RDC and ECPS, we have also implemented an OpenMP parser and a source instrumentor. The functionality and efficiency of VORD were compared with those of the Intel Thread Checker by using a set of OpenMP based kernel programs. The experimental results show that VORD can detect data races in more challenging programming models such as nested thread and synchronization models, and can achieve a couple of orders of a magnitude faster processing time than the Intel Thread Checker in the large parallel programs.

Original languageEnglish (US)
Pages (from-to)900-930
Number of pages31
JournalInternational Journal of Parallel Programming
Volume42
Issue number6
DOIs
StatePublished - Dec 2014
Externally publishedYes

Keywords

  • ECPS
  • Intel thread checker
  • On-the-fly race detection
  • OpenMP
  • Parallel programs
  • RDC

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Information Systems

Fingerprint

Dive into the research topics of 'VORD: A versatile on-the-fly race detection tool in OpenMP programs'. Together they form a unique fingerprint.

Cite this