Home

A Determinizing Compiler

Nalini Vasudevan; Stephen A. Edwards

Title:
A Determinizing Compiler
Author(s):
Vasudevan, Nalini
Edwards, Stephen A.
Date:
Type:
Articles
Department:
Computer Science
Permanent URL:
Notes:
ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation, Dublin, Ireland, June 15-20, 2009: Fun Ideas and Thoughts Session
Abstract:
The advent of multicores mandates parallel programming. While parallelism presents a panoply of problems, few are as pernicious and prevalent as nondeterminism, in which the output of a program is affected by more than just its inputs, e.g., uncontrollable scheduling choices made by the operating system. A few parallel languages do guarantee determinism, but do so through draconian restrictions. It is time for a new era of bug-free parallel programming that will enable programmers to shift easily from sequential to parallel worlds.We propose a determinizing compiler: starting from a non-deterministic program, our compiler inserts just enough additional synchronization to guarantee deterministic behavior, even in the presence of nondeterministic scheduling choices. A brute-force solution would simply generate sequential code, but our compiler will strive to preserve parallelism to impose a minimal loss of performance.
Subject(s):
Computer science
Item views:
271
Metadata:
text | xml

In Partnership with the Center for Digital Research and Scholarship at Columbia University Libraries/Information Services | Terms of Use