We present an axiomatic framework, implemented in the Coq proof assistant, to define weak memory models in terms of several parameters: local reorderings of reads and writes, and visibility of inter and intra processor communications through memory, including full store atomicity relaxation. Thereby, we give a formal hierarchy of weak memory models, in which we provide a formal study of what should be the action and placement of fences to restore a given model such as SC from a weaker one. Finally, we provide formal requirements for abstract locks that guarantee SC semantics to data race free programs, and show that a particular implementation of locks matches these requirements
We describe a program logic for weak memory (also known as relaxed memory). The logic is based on Ho...
A memory model dictates which values may be returned when reading from memory. In a parallel computi...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
We present here an axiomatic framework, implemented in the Coq proof assistant, for defining weak me...
International audienceWe present a class of relaxed memory models, defined in Coq, parame-terised by...
This paper describes Coq libraries devoted to the semantic of relaxed memory models. These libraries...
A multitude of weak memory models exists supporting various types of relaxations and different synch...
Memory models define an interface between programs written in some language and their implementation...
Weak memory models formalize the inconsistent behaviors that one can expect to observe in multithrea...
In order to improve performance or conserve energy, modern hardware implementations have adopted wea...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Proving the correctness of programs written for multiple processors is a challenging problem, due in...
Thesis (Sc. D.)--Massachusetts Institute of Technology, Dept. of Mechanical Engineering, 2001.Includ...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
We describe a program logic for weak memory (also known as relaxed memory). The logic is based on Ho...
A memory model dictates which values may be returned when reading from memory. In a parallel computi...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
We present here an axiomatic framework, implemented in the Coq proof assistant, for defining weak me...
International audienceWe present a class of relaxed memory models, defined in Coq, parame-terised by...
This paper describes Coq libraries devoted to the semantic of relaxed memory models. These libraries...
A multitude of weak memory models exists supporting various types of relaxations and different synch...
Memory models define an interface between programs written in some language and their implementation...
Weak memory models formalize the inconsistent behaviors that one can expect to observe in multithrea...
In order to improve performance or conserve energy, modern hardware implementations have adopted wea...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Proving the correctness of programs written for multiple processors is a challenging problem, due in...
Thesis (Sc. D.)--Massachusetts Institute of Technology, Dept. of Mechanical Engineering, 2001.Includ...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
We describe a program logic for weak memory (also known as relaxed memory). The logic is based on Ho...
A memory model dictates which values may be returned when reading from memory. In a parallel computi...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...