scispace - formally typeset
Search or ask a question

Showing papers by "Dan Alistarh published in 2013"


Proceedings ArticleDOI
22 Jul 2013
TL;DR: This paper gives a non-adaptive algorithm with O( log log n ) (individual) step complexity, and an adaptive algorithm with step complexity O((log log k)2 ), where k is the actual contention in the execution.
Abstract: Renaming is a classic distributed coordination task in which a set of processes must pick distinct identifiers from a small namespace. In this paper, we consider the time complexity of this problem when the namespace is linear in the number of participants, a variant known as loose renaming. We give a non-adaptive algorithm with O( log log n ) (individual) step complexity, where n is a known upper bound on contention, and an adaptive algorithm with step complexity O((log log k)2 ), where k is the actual contention in the execution. We also present a variant of the adaptive algorithm which requires O( k log log k ) total process steps. All upper bounds hold with high probability against a strong adaptive adversary.We complement the algorithms with an Ω(log log n) expected time lower bound on the complexity of randomized renaming using test-and-set operations and linear space. The result is based on a new coupling technique, and is the first to apply to non-adaptive randomized renaming. Since our algorithms use O(n) test-and-set objects, our results provide matching bounds on the cost of loose renaming in this setting.

7 citations


Posted Content
TL;DR: This paper shows that lock-free algorithms are not only wait-free with probability 1, but that a general subset of lock- free algorithms can be closely bounded in terms of the average number of steps required until an operation completes, and makes the first attempt to analyze progress conditions in a stochastic model.
Abstract: Lock-free concurrent algorithms guarantee that some concurrent operation will always make progress in a finite number of steps. Yet programmers prefer to treat concurrent code as if it were wait-free, guaranteeing that all operations always make progress. Unfortunately, designing wait-free algorithms is generally a very complex task, and the resulting algorithms are not always efficient. While obtaining efficient wait-free algorithms has been a long-time goal for the theory community, most non-blocking commercial code is only lock-free. This paper suggests a simple solution to this problem. We show that, for a large class of lock- free algorithms, under scheduling conditions which approximate those found in commercial hardware architectures, lock-free algorithms behave as if they are wait-free. In other words, programmers can keep on designing simple lock-free algorithms instead of complex wait-free ones, and in practice, they will get wait-free progress. Our main contribution is a new way of analyzing a general class of lock-free algorithms under a stochastic scheduler. Our analysis relates the individual performance of processes with the global performance of the system using Markov chain lifting between a complex per-process chain and a simpler system progress chain. We show that lock-free algorithms are not only wait-free with probability 1, but that in fact a general subset of lock-free algorithms can be closely bounded in terms of the average number of steps required until an operation completes. To the best of our knowledge, this is the first attempt to analyze progress conditions, typically stated in relation to a worst case adversary, in a stochastic model capturing their expected asymptotic behavior.

4 citations


01 Jan 2013
TL;DR: A non-adaptive algorithm with O(log logn) (individual) step complexity, and an adaptive algorithm with step complexity O((log logk) 2 ), where k is the actual contention in the execution, which provide matching bounds on the cost of loose renaming in this setting.
Abstract: Renaming is a classic distributed coordination task in which a set of processes must pick distinct identiers from a small namespace. In this paper, we consider the time complexity of this problem when the namespace is linear in the number of participants, a variant known as loose renaming. We give a non-adaptive algorithm with O(log logn) (individual) step complexity, where n is a known upper bound on contention, and an adaptive algorithm with step complexity O((log logk) 2 ), where k is the actual contention in the execution. We also present a variant of the adaptive algorithm which requires O(k log logk) total process steps. All upper bounds hold with high probability against a strong adaptive adversary. We complement the algorithms with an (log log n) expected time lower bound on the complexity of randomized renaming using test-and-set operations and linear space. The result is based on a new coupling technique, and is the rst to apply to non-adaptive randomized renaming. Since our algorithms use O(n) test-and-set objects, our results provide matching bounds on the cost of loose renaming in this setting.