Multicore Acceleration for Priority Based Schedulers for Concurrency Bug Detection

Loading...
Thumbnail Image

Embargo Date

Related Collections

Degree type

Discipline

Subject

Computer Sciences

Funder

Grant number

License

Copyright date

Distributor

Related resources

Author

Nagarakatte, Santosh
Burckhardt, Sebastian
Musuvathi, Madan

Contributor

Abstract

Testing multithreaded programs is difficult as threads can interleave in a nondeterministic fashion. Untested interleavings can cause failures, but testing all interleavings is infeasible. Many interleaving exploration strategies for bug detection have been proposed, but their relative effectiveness and performance remains unclear as they often lack publicly available implementations and have not been evaluated using common benchmarks. We describe NeedlePoint, an open-source framework that allows selection and comparison of a wide range of interleaving exploration policies for bug detection proposed by prior work. Our experience with NeedlePoint indicates that priority-based probabilistic concurrency testing (the PCT algorithm) finds bugs quickly, but it runs only one thread at a time, which destroys parallelism by serializing executions. To address this problem we propose a parallel version of the PCT algorithm (PPCT).We show that the new algorithm outperforms the original by a factor of 5x when testing parallel programs on an eight-core machine. We formally prove that parallel PCT provides the same probabilistic coverage guarantees as PCT. Moreover, PPCT is the first algorithm that runs multiple threads while providing coverage guarantees.

Advisor

Date of presentation

2012-06-01

Conference name

Departmental Papers (CIS)

Conference dates

2023-05-17T07:16:28.000

Conference location

Date Range for Data Collection (Start Date)

Date Range for Data Collection (End Date)

Digital Object Identifier

Series name and number

Volume number

Issue number

Publisher

Publisher DOI

Journal Issues

Comments

Nagarakatte, S., Burckhardt, S., Martin, M., & Musuvathi, M., Multicore Acceleration for Priority Based Schedulers for Concurrency Bug Detection, ACM SIGPLAN Conference on Programming Language Design and Implementation, June 2012, doi: http://doi.acm.org/10.1145/2254064.2254128 © 1994, 1995, 1998, 2002, 2009 by ACM, Inc. Permission to copy and distribute this document is hereby granted provided that this notice is retained on all copies, that copies are not altered, and that ACM is credited when the material is used to form other copyright policies.

Recommended citation

Collection