The compare-and-swap register (CAS) is a synchronization primitive for lock-free algorithms. Most uses of it, however, suffer from the so-called ABA problem. The simplest and most efficient solution to the ABA problem is to include a tag with the memory location such that the tag is incremented with each update of the target location. This solution, however, is theoretically unsound and has limited applicability. This paper presents a general lock-free pattern that is based on the synchronization primitive CAS without causing ABA problem or problems with wrap around. It can be used to provide lock-free functionality for any data type. Our algorithm is a CAS variation of a LL/SC methodology for lock-free transformation. The basis of our tech...
Helping is the most common mechanism to guarantee lock-freedom in many concurrent data structures. A...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
The current literature offers two extremes of nonblocking software synchronization support for concu...
The compare-and-swap register (CAS) is a synchronization primitive for lock-free algorithms. Most us...
AbstractThe compare-and-swap register (CAS) is a synchronization primitive for lock-free algorithms....
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Abstract: "An important class of concurrent objects are those that are lock-free, that is, whose ope...
An increasing number of modern real-time systems and the nowadays ubiquitous multicore architectures...
This extended abstract overviews work on a type system for lock-free programming based on compare-an...
This paper presents a lock-free parallel algorithm for mark&sweep garbage collection (GC) in a reali...
Abstract. Work on non-blocking data structures has proposed extend-ing processor designs with a comp...
The significant benefit of lock (or wait)-freedom for real-time systems is that by avoiding locks th...
Abstract. Work on non-blocking data structures has proposed extend-ing processor designs with a comp...
Helping is a widely used technique to guarantee lock-freedom in many concurrent data structures. An ...
Helping is the most common mechanism to guarantee lock-freedom in many concurrent data structures. A...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
The current literature offers two extremes of nonblocking software synchronization support for concu...
The compare-and-swap register (CAS) is a synchronization primitive for lock-free algorithms. Most us...
AbstractThe compare-and-swap register (CAS) is a synchronization primitive for lock-free algorithms....
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Abstract: "An important class of concurrent objects are those that are lock-free, that is, whose ope...
An increasing number of modern real-time systems and the nowadays ubiquitous multicore architectures...
This extended abstract overviews work on a type system for lock-free programming based on compare-an...
This paper presents a lock-free parallel algorithm for mark&sweep garbage collection (GC) in a reali...
Abstract. Work on non-blocking data structures has proposed extend-ing processor designs with a comp...
The significant benefit of lock (or wait)-freedom for real-time systems is that by avoiding locks th...
Abstract. Work on non-blocking data structures has proposed extend-ing processor designs with a comp...
Helping is a widely used technique to guarantee lock-freedom in many concurrent data structures. An ...
Helping is the most common mechanism to guarantee lock-freedom in many concurrent data structures. A...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
The current literature offers two extremes of nonblocking software synchronization support for concu...