Fence placement for legacy Data-Race-Free programs via synchronization read detection
Abstract
Shared-memory programmers traditionally assumed Sequential Consistency (SC), but modern systems have relaxed memory consistency. Here, the trend in languages is towards Data-Race-Free (DRF) models, where, assuming annotated synchronizations and the program being well-synchronized by those synchronizations, the hardware and compiler guarantee SC. However, legacy programs lack annotations, so even well-synchronized (legacy DRF) programs aren’t recognized. For legacy DRF programs, we can significantly prune the set of memory orderings determined by automated fence placement, by automatically identifying synchronization reads. We prove our rules for identifying them conservative, implement them within LLVM, and observe a 30% average performance improvement over previous techniques.
Citation
McPherson , A J , Nagarajan , V , Sarkar , S & Cintra , M 2016 , ' Fence placement for legacy Data-Race-Free programs via synchronization read detection ' , ACM Transactions on Architecture and Code Optimization (TACO) , vol. 12 , no. 4 , 46 . https://doi.org/10.1145/2835179
Publication
ACM Transactions on Architecture and Code Optimization (TACO)
Status
Peer reviewed
ISSN
1544-3566Type
Journal article
Rights
© 2015, Publisher / the Author(s). This work is made available online in accordance with the publisher’s policies. This is the author created, accepted version manuscript following peer review and may differ slightly from the final published version. The final published version of this work is available at dl.acm.org / https://dx.doi.org/10.1145/2835179
Description
We thank the anonymous reviewers for their helpful comments for improving this article. This research is supported by EPSRC grant EP/L000725/1 and an Intel early career faculty award to the University of Edinburgh.Collections
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.