Sciweavers

PLDI
2012
ACM

Concurrent data representation synthesis

11 years 7 months ago
Concurrent data representation synthesis
We describe an approach for synthesizing data representations for concurrent programs. Our compiler takes as input a program written using concurrent relations and synthesizes a representation of the relations as sets of cooperating data structures as well as the placement and acquisition of locks to synchronize concurrent access to those data structures. The resulting code is correct by construction: individual relational operations are implemented correctly and the aggregate set of operations is serializable and deadlock free. The relational specification also permits a high-level optimizer to choose the best performing of many possible legal data representations and locking strategies, which we demonstrate with an experiment autotuning a graph benchmark. Categories and Subject Descriptors D.3.3 [Programming LanLanguage Constructs and Features—Abstract data types, Concurrent programming structures, Data types and structures; E.2 [Data Storage Representations] Keywords Synthesis, ...
Peter Hawkins, Alex Aiken, Kathleen Fisher, Martin
Added 27 Sep 2012
Updated 27 Sep 2012
Type Journal
Year 2012
Where PLDI
Authors Peter Hawkins, Alex Aiken, Kathleen Fisher, Martin C. Rinard, Mooly Sagiv
Comments (0)