Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fast randomized consensus using shared memory
Journal of Algorithms
A methodology for implementing highly concurrent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
The synergy between non-blocking synchronization and operating system structure
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Real-time object sharing with minimal system support
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
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
Thread scheduling for multiprogrammed multiprocessors
Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
Proceedings of the twelfth annual ACM symposium on Parallel algorithms and architectures
Even Better DCAS-Based Concurrent Deques
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
Non-blocking Synchronization and System Design
Non-blocking Synchronization and System Design
DCAS-based concurrent deques supporting bulk allocation
DCAS-based concurrent deques supporting bulk allocation
Nonblocking k-compare-single-swap
Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
DCAS is not a silver bullet for nonblocking algorithm design
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
Lower bounds for adaptive collect and related objects
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Byzantine disk paxos: optimal resilience with byzantine shared memory
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Performance Evaluation of Task Pools Based on Hardware Synchronization
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
Threads cannot be implemented as a library
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Revocable locks for non-blocking programming
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Design tradeoffs in modern software transactional memory systems
LCR '04 Proceedings of the 7th workshop on Workshop on languages, compilers, and run-time support for scalable systems
Fast and lock-free concurrent priority queues for multi-thread systems
Journal of Parallel and Distributed Computing
Advanced contention management for dynamic software transactional memory
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Toward a theory of transactional contention managers
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Adversarial contention resolution for simple channels
Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
Fault-scalable Byzantine fault-tolerant services
Proceedings of the twentieth ACM symposium on Operating systems principles
Linear Lower Bounds on Real-World Implementations of Concurrent Objects
FOCS '05 Proceedings of the 46th Annual IEEE Symposium on Foundations of Computer Science
Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Synchronizing without locks is inherently expensive
Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing
A flexible framework for implementing software transactional memory
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Concurrent programming without locks
ACM Transactions on Computer Systems (TOCS)
The notion of a timed register and its application to indulgent synchronization
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
Nonblocking transactions without indirection using alert-on-update
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
MetaTM/TxLinux: transactional memory for an operating system
Proceedings of the 34th annual international symposium on Computer architecture
Derivation of a Scalable Lock-Free Stack Algorithm
Electronic Notes in Theoretical Computer Science (ENTCS)
Abortable and query-abortable objects and their efficient implementation
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Efficient fork-linearizable access to untrusted shared memory
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Low-overhead byzantine fault-tolerant storage
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Performance of memory reclamation for lockless synchronization
Journal of Parallel and Distributed Computing
Toward high performance nonblocking software transactional memory
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Trace-based Derivation of a Lock-Free Queue Algorithm
Electronic Notes in Theoretical Computer Science (ENTCS)
Distributed computing and the multicore revolution
ACM SIGACT News
Is the optimism in optimistic concurrency warranted?
HOTOS'07 Proceedings of the 11th USENIX workshop on Hot topics in operating systems
Tight RMR lower bounds for mutual exclusion and other problems
STOC '08 Proceedings of the fortieth annual ACM symposium on Theory of computing
Model checking transactional memories
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Lock-free deques and doubly linked lists
Journal of Parallel and Distributed Computing
Adaptive transaction scheduling for transactional memory systems
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
On obstruction-free transactions
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Timeliness-based wait-freedom: a gracefully degrading progress condition
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Monitoring the QoS for Web Services
ICSOC '07 Proceedings of the 5th international conference on Service-Oriented Computing
Practical, Fast and Simple Concurrent FIFO Queues Using Single Word Synchronization Primitives
Ada-Europe '08 Proceedings of the 13th Ada-Europe international conference on Reliable Software Technologies
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
On Scalable Synchronization for Distributed Embedded Real-Time Systems
SEUS '08 Proceedings of the 6th IFIP WG 10.2 international workshop on Software Technologies for Embedded and Ubiquitous Systems
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proving that non-blocking algorithms don't block
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communications of the ACM - Security in the Browser
Two Consensus Algorithms with Atomic Registers and Failure Detector Ω
ICDCN '09 Proceedings of the 10th International Conference on Distributed Computing and Networking
The complexity of obstruction-free implementations
Journal of the ACM (JACM)
Progress guarantee for parallel programs via bounded lock-freedom
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
NZTM: nonblocking zero-indirection transactional memory
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Remote storage with byzantine servers
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Scalable nonblocking concurrent objects for mission critical code
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Efficient Robust Storage Using Secret Tokens
SSS '09 Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems
Brief Announcement: Relay: A Cache-Coherence Protocol for Distributed Transactional Memory
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
Abortable Fork-Linearizable Storage
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
On the Computational Power of Shared Objects
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
Transient blocking synchronization
Transient blocking synchronization
Verifying Concurrent Data Structures by Simulation
Electronic Notes in Theoretical Computer Science (ENTCS)
Verifying lock-freedom using well-founded orders
ICTAC'07 Proceedings of the 4th international conference on Theoretical aspects of computing
Simplifying concurrent algorithms by exploiting hardware transactional memory
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Contention-sensitive data structures and algorithms
DISC'09 Proceedings of the 23rd international conference on Distributed computing
On asymmetric progress conditions
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Journal of Parallel and Distributed Computing
The x-wait-freedom progress condition
EuroPar'10 Proceedings of the 16th international Euro-Par conference on Parallel processing: Part I
DISC'10 Proceedings of the 24th international conference on Distributed computing
Window-based greedy contention management for transactional memory
DISC'10 Proceedings of the 24th international conference on Distributed computing
The computational structure of progress conditions
DISC'10 Proceedings of the 24th international conference on Distributed computing
Synchronization for fast and reentrant operating system kernel tracing
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
Making lockless synchronization fast: performance implications of memory reclamation
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
On transactional scheduling in distributed transactional memory ystems
SSS'10 Proceedings of the 12th international conference on Stabilization, safety, and security of distributed systems
On adaptive renaming under eventually limited contention
SSS'10 Proceedings of the 12th international conference on Stabilization, safety, and security of distributed systems
A competitive analysis for balanced transactional memory workloads
OPODIS'10 Proceedings of the 14th international conference on Principles of distributed systems
Relating L-resilience and wait-freedom via hitting sets
ICDCN'11 Proceedings of the 12th international conference on Distributed computing and networking
DepSky: dependable and secure storage in a cloud-of-clouds
Proceedings of the sixth conference on Computer systems
Coping with context switches in lock-based software transactional memory
Proceedings of the 4th Annual International Conference on Systems and Storage
Verification of semantic commutativity conditions and inverse operations on linked data structures
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Linearizable implementations do not suffice for randomized distributed computation
Proceedings of the forty-third annual ACM symposium on Theory of computing
On the performance of distributed lock-based synchronization?
ACM SIGOPS Operating Systems Review
The Price of Anonymity: Optimal Consensus Despite Asynchrony, Crash, and Anonymity
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Looking for efficient implementations of concurrent objects
PaCT'11 Proceedings of the 11th international conference on Parallel computing technologies
A hybrid parallel solver for systems of multivariate polynomials using CPUs and GPUs
Computer-Aided Design
Formalising progress properties of non-blocking programs
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Built-in coloring for highly-concurrent doubly-linked lists
DISC'06 Proceedings of the 20th international conference on Distributed Computing
A lazy snapshot algorithm with eager validation
DISC'06 Proceedings of the 20th international conference on Distributed Computing
The weakest failure detectors to boost obstruction-freedom
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Constructing shared objects that are both robust and high-throughput
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Brief announcement: abortable and query-abortable objects
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Lock-free and practical doubly linked list-based deques using single-word compare-and-swap
OPODIS'04 Proceedings of the 8th international conference on Principles of Distributed Systems
A methodology for creating fast wait-free data structures
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
Obstruction-Free algorithms can be practically wait-free
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Computing with reads and writes in the absence of step contention
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Time and space lower bounds for implementations using k-CAS
DISC'05 Proceedings of the 19th international conference on Distributed Computing
What can be implemented anonymously?
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Polymorphic contention management
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Distributed transactional memory for metric-space networks
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Adaptive software transactional memory
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Efficiently implementing a large number of LL/SC objects
OPODIS'05 Proceedings of the 9th international conference on Principles of Distributed Systems
Anonymous agreement: the janus algorithm
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Fork-Consistent constructions from registers
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
On the implementation of concurrent objects
Dependable and Historic Computing
The renaming problem in shared memory systems: An introduction
Computer Science Review
Lower bounds for restricted-use objects: extended abstract
Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures
Strongly linearizable implementations: possibilities and impossibilities
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
A subjective visit to selected topics in distributed computing
DISC'07 Proceedings of the 21st international conference on Distributed Computing
Efficient transformations of obstruction-free algorithms into non-blocking algorithms
DISC'07 Proceedings of the 21st international conference on Distributed Computing
Compiler support for lightweight context switching
ACM Transactions on Architecture and Code Optimization (TACO) - Special Issue on High-Performance Embedded Architectures and Compilers
Intensional and extensional characterisation of global progress in the π-calculus
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Compiler aided manual speculation for high performance concurrent data structures
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
High quality real-time image-to-mesh conversion for finite element simulations
Proceedings of the 27th international ACM conference on International conference on supercomputing
On deterministic abortable objects
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Verifying safety and liveness for the FlexTM hybrid transactional memory
Proceedings of the Conference on Design, Automation and Test in Europe
The balancing act of choosing nonblocking features
Communications of the ACM
The Balancing Act of Choosing Nonblocking Features
Queue - Development
Characterizing progress properties of concurrent objects via contextual refinements
CONCUR'13 Proceedings of the 24th international conference on Concurrency Theory
DepSky: Dependable and Secure Storage in a Cloud-of-Clouds
ACM Transactions on Storage (TOS)
Fast concurrent lock-free binary search trees
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
High quality real-time Image-to-Mesh conversion for finite element simulations
Journal of Parallel and Distributed Computing
Quantitative Reasoning for Proving Lock-Freedom
LICS '13 Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
Hi-index | 0.02 |
We introduce obstruction-freedom, a new nonblockingproperty for shared data structure implementations. Thisproperty is strong enough to avoid the problems associatedwith locks, but it is weaker than previous nonblockingproperties-specifically lock-freedom and wait-freedom-allowing greater flexibility in the design of efficient implementations.Obstruction-freedom admits substantially simplerimplementations, and we believe that in practice itprovides the benefits of wait-free and lock-free implementations.To illustrate the benefits of obstruction-freedom, wepresent two obstruction-free CAS-based implementations ofdouble-ended queues (deques); the first is implemented on alinear array, the second on a circular array. To our knowledge,all previous nonblocking deque implementations arebased on unrealistic assumptions about hardware supportfor synchronization, have restricted functionality, or haveoperations that interfere with operations at the opposite endof the deque even when the deque has many elements init. Our obstruction-free implementations have none of thesedrawbacks, and thus suggest that it is much easier to designobstruction-free implementations than lock-free and wait-freeones. We also briefly discuss other obstruction-freedata structures and operations that we have implemented.