Title
Compile-Time Analysis and Specialization of Clocks in Concurrent Programs
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.
Year
DOI
Venue
2009
10.1007/978-3-642-00722-4_5
CC
Keywords
Field
DocType
error condition,optimized implementation,low-level implementation detail,concurrent programs,compilation chain,compile-time analysis,object-oriented language,clock implementation,concurrent programming language,x10 programming language,full implementation,analysis time,distributed objects,computer science,timing analysis,static analysis,programming language
Remote procedure call,Synchronization,Programming language,Programmer,Computer science,Concurrency,Compile time,Implementation,Concurrent computing,Concurrent object-oriented programming
Conference
Volume
ISSN
Citations 
5501
0302-9743
5
PageRank 
References 
Authors
0.45
13
4
Name
Order
Citations
PageRank
Nalini Vasudevan1503.88
Olivier Tardieu246232.13
Julian Dolby3138974.44
Stephen A. Edwards41443109.65