Modern architectures implement relaxed memory models which may reorder memory operations or execute them non-atomically. Special instructions called memory fences are provided, allowing control of this behavior. To implement a concurrent algorithm for a modern architecture, the programmer is forced to manually reason about subtle relaxed behaviors and figure out ways to control these behaviors by adding fences to the program. Not only is this process time consuming and error-prone, but it has to be repeated every time the implementation is ported to a different architecture. In this paper, we present the first scalable framework for han-dling real-world concurrent algorithms running on relaxed archi-tectures. Given a concurrent C program, a...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Pseudo-code descriptions of STMs assume sequentially consistent program execution and atomicity of h...
We propose a new approach to programming multi-core, relaxed-memory architectures in imperative, por...
Abstract—This paper addresses the problem of placing mem-ory fences in a concurrent program running ...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Abstract. We address the problem of fence inference in infinite-state concur-rent programs running o...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
For performance reasons, modern multiprocessors implement relaxed memory consistency models that adm...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
Abstract. This paper addresses the problem of verifying and correcting programs when they are moved ...
We propose a novel, operational framework to formally describe the semantics of concurrent programs ...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Pseudo-code descriptions of STMs assume sequentially consistent program execution and atomicity of h...
We propose a new approach to programming multi-core, relaxed-memory architectures in imperative, por...
Abstract—This paper addresses the problem of placing mem-ory fences in a concurrent program running ...
The work covered in this thesis concerns automatic analysis of correctness of parallel programs runn...
Abstract. We address the problem of fence inference in infinite-state concur-rent programs running o...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
For efficiency reasons, most modern processor architectures allow the reordering of CPU instructions...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
For performance reasons, modern multiprocessors implement relaxed memory consistency models that adm...
Model-checking tools classicaly verify concurrent programs under the traditional Sequential Consiste...
Abstract. This paper addresses the problem of verifying and correcting programs when they are moved ...
We propose a novel, operational framework to formally describe the semantics of concurrent programs ...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Many multithreaded programs employ concurrent data types to safely share data among threads. However...
Pseudo-code descriptions of STMs assume sequentially consistent program execution and atomicity of h...
We propose a new approach to programming multi-core, relaxed-memory architectures in imperative, por...