To refer to this page use:
|Abstract:||Programming with tasks is a promising approach to write performance portable parallel code. In this model, the programmer explicitly specifies tasks and the task parallel runtime employs work stealing to distribute tasks among threads. Similar to multithreaded programs, task parallel programs can also exhibit data races. Unfortunately, prior data race detectors for task parallel programs either run the program serially or do not handle locks, and/or detect races only in the schedule observed by the analysis. This paper proposes PTRacer, a parallel on-the-fly data race detector for task parallel programs that use locks. PTRacer detects data races not only in the observed schedule but also those that can happen in other schedules (which are permutations of the memory operations in the observed schedule) for a given input. It accomplishes the above goal by leveraging the dynamic execution graph of a task parallel execution to determine whether two accesses can happen in parallel and by maintaining constant amount of access history metadata with each distinct set of locks held for each shared memory location. To detect data races (beyond the observed schedule) in programs with branches sensitive to scheduling decisions, we propose static compiler instrumentation that records memory accesses that will be executed in the other path with simple branches. PTRacer has performance overheads similar to the state-of-the-art race detector for task parallel programs, SPD3, while detecting more races in programs with locks.|
|Citation:||Yoga, Adarsh, Santosh Nagarakatte, and Aarti Gupta. "Parallel data race detection for task parallel programs with locks." In ACM SIGSOFT International Symposium on Foundations of Software Engineering (2016): pp. 833-845. doi:10.1145/2950290.2950329|
|Pages:||833 - 845|
|Type of Material:||Conference Article|
|Journal/Proceeding Title:||ACM SIGSOFT International Symposium on Foundations of Software Engineering|
Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.