A fast mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fast randomized consensus using shared memory
Journal of Algorithms
Wait-free data structures in the asynchronous PRAM model
SPAA '90 Proceedings of the second annual ACM symposium on Parallel algorithms and architectures
Atomic snapshots of shared memory
Journal of the ACM (JACM)
Time- and space-efficient randomized consensus
Journal of Algorithms
Bounds on shared memory for mutual exclusion
Information and Computation
Are wait-free algorithms fast?
Journal of the ACM (JACM)
Bounded Concurrent Time-Stamping
SIAM Journal on Computing
Atomic Snapshots in O (n log n) Operations
SIAM Journal on Computing
Long-lived and adaptive atomic snapshot and immediate snapshot (extended abstract)
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Distributed Algorithms
Space-optimal multi-writer snapshot objects are slow
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Reading Many Variables in One Atomic Operation: Solutions with Linear or Sublinear Complexity
IEEE Transactions on Parallel and Distributed Systems
Linear-Time Snapshot Using Multi-writer Multi-reader Registers
WDAG '94 Proceedings of the 8th International Workshop on Distributed Algorithms
Concurrent Timestamping Made Simple
ISTCS'92 Proceedings of the Israel Symposium on Theory of Computing and Systems
A tight time lower bound for space-optimal implementations of multi-writer snapshots
Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
Algorithms adapting to point contention
Journal of the ACM (JACM)
Long-Lived Adaptive Collect with Applications
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Distributed Computing: Fundamentals, Simulations and Advanced Topics
Distributed Computing: Fundamentals, Simulations and Advanced Topics
Lower bounds for adaptive collect and related objects
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Efficient synchronous snapshots
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
An adaptive collect algorithm with applications
Distributed Computing
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
Distributed Computing
Multi-writer composite registers
Distributed Computing
Time-space tradeoffs for implementations of snapshots
Proceedings of the thirty-eighth annual ACM symposium on Theory of 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
Time-optimal, space-efficient single-scanner snapshots & multi-scanner snapshots using CAS
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
The complexity of updating multi-writer snapshot objects
ICDCN'06 Proceedings of the 8th international conference on Distributed Computing and Networking
Hi-index | 0.00 |
Snapshot objects allow processes to obtain consistent global views of shared memory. A snapshot object consists of m components each capable of storing a value. The processes execute UPDATE operations to write new values in any of the components and SCANS to obtain consistent views of the snapshot contents. A single-scanner snapshot object supports only one active SCAN at any point in time (although UPDATES can still be executed concurrently).This paper studies wait-free, linearizable, single-scanner, multi-writer snapshot implementations from registers in an asynchronous shared-memory system, and presents a collection of upper and lower bounds on their complexity. We provide the first such implementations with time complexities that are (linear or quadratic) functions only of the number of snapshot components and not of the number of processes. Moreover, we argue that single-scanner implementations require at least m registers and we prove that, for such implementations which are space-optimal, SCANS execute Ω(m2) steps.Our results reveal that a lower bound derived for the multi-scanner case can be beaten when we restrict the number of concurrently active SCANS. When m is constant, our algorithms exhibit constant time complexity (while one of them requires a constant number of registers as well). For the design of our algorithms we employ new ideas, while the proof of their correctness is a complicated task.