Well-defined memory consistency models are necessary for writing correct parallel software. Developing and understanding formal specifications of hardware memory models is a challenge due to the subtle differences in allowed reorderings and different specification styles. To facilitate exploration of memory model specifications, we have developed a technique for systematically comparing hardware memory models specified using both operational and axiomatic styles. Given two specifications, our approach generates all possible multi-threaded programs up to a specified bound, and for each such program, checks if one of the models can lead to an observable behavior not possible in the other model. When the models differs, the tool finds a minima...
Modern memory consistency models are complex, and it is difficult to reason about the relaxed behavi...
International audienceShared memory multiprocessors typically expose subtle, poorly understood and p...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
Well-defined memory consistency models are necessary for writing correct parallel software. Developi...
Even though the general problem of comparing two memory models is infeasible, in this paper we show ...
A memory consistency model (MCM) is the part of a programming language or computer architecture spec...
Memory consistency models (MCMs) are at the heart of concurrent programming. They represent the beha...
A memory consistency model (MCM) is the part of a programming language or computer architecture spec...
Parallel systems that support the shared memory abstraction are becoming widely accepted in many are...
International audienceWe present a class of relaxed memory models, defined in Coq, parame-terised by...
technical reportConforming to the underlying memory consistency rules is a fundamental require- men...
The growing complexity of hardware optimizations employed by multiprocessors leads to subtle distinc...
Most modern multiprocessors offer weak memory behavior to improve their performance in terms of thro...
The memory consistency model of a shared-memory multiprocessor determines the extent to which memory...
Conforming to the underlying memory consistency rules is a fundamental requirement for implementing ...
Modern memory consistency models are complex, and it is difficult to reason about the relaxed behavi...
International audienceShared memory multiprocessors typically expose subtle, poorly understood and p...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
Well-defined memory consistency models are necessary for writing correct parallel software. Developi...
Even though the general problem of comparing two memory models is infeasible, in this paper we show ...
A memory consistency model (MCM) is the part of a programming language or computer architecture spec...
Memory consistency models (MCMs) are at the heart of concurrent programming. They represent the beha...
A memory consistency model (MCM) is the part of a programming language or computer architecture spec...
Parallel systems that support the shared memory abstraction are becoming widely accepted in many are...
International audienceWe present a class of relaxed memory models, defined in Coq, parame-terised by...
technical reportConforming to the underlying memory consistency rules is a fundamental require- men...
The growing complexity of hardware optimizations employed by multiprocessors leads to subtle distinc...
Most modern multiprocessors offer weak memory behavior to improve their performance in terms of thro...
The memory consistency model of a shared-memory multiprocessor determines the extent to which memory...
Conforming to the underlying memory consistency rules is a fundamental requirement for implementing ...
Modern memory consistency models are complex, and it is difficult to reason about the relaxed behavi...
International audienceShared memory multiprocessors typically expose subtle, poorly understood and p...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...