Most modern multiprocessors offer weak memory behavior to improve their performance in terms of throughput. They allow the order of memory operations to be observed differently by each processor. This is opposite to the concept of sequential consistency (SC) which enforces a unique sequential view on all operations for all processors. Because most software has been and still is developed with SC in mind, we face a gap between the expected behavior and the actual behavior on modern architectures. The issues described only affect multithreaded software and therefore most programmers might never face them. However, multi-threaded bare metal software like operating systems, embedded software, and real-time software have to consider memory consi...
Weak-memory models are standard formal specifications of concurrency across hardware, programming la...
Software verification is considered to be a hard computational problem vulnerable to the state explo...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Multiprocessors implement weak memory models, but program verifiers often assume Sequential Consiste...
dedicated to the memory of Kohei Honda Abstract Multiprocessors implement weak memory models, but pr...
We address the verification problem of finite-state concurrent pro-grams running under weak memory m...
Weak consistency is a memory model that is frequently considered for shared memory systems. Its most...
We have proposed a framework for verifying that multiprocessor memory systems satisfy the requiremen...
When a program is compiled and run on a modern architecture, different optimizations may be applied ...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
Sequential Consistency (SC) is the memory model traditionally applied by programmers and verificatio...
Knowing the extent to which we rely on technology one may think that correct programs are nowadays t...
technical reportWe view shared memories as structures which define relations over the set of progra...
Weak-memory models are standard formal specifications of concurrency across hardware, programming la...
Software verification is considered to be a hard computational problem vulnerable to the state explo...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Multiprocessors implement weak memory models, but program verifiers often assume Sequential Consiste...
dedicated to the memory of Kohei Honda Abstract Multiprocessors implement weak memory models, but pr...
We address the verification problem of finite-state concurrent pro-grams running under weak memory m...
Weak consistency is a memory model that is frequently considered for shared memory systems. Its most...
We have proposed a framework for verifying that multiprocessor memory systems satisfy the requiremen...
When a program is compiled and run on a modern architecture, different optimizations may be applied ...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
Sequential Consistency (SC) is the memory model traditionally applied by programmers and verificatio...
Knowing the extent to which we rely on technology one may think that correct programs are nowadays t...
technical reportWe view shared memories as structures which define relations over the set of progra...
Weak-memory models are standard formal specifications of concurrency across hardware, programming la...
Software verification is considered to be a hard computational problem vulnerable to the state explo...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...