Fencing Programs with Self-Invalidation and Self-Downgrade - Formal Techniques for Distributed Objects, Components, and Systems Access content directly
Conference Papers Year : 2016

Fencing Programs with Self-Invalidation and Self-Downgrade

Parosh Aziz Abdulla
  • Function : Author
  • PersonId : 998103
Yunyun Zhu
  • Function : Author
  • PersonId : 998104


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.
Fichier principal
Vignette du fichier
426757_1_En_2_Chapter.pdf (473.52 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-01432925 , version 1 (12-01-2017)





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⟩
120 View
120 Download



Gmail Facebook X LinkedIn More