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 FebDisplayed time zone: Tijuana, Baja California change
10:55 - 12:35 | |||
10:55 25mTalk | On the fly MHP Analysis Main Conference | ||
11:20 25mTalk | Detecting and Reproducing Error-Code Propagation Bugs in MPI Implementations Main Conference Daniel DeFreez University of California, Davis, Antara Bhowmick University of California, Davis, Ignacio Laguna Lawrence Livermore National Laboratory, Cindy Rubio-González University of California, Davis | ||
11:45 25mTalk | Parallel and Distributed Bounded Model Checking of Multi-threaded Programs Main Conference | ||
12:10 25mTalk | Parallel Race Detection with Futures Main Conference Yifan Xu Washington University in St. Louis, Kyle Singer Washington University in St. Louis, I-Ting Angelina Lee Washington University in St. Louis |