Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A methodology for implementing highly concurrent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Combining funnels: a dynamic approach to software combining
Journal of Parallel and Distributed Computing
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
A Nonblocking Algorithm for Shared Queues Using Compare-and-Swap
IEEE Transactions on Computers
Algorithms adapting to point contention
Journal of the ACM (JACM)
A Practical Nonblocking Queue Algorithm Using Compare-and-Swap
ICPADS '00 Proceedings of the Seventh International Conference on Parallel and Distributed Systems
A Lock-Free Multiprocessor OS Kernel
ACM SIGOPS Operating Systems Review
A scalable lock-free stack algorithm
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Nonblocking memory management support for dynamic-sized data structures
ACM Transactions on Computer Systems (TOCS)
Using elimination to implement scalable and lock-free FIFO queues
Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
Formal Verification of an Array-Based Nonblocking Queue
ICECCS '05 Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems
Common2 extended to stacks and unbounded concurrency
Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing
Lock-free dynamically resizable arrays
OPODIS'06 Proceedings of the 10th international conference on Principles of Distributed Systems
Looking for efficient implementations of concurrent objects
PaCT'11 Proceedings of the 11th international conference on Parallel computing technologies
On the implementation of concurrent objects
Dependable and Historic Computing
Fast concurrent queues for x86 processors
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
We present new non-blocking array-based shared stack and queue implementations. We sketch proofs of correctness and amortized time analyses for the algorithms. To the best of our knowledge, our stack algorithm is the first practical array-based one and it is the first time that bounded counter values are employed to implement a shared stack and queue. We verify the correctness of our algorithms by the Spin model checker and compare our algorithms to other algorithms experimentally.