The use of futures can generate arbitrary dependences in the computation, making it difficult to race detect efficiently. Algorithms proposed by prior work to race detect programs with futures all have to execute the program sequentially. We propose F-Order, the first known parallel race detection algorithm that detects races on programs that use futures. Given a computation with work $T_1$ and span $T_\infty$, our algorithm race detects in time $O((T_1 \lg{\hat{k}} + k^2) / P + T_\infty (k + \lg{r} \lg{\hat{k}}))$ on $P$ processors, where $k$ is the number of future operations, $r$ is the maximum number of readers per memory location, and $\hat{k}$ is the maximum number of future operations done by a single future task, which is typically a small constant. We have also implemented a prototype system based on the proposed algorithm and empirically demonstrates its practical efficiency and scalability.
Tue 25 Feb Times are displayed in time zone: Tijuana, Baja California change
10:55 - 12:35: Program Analysis (Mediterranean Ballroom)Main Conference Chair(s): Michael GarlandNVIDIA | |||
10:55 - 11:20 Talk | On the fly MHP Analysis Main Conference | ||
11:20 - 11:45 Talk | Detecting and Reproducing Error-Code Propagation Bugs in MPI Implementations Main Conference Daniel DeFreezUniversity of California, Davis, Antara BhowmickUniversity of California, Davis, Ignacio LagunaLawrence Livermore National Laboratory, Cindy Rubio-GonzálezUniversity of California, Davis | ||
11:45 - 12:10 Talk | Parallel and Distributed Bounded Model Checking of Multi-threaded Programs Main Conference | ||
12:10 - 12:35 Talk | Parallel Race Detection with Futures Main Conference Yifan XuWashington University in St. Louis, Kyle SingerWashington University in St. Louis, I-Ting Angelina LeeWashington University in St. Louis |