Sciweavers

OOPSLA
2009
Springer

Grace: safe multithreaded programming for C/C++

14 years 6 months ago
Grace: safe multithreaded programming for C/C++
The shift from single to multiple core architectures means that programmers must write concurrent, multithreaded programs in order to increase application performance. Unfortunately, multithreaded applications are susceptible to numerous errors, including deadlocks, race conditions, atomicity violations, and order violations. These errors are notoriously difficult for programmers to debug. This paper presents Grace, a software-only runtime system that eliminates concurrency errors for a class of multithreaded programs: those based on fork-join parallelism. By turning threads into processes, leveraging virtual memory protection, and imposing a sequential commit protocol, Grace provides programmers with the appearance of deterministic, sequential execution, while taking advantage of available processing cores to run code concurrently and efficiently. Experimental results demonstrate Grace’s effectiveness: with modest code changes across a suite of computationally-intensive benchmark...
Emery D. Berger, Ting Yang, Tongping Liu, Gene Nov
Added 27 May 2010
Updated 27 May 2010
Type Conference
Year 2009
Where OOPSLA
Authors Emery D. Berger, Ting Yang, Tongping Liu, Gene Novark
Comments (0)