This paper presents a new and practical approach to lock-free locks based on helping, which allows the user to write code using fine-grained locks, but run it in a lock-free manner. Although lock-free locks have been suggested in the past, they are widely viewed as impractical, have some key limitations, and, as far as we know, have never been implemented. The paper presents some key techniques that make lock-free locks practical and more general. The most important technique is an approach to idempotence---i.e. making code that runs multiple times appear as if it ran once. The idea is based on using a shared log among processes running the same protected code. Importantly, the approach is purely library based, requiring very little if any ...
We present a lock-free version of the light-weight userleveltask management library called Wool, in ...
Helping is a widely used technique to guarantee lock-freedom in many concurrent data structures. An ...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...
An essential part of programming for multi-core and multi-processor includes ef cient and reliable m...
An essential part of programming for multi-core and multi-processor includes ef cient and reliable m...
Mutual-exclusion locks are currently the most popular mechanism for interprocess synchronisation, la...
AbstractLock-freedom is a property of concurrent programs which states that, from any state of the p...
Lock-freedom is a property of concurrent programs which states that, from any state of the program, ...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...
Lock-free algorithms are an approach to concurrent programming wherethreads access shared state with...
Lock-free algorithms are an approach to concurrent programming wherethreads access shared state with...
The paper studies the impact of several lock manager designs on the overhead imposed to a persistent...
We present a lock-free version of the light-weight userlevel task management library called Wool, in...
Helping is the most common mechanism to guarantee lock-freedom in many concurrent data structures. A...
We present a lock-free version of the light-weight userleveltask management library called Wool, in ...
Helping is a widely used technique to guarantee lock-freedom in many concurrent data structures. An ...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...
An essential part of programming for multi-core and multi-processor includes ef cient and reliable m...
An essential part of programming for multi-core and multi-processor includes ef cient and reliable m...
Mutual-exclusion locks are currently the most popular mechanism for interprocess synchronisation, la...
AbstractLock-freedom is a property of concurrent programs which states that, from any state of the p...
Lock-freedom is a property of concurrent programs which states that, from any state of the program, ...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...
Lock-free algorithms are an approach to concurrent programming wherethreads access shared state with...
Lock-free algorithms are an approach to concurrent programming wherethreads access shared state with...
The paper studies the impact of several lock manager designs on the overhead imposed to a persistent...
We present a lock-free version of the light-weight userlevel task management library called Wool, in...
Helping is the most common mechanism to guarantee lock-freedom in many concurrent data structures. A...
We present a lock-free version of the light-weight userleveltask management library called Wool, in ...
Helping is a widely used technique to guarantee lock-freedom in many concurrent data structures. An ...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...