Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They are used to enforce atomicity of certain code portions, avoid undefined behaviour due to data races, and hide weak memory effects of the underlying hardware architectures (i.e., they provide the illusion of interleaved execution). To provide these guarantees, the correct interplay of a number of subsystems is required. We distinguish between the application level, the transformation level, and the hardware level. On the application level, the programmer is required to correctly use the locks. This amounts to avoiding data races, deadlocks, and other errors in using the locking primitives, such as unlocking a lock that is not currently held. On ...
A priori, locking seems easy: To protect shared data from concurrent accesses, it is sufficient to l...
Abstract. This paper presents an expressive specification and verifica-tion framework for ensuring d...
The advent of chip multi-processors has led to an increase in computational performance in recent ye...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
From the introduction to concurrency, we saw one of the fundamental problems in concurrent programmi...
Abstract. We present a code transformation for concurrent data struc-tures, which increases their sc...
Modern multi-core processors provide primitives to allow parallel programs to atomically perform sel...
Concurrent object-oriented programming languages coordinate conflicting memory accesses through lock...
Manually detecting bugs in concurrent programs is hard due to the myriad of thread interleavings tha...
International audienceA plethora of optimized mutex lock algorithms have been designed over the past...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Locks are used in shared memory parallel programs to achieve a variety of synchronization objectives...
Concurrent data structures provide the means to multi-threaded applications to share data. Typical d...
Locks have been widely used as an effective synchroniza-tion mechanism among processes and threads. ...
A priori, locking seems easy: To protect shared data from concurrent accesses, it is sufficient to l...
Abstract. This paper presents an expressive specification and verifica-tion framework for ensuring d...
The advent of chip multi-processors has led to an increase in computational performance in recent ye...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
From the introduction to concurrency, we saw one of the fundamental problems in concurrent programmi...
Abstract. We present a code transformation for concurrent data struc-tures, which increases their sc...
Modern multi-core processors provide primitives to allow parallel programs to atomically perform sel...
Concurrent object-oriented programming languages coordinate conflicting memory accesses through lock...
Manually detecting bugs in concurrent programs is hard due to the myriad of thread interleavings tha...
International audienceA plethora of optimized mutex lock algorithms have been designed over the past...
International audienceConcurrent programs running on weak memory models exhibit re-laxed behaviours,...
Locks are used in shared memory parallel programs to achieve a variety of synchronization objectives...
Concurrent data structures provide the means to multi-threaded applications to share data. Typical d...
Locks have been widely used as an effective synchroniza-tion mechanism among processes and threads. ...
A priori, locking seems easy: To protect shared data from concurrent accesses, it is sufficient to l...
Abstract. This paper presents an expressive specification and verifica-tion framework for ensuring d...
The advent of chip multi-processors has led to an increase in computational performance in recent ye...