Fast Randomized Test-and-Set and Renaming
Fast Randomized Test-and-Set and Renaming
复制标题
快速随机测试和设置以及重命名
DOI:
10.1007/978-3-642-15763-9_9
复制
发表时间:
2010
影响因子:
0.5
通讯作者:
R. Guerraoui
中科院分区:
文献类型:
--
作者:
Dan Alistarh;H. Attiya;Seth Gilbert;A. Giurgiu;R. Guerraoui
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 + e) using O(k log4 k/ log2(1 + e)) 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.