A memory model for a concurrent imperative programming lan-guage specifies which writes to shared variables may be seen by reads performed by other threads. We present a simple mathemat-ical framework for relaxed memory models for programming lan-guages. To instantiate this framework for a specific language, the designer must choose the notion of atomic steps supported by the language (e.g. 32-bit reads and writes) and specify how a composite step may be broken into a sequence of atomic steps (the decompo-sition rule). This rule determines which sequence of intermediate writes (if any) are visible to concurrent reads by other threads. Dif-ferent choices of the rule lead to models which permit a read to re-turn any value if there is a concur...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
Instructions, as they appear in a program’s text, dictate the behavior of singlethreaded programs. U...
A memory model for a concurrent imperative programming language specifies which writes to shared var...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
Many hardware and compiler optimisations introduced to speed up single-threaded programs also introd...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
We propose a novel, operational framework to formally describe the semantics of concurrent programs ...
We propose a novel, operational framework to formally describe the semantics of concurrent pro-grams...
Memory models define an interface between programs written in some language and their implementation...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
International audienceMemory models define an interface between programs written in some language an...
International audienceMemory models define an interface between programs written in some language an...
In this paper, we establish a notion of causality that should be used as a desideratum for memory mo...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
Instructions, as they appear in a program’s text, dictate the behavior of singlethreaded programs. U...
A memory model for a concurrent imperative programming language specifies which writes to shared var...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
Many hardware and compiler optimisations introduced to speed up single-threaded programs also introd...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
We propose a novel, operational framework to formally describe the semantics of concurrent programs ...
We propose a novel, operational framework to formally describe the semantics of concurrent pro-grams...
Memory models define an interface between programs written in some language and their implementation...
International audienceModern multicore processor architectures and compilers of shared-memory concur...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
International audienceMemory models define an interface between programs written in some language an...
International audienceMemory models define an interface between programs written in some language an...
In this paper, we establish a notion of causality that should be used as a desideratum for memory mo...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
We analyse the validity of common optimisations on multi-threaded programs in two memory models—the ...
Instructions, as they appear in a program’s text, dictate the behavior of singlethreaded programs. U...