Concurrent data representation synthesis
Name
Rinard_concurrent data.pdf
Size
367.31 KB
Format
Adobe PDF
Checksum (MD5)
828b9c5702429b46fc5cacb316520648
Author(s) • • • •
Hawkins, Peter
Aiken, Alex
Fisher, Kathleen
Rinard, Martin C.
Sagiv, Mooly
Date Issued
June 2012
Journal
Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '12)
Publisher
Association for Computing Machinery (ACM)
Citation
Peter Hawkins, Alex Aiken, Kathleen Fisher, Martin Rinard, and Mooly Sagiv. 2012. Concurrent data representation synthesis. In Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI '12). ACM, New York, NY, USA, 417-428.
Version
Author's final manuscript
Abstract
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.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike 3.0
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/2254064.2254114