Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Renaming in an asynchronous environment
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Immediate atomic snapshots and fast renaming
PODC '93 Proceedings of the twelfth annual ACM symposium on Principles of distributed computing
Randomized algorithms
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Randomized Consensus in Expected O(n log^ 2 n) Operations Per Processor
SIAM Journal on Computing
Fast, wait-free (2k-1)-renaming
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
The topological structure of asynchronous computability
Journal of the ACM (JACM)
Adaptive and Efficient Algorithms for Lattice Agreement and Renaming
SIAM Journal on Computing
Wait-free Test-and-Set (Extended Abstract)
WDAG '92 Proceedings of the 6th International Workshop on Distributed Algorithms
Fast, Long-Lived Renaming (Extended Abstract)
WDAG '94 Proceedings of the 8th International Workshop on Distributed Algorithms
Fast, Long-Lived Renaming Improved and Simplified
WDAG '96 Proceedings of the 10th International Workshop on Distributed Algorithms
Long-Lived, Fast, Waitfree Renaming with Optimal Name Space and High Throughput
DISC '98 Proceedings of the 12th International Symposium on Distributed Computing
Adaptive Mutual Exclusion with Local Spinning
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
The Complexity of Synchronous Iterative Do-All with Crashes
DISC '01 Proceedings of the 15th International Conference on Distributed Computing
Randomized two-process wait-free test-and-set
Distributed Computing
Writing-all deterministically and optimally using a non-trivial number of asynchronous processors
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Randomized naming using wait-free shared variables
Distributed Computing
Probability and Computing: Randomized Algorithms and Probabilistic Analysis
Probability and Computing: Randomized Algorithms and Probabilistic Analysis
Using local-spin k-exclusion algorithms to improve wait-free object implementations
Distributed Computing
Efficient adaptive collect using randomization
Distributed Computing - Special issue: DISC 04
Do-All Computing in Distributed Systems
Do-All Computing in Distributed Systems
New combinatorial topology upper and lower bounds for renaming
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Asynchronous exclusive selection
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Tight bounds for asynchronous randomized consensus
Journal of the ACM (JACM)
Fully-adaptive algorithms for long-lived renaming
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Optimal-time adaptive strong renaming, with applications to counting
Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Sub-logarithmic test-and-set against aweak adversary
DISC'11 Proceedings of the 25th international conference on Distributed computing
On the time and space complexity of randomized test-and-set
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
The strong at-most-once problem
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Randomized loose renaming in o(log log n) time
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Brief announcement: resettable objects and efficient memory reclamation for concurrent algorithms
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Hi-index | 0.00 |
Most people believe that renaming is easy: simply choose a name at random; if more than one process selects the same name, then try again. We highlight the issues that occur when trying to implement such a scheme and shed new light on the read-write complexity of randomized renaming in an asynchronous environment. At the heart of our new perspective stands an adaptive implementation of a randomized test-and-set object, that has poly-logarithmic step complexity per operation, with high probability. Interestingly, our implementation is anonymous, as it does not require process identifiers. Based on this implementation, we present two new randomized renaming algorithms. The first ensures a tight namespace of n names using O(n log4 n) total steps, with high probability. This significantly improves on the complexity of the best previously known namespace-optimal algorithms. The second algorithm achieves a namespace of size k(1 + ε) using O(k log4 k/ log2(1 + ε)) total steps, both with high probability, where k is the total contention in the execution. It is the first adaptive randomized renaming algorithm, and it improves on existing deterministic solutions by providing a smaller namespace, and by lowering step complexity.