Fence placement for legacy Data-Race-Free programs via synchronization read detection
MetadataShow full item record
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.
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 . DOI: 10.1145/2835179
ACM Transactions on Architecture and Code Optimization (TACO)
© 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
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.
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.