Title
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.
Year
DOI
Venue
2016
10.1007/978-3-319-39570-8_2
FORTE
Field
DocType
Volume
Programmer,Computer science,CPU cache,Correctness,Downgrade,Reachability,Theoretical computer science,Transactional memory,Memory model,Distributed computing,Cache coherence
Conference
9688
ISSN
Citations 
PageRank 
0302-9743
0
0.34
References 
Authors
27
6
Name
Order
Citations
PageRank
Parosh Aziz Abdulla12010122.22
Mohamed Faouzi Atig250540.94
Stefanos Kaxiras3121896.24
Carl Leonardsson4985.34
Alberto Ros538432.60
Yunyun Zhu600.68