Department of Computer Science
slider.jpeg
previous arrow
next arrow
PlayPause

Department of Computer Science

  • Author Name:

    Adarsh Yoga and Santosh Nagarakatte

  • Publication Date: 2016-03-01
  • Journal Volume: 2016 International Conference on Code Generation and Optimization (CGO-2016)
  • Conference Location: Barcelona, Spain
  • Link to Content 1: Atomicity Checking for Task Parallel Programs
  • Abstract:

    Task based programming models (e.g., Cilk, Intel TBB, X10, Java Fork-Join tasks) simplify multicore programming in contrast to programming with threads. In a task based model, the programmer specifies parallel tasks and the runtime maps these tasks to hardware threads. The runtime automatically balances the load using work-stealing and provides performance portability. However, interference between parallel tasks can result in concurrency errors.

    This paper proposes a dynamic analysis technique to detect atomicity violations in task parallel programs, which could occur in different schedules for a given input without performing interleaving exploration. Our technique leverages the series-parallel dynamic execution structure of a task parallel program to identify parallel accesses. It also maintains access history metadata with each shared memory location to identify parallel accesses that can cause atomicity violations in different schedules. To streamline metadata management, the access history metadata is split into global metadata that is shared by all tasks and local metadata that is specific to each task. The global metadata tracks a fixed number of access histories for each shared memory location that capture all possible access patterns necessary for an atomicity violation. Our prototype tool for Intel Threading Building Blocks (TBB) detects atomicity violations that can potentially occur in different interleavings for a given input with performance overheads similar to Velodrome atomicity checker for thread based programs.

We are committed to fostering a safe environment while upholding the principles of academic freedom and free expression of our community.

We're Hiring

Hiring CompSci

Undergraduate

Undergrad CompSci

Graduate

Grad CompSci 2016 06 17 0136 Rutgers SAS SQ

Research

Research CompSci 2018 08 29 0224 RU SAS SQ