Since the design of lock-free data structures often poses a formidable intellectual challenge, researchers are constantly in search of abstractions and primitives that simplify this design. The multiword LL/SC object is such a primitive: many existing algorithms are based on this primitive, including the nonblocking and wait-free universal constructions of Anderson and Moir (1995), the closed objects construction of Chandra et al.(1998) and the snapshot algorithms of Jayanti (2002, 2004). In this paper, we consider the problem of implementing a W-word LL/SC object shared by N processes. The previous best algorithm, due to Anderson and Moir (1995), is time optimal (LL and SC operations run in O(W) time), but has a space complexity of O(N^2W)...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Atomic lock-free multi-word compare-and-swap (MCAS) is a powerful tool for designing concurrent algo...
When a process attempts to acquire a mutex lock, it may be forced to wait if another process current...
Since the design of lock-free data structures often poses a formidable intellectual challenge, resea...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
Over the past decade, LL/SC have emerged as the most suitable synchronization instructions for the d...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...
The significant benefit of lock (or wait)-freedom for real-time systems is that by avoiding locks th...
We consider shared memory systems in which asynchronous processes cooperate with each other by commu...
This thesis proposes algorithms for implementing a atomic multi-word buffer, which can be accessed c...
Herlihy proved that CAS is universal in the classical computing system model composed of an a priori...
We define a new set of primitive operations that greatly sim-plify the implementation of non-blockin...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Atomic lock-free multi-word compare-and-swap (MCAS) is a powerful tool for designing concurrent algo...
When a process attempts to acquire a mutex lock, it may be forced to wait if another process current...
Since the design of lock-free data structures often poses a formidable intellectual challenge, resea...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
Over the past decade, LL/SC have emerged as the most suitable synchronization instructions for the d...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...
The significant benefit of lock (or wait)-freedom for real-time systems is that by avoiding locks th...
We consider shared memory systems in which asynchronous processes cooperate with each other by commu...
This thesis proposes algorithms for implementing a atomic multi-word buffer, which can be accessed c...
Herlihy proved that CAS is universal in the classical computing system model composed of an a priori...
We define a new set of primitive operations that greatly sim-plify the implementation of non-blockin...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Atomic lock-free multi-word compare-and-swap (MCAS) is a powerful tool for designing concurrent algo...
When a process attempts to acquire a mutex lock, it may be forced to wait if another process current...