We propose a new approach to programming multi-core, relaxed-memory architectures in imperative, portable pro-gramming languages. Our memory model is based on ex-plicit, programmer-specified requirements for order of exe-cution and the visibility of writes. The compiler then realizes those requirements in the most efficient manner it can. This is in contrast to existing memory models, which—if they allow programmer control over synchronization at all—are based on inferring the execution and visibility consequences of synchronization operations or annotations in the code. We formalize our memory model in a core calculus called RMC. Outside of the programmer’s specified requirements, RMC is designed to be strictly more relaxed than existing a...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
The integration of transactions into hardware relaxed memory architectures is a topic of current res...
For performance reasons, modern multiprocessors implement relaxed memory consistency models that adm...
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...
Modern architectures implement relaxed memory models which may reorder memory operations or execute ...
A memory model for a concurrent imperative programming language specifies which writes to shared var...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Approximate program transformations such as task skipping [27, 28], loop perforation [20, 21, 32], m...
Most current multiprocessor architectures and shared memory parallel program-ming languages are not ...
Classical model-checking tools verify concurrent programs under the tra-ditional Sequential Consiste...
Abstract. We study two operational semantics for relaxed memory models. Our first formalization is b...
Shared memory concurrency is the pervasive programming model for multicore architectures such as x8...
An increasing number of systems rely on programming lan-guage technology to ensure safety and securi...
Pseudo-code descriptions of STMs assume sequentially consistent program execution and atomicity of h...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
The integration of transactions into hardware relaxed memory architectures is a topic of current res...
For performance reasons, modern multiprocessors implement relaxed memory consistency models that adm...
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...
Modern architectures implement relaxed memory models which may reorder memory operations or execute ...
A memory model for a concurrent imperative programming language specifies which writes to shared var...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Approximate program transformations such as task skipping [27, 28], loop perforation [20, 21, 32], m...
Most current multiprocessor architectures and shared memory parallel program-ming languages are not ...
Classical model-checking tools verify concurrent programs under the tra-ditional Sequential Consiste...
Abstract. We study two operational semantics for relaxed memory models. Our first formalization is b...
Shared memory concurrency is the pervasive programming model for multicore architectures such as x8...
An increasing number of systems rely on programming lan-guage technology to ensure safety and securi...
Pseudo-code descriptions of STMs assume sequentially consistent program execution and atomicity of h...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
The integration of transactions into hardware relaxed memory architectures is a topic of current res...
For performance reasons, modern multiprocessors implement relaxed memory consistency models that adm...