We prove the correctness of the concurrent deque component of a recent implementation of the work-stealing algorithm. Specifically, we prove that this concurrent deque implementation is synchronizable. Synchronizability is a weaker condition than the more traditional notion of serializability. Our concurrent deque implementation is not serializable, but its synchronizability makes it sufficient for use in the work-stealing algorithm. Whereas serializability requires that concurrent method invocations appear as if they are executed atomically in some serial order, synchronizability allows some invocations to appear as if they are executed atomically at exactly the same time. 1 Introduction In this paper we prove the correctness of the conc...
There are two main policies for scheduling thread-based concurrent programs: preemptive scheduling a...
We present an efficient and practical lock-free implementation of a concurrent deque that supports p...
Synchronization is the coordination of concurrent processes that occurs in most complex software sys...
We prove the correctness of the concurrent deque component of a recent implementation of the work-st...
Software verification is the process of checking a software system to make sure it meets its specifi...
Work-stealing is an efficient method to implement load balancing in fine-grained task parallelism. T...
Shared data object implementations that allow non-blocking concurrent operations are useful for in-m...
This is the full version of the paper, which includes more detailed proofs than the conference versi...
Abstract The computer industry is currently examining the use of strong synchronization operations s...
grantor: University of TorontoWe study non-blocking linearizable implementations of objec...
International audienceChase and Lev's concurrent deque is a key data structure in shared- memory par...
Verification of concurrent algorithms has been the focus of much research over a considerable period...
We present an efficient and practical lock-free implementation of a concurrent deque that is disjoin...
We are developing an interactive debugger with reverse execution for the language Standard ML extend...
A method is presented for programming correct and efficient cooperation in a set of sequential modul...
There are two main policies for scheduling thread-based concurrent programs: preemptive scheduling a...
We present an efficient and practical lock-free implementation of a concurrent deque that supports p...
Synchronization is the coordination of concurrent processes that occurs in most complex software sys...
We prove the correctness of the concurrent deque component of a recent implementation of the work-st...
Software verification is the process of checking a software system to make sure it meets its specifi...
Work-stealing is an efficient method to implement load balancing in fine-grained task parallelism. T...
Shared data object implementations that allow non-blocking concurrent operations are useful for in-m...
This is the full version of the paper, which includes more detailed proofs than the conference versi...
Abstract The computer industry is currently examining the use of strong synchronization operations s...
grantor: University of TorontoWe study non-blocking linearizable implementations of objec...
International audienceChase and Lev's concurrent deque is a key data structure in shared- memory par...
Verification of concurrent algorithms has been the focus of much research over a considerable period...
We present an efficient and practical lock-free implementation of a concurrent deque that is disjoin...
We are developing an interactive debugger with reverse execution for the language Standard ML extend...
A method is presented for programming correct and efficient cooperation in a set of sequential modul...
There are two main policies for scheduling thread-based concurrent programs: preemptive scheduling a...
We present an efficient and practical lock-free implementation of a concurrent deque that supports p...
Synchronization is the coordination of concurrent processes that occurs in most complex software sys...