Home

Compile-Time Analysis and Specialization of Clocks in Concurrent Programs

Nalini Vasudevan; Olivier Tardieu; Julian Dolby; Stephen A. Edwards

Title:
Compile-Time Analysis and Specialization of Clocks in Concurrent Programs
Author(s):
Vasudevan, Nalini
Tardieu, Olivier
Dolby, Julian
Edwards, Stephen A.
Date:
Type:
Articles
Department:
Computer Science
Permanent URL:
Part Number:
5501
Book/Journal Title:
Compiler Construction: 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009: Proceedings
Publisher:
Springer
Abstract:
Clocks are a mechanism for providing synchronization barriers in concurrent programming languages. They are usually implemented using primitive communication mechanisms and thus spare the programmer from reasoning about low-level implementation details such as remote procedure calls and error conditions. Clocks provide flexibility, but programs often use them in specific ways that do not require their full implementation. In this paper, we describe a tool that mitigates the overhead of general-purpose clocks by statically analyzing how programs use them and choosing optimized implementations when available. We tackle the clock implementation in the standard library of the X10 programming language—a parallel, distributed object-oriented language. We report our findings for a small set of analyses and benchmarks. Our tool only adds a few seconds to analysis time, making it practical to use as part of a compilation chain.
Subject(s):
Computer science
Publisher DOI:
http://dx.doi.org/10.1007/978-3-642-00722-4_5
Item views:
77
Metadata:
text | xml

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