Skip to Main content Skip to Navigation
Conference papers

Fencing Programs with Self-Invalidation and Self-Downgrade

Abstract : Cache coherence protocols using self-invalidation and self-downgrade have recently seen increased popularity due to their simplicity, potential performance efficiency, and low energy consumption. However, such protocols result in memory instruction reordering, thus causing extra program behaviors that are often not intended by the programmer. We propose a novel formal model that captures the semantics of programs running under such protocols, and employs a set of fences that interact with the coherence layer. Using the model, we perfform a reachability analysis that can check whether a program satisfies a given safety property with the current set of fences. Based on an algorithm in [19], we describe a method for insertion of optimal sets of fences that ensure correctness of the program under such protocols. The method relies on a counter-example guided fence insertion procedure. One feature of our method is that it can handle a variety of fences (with different costs). This diversity makes optimization more difficult since one has to optimize the total cost of the inserted fences, rather than just their number. To demonstrate the strength of our approach, we have implemented a prototype and run it on a wide range of examples and benchmarks. We have also, using simulation, evaluated the performance of the resulting fenced programs.
Complete list of metadata

Cited literature [33 references]  Display  Hide  Download
Contributor : Hal Ifip Connect in order to contact the contributor
Submitted on : Thursday, January 12, 2017 - 11:34:41 AM
Last modification on : Thursday, January 12, 2017 - 11:38:42 AM
Long-term archiving on: : Friday, April 14, 2017 - 4:22:44 PM


Files produced by the author(s)


Distributed under a Creative Commons Attribution 4.0 International License



Parosh Aziz Abdulla, Mohamed Faouzi Atig, Stefanos Kaxiras, Carl Leonardsson, Alberto Ros, et al.. Fencing Programs with Self-Invalidation and Self-Downgrade. 36th International Conference on Formal Techniques for Distributed Objects, Components, and Systems (FORTE), Jun 2016, Heraklion, Greece. pp.19-35, ⟨10.1007/978-3-319-39570-8_2⟩. ⟨hal-01432925⟩



Record views


Files downloads