Axioms for memory access in asynchronous hardware systems
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
On processor coordination using asynchronous hardware
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
The elusive atomic register revisited
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Constructing multi-reader atomic values from non-atomic values
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
A protocol for wait-free, atomic, multi-reader shared variables
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Constructing Two-Writer Atomic Registers
IEEE Transactions on Computers
Parallel program design: a foundation
Parallel program design: a foundation
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Atomic snapshots of shared memory
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
Wait-free data structures in the asynchronous PRAM model
SPAA '90 Proceedings of the second annual ACM symposium on Parallel algorithms and architectures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrent Reading While Writing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrent reading and writing
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
Proceedings of the 2nd International Workshop on Distributed Algorithms
How to Construct an Atomic Variable (Extended Abstract)
Proceedings of the 3rd International Workshop on Distributed Algorithms
Pseudo Read-Modify-Write Operations: Bounded Wait-Free Implementations (Extended Abstract)
WDAG '91 Proceedings of the 5th International Workshop on Distributed Algorithms
How to Share Concurrent Asynchronous Wait-Free Varaibles (Preliminary Version)
ICALP '89 Proceedings of the 16th International Colloquium on Automata, Languages and Programming
A Proof Technique for Register Automicity
Proceedings of the Eighth Conference on Foundations of Software Technology and Theoretical Computer Science
Multiple-Writer Composite Registers
Multiple-Writer Composite Registers
The Virtue of Patience: Concurrent Programming with and Without Waiting
The Virtue of Patience: Concurrent Programming with and Without Waiting
Atomic shared register access by asynchronous hardware
SFCS '86 Proceedings of the 27th Annual Symposium on Foundations of Computer Science
Sharing memory robustly in message-passing systems
Journal of the ACM (JACM)
How to share concurrent wait-free variables
Journal of the ACM (JACM)
The power of multi-objects (extended abstract)
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
Towards a topological characterization of asynchronous complexity
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
Space-optimal multi-writer snapshot objects are slow
Proceedings of the twenty-first annual symposium on Principles of distributed computing
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
Hundreds of impossibility results for distributed computing
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Collective asynchronous reading with polylogarithmic worst-case overhead
STOC '04 Proceedings of the thirty-sixth annual ACM symposium on Theory of computing
Efficient synchronous snapshots
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Distributed Computing
Randomized naming using wait-free shared variables
Distributed Computing
An optimal multi-writer snapshot algorithm
Proceedings of the thirty-seventh annual ACM symposium on Theory of computing
Compositional competitiveness for distributed algorithms
Journal of Algorithms
Atomic snapshots using lattice agreement
Distributed Computing
Using local-spin k-exclusion algorithms to improve wait-free object implementations
Distributed Computing
Time-space tradeoffs for implementations of snapshots
Proceedings of the thirty-eighth annual ACM symposium on Theory of computing
Single-scanner multi-writer snapshot implementations are fast!
Proceedings of the twenty-fifth annual ACM symposium on Principles of 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
Time lower bounds for implementations of multi-writer snapshots
Journal of the ACM (JACM)
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Compositional competitiveness for distributed algorithms
Journal of Algorithms
Polylogarithmic concurrent data structures from monotone circuits
Journal of the ACM (JACM)
What can be implemented anonymously?
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Faster than optimal snapshots (for a while): preliminary version
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
Hi-index | 0.00 |
We introduce a shared data object, called a composite register, that generalizes the notion of an atomic register. A composite register is an array-like shared data object that is partitioned into a number of components. An operation of a composite register either writes a value to a single component or reads the values of all components. A composite register reduces to an ordinary atomic register when there is only one component. In this paper, we show that multi-reader, single-writer atomic registers can be used to implement a composite register in which there is only one writer per component. In a related paper, we show how to use the composite register construction of this paper to implement a composite register with multiple writers per component. These two constructions show that it is possible to implement a shared memory that can be read in its entirety in a single snapshot operation, without using mutual exclusion.