International audienceCache 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 inser...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Abstract. We consider simple compiler optimisations for removing re-dundant memory fences in program...
Go is a production-level statically typed programming language whose design features explicit messag...
Cache coherence protocols based on self-invalidation and self-downgrade haverecently seen increased ...
Modern architectures provide weaker memory consistency guarantees than sequential consistency. These...
Modern architectures provide weaker memory consistency guarantees than sequential consistency. These...
Fences are instructions that programmers or compilers insert in the code to prevent the compiler or ...
Abstract. Modern architectures provide weaker memory consistency guarantees than sequential consiste...
Modern architectures rely on memory fences to prevent undesired weakenings of memory consistency. As...
Abstract—This paper addresses the problem of placing mem-ory fences in a concurrent program running ...
Abstract. We address the problem of fence inference in infinite-state concur-rent programs running o...
To enhance performance, common processors feature relaxed memory models that reorder instructions. H...
Computers have brought us inestimable convenience in recent years. We have become dependent on them ...
Abstract—We observe that fence instructions used by pro-grammers are usually only intended to order ...
Modern architectures rely on memory fences to prevent undesired weakenings of memory consistency. As...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Abstract. We consider simple compiler optimisations for removing re-dundant memory fences in program...
Go is a production-level statically typed programming language whose design features explicit messag...
Cache coherence protocols based on self-invalidation and self-downgrade haverecently seen increased ...
Modern architectures provide weaker memory consistency guarantees than sequential consistency. These...
Modern architectures provide weaker memory consistency guarantees than sequential consistency. These...
Fences are instructions that programmers or compilers insert in the code to prevent the compiler or ...
Abstract. Modern architectures provide weaker memory consistency guarantees than sequential consiste...
Modern architectures rely on memory fences to prevent undesired weakenings of memory consistency. As...
Abstract—This paper addresses the problem of placing mem-ory fences in a concurrent program running ...
Abstract. We address the problem of fence inference in infinite-state concur-rent programs running o...
To enhance performance, common processors feature relaxed memory models that reorder instructions. H...
Computers have brought us inestimable convenience in recent years. We have become dependent on them ...
Abstract—We observe that fence instructions used by pro-grammers are usually only intended to order ...
Modern architectures rely on memory fences to prevent undesired weakenings of memory consistency. As...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Abstract. We consider simple compiler optimisations for removing re-dundant memory fences in program...
Go is a production-level statically typed programming language whose design features explicit messag...