Results 1  10
of
14
An Adaptive Collect Algorithm with Applications
 Distributed Computing
, 2001
"... In a sharedmemory distributed system, n independent asynchronous processes communicate by reading and writing to shared memory. An algorithm is adaptive (to total contention) if its step complexity depends only on the actual number, k, of active processes in the execution; this number is unknown ..."
Abstract

Cited by 32 (10 self)
 Add to MetaCart
In a sharedmemory distributed system, n independent asynchronous processes communicate by reading and writing to shared memory. An algorithm is adaptive (to total contention) if its step complexity depends only on the actual number, k, of active processes in the execution; this number is unknown in advance and may change in different executions of the algorithm. Adaptive algorithms are inherently waitfree, providing faulttolerance in the presence of an arbitrary number of crash failures and different processes' speed. A waitfree adaptive collect algorithm with O(k) step complexity is presented, together with its applications in waitfree adaptive algorithms for atomic snapshots, immediate snapshots and renaming. Keywords: contentionsensitive complexity, waitfree algorithms, asynchronous sharedmemory systems, read/write registers, atomic snapshots, immediate atomic snapshots, renaming. Work supported by the fund for the promotion of research in the Technion. y Department of Computer Science, The Technion, Haifa 32000, Israel. hagit@cs.technion.ac.il. z Department of Computer Science, The Technion, Haifa 32000, Israel. leonf@cs.technion.ac.il. x Computer Science Department, UCLA. eli@cs.ucla.edu. 1
Adaptive LongLived Renaming Using Bounded Memory (Extended Abstract)
 PROC. OF THE 40TH IEEE ANN. SYMP. ON FOUNDATIONS OF COMPUTER SCIENCE
, 1999
"... This paper addresses the properties and design of longlived adaptive algorithms in the read/write shared memory model. In particular we present adaptive and longlived algorithms that adapt to the point contention of an operation while using only a bounded amount of memory. We believe the techn ..."
Abstract

Cited by 19 (7 self)
 Add to MetaCart
This paper addresses the properties and design of longlived adaptive algorithms in the read/write shared memory model. In particular we present adaptive and longlived algorithms that adapt to the point contention of an operation while using only a bounded amount of memory. We believe the techniques and building blocks developed here to be of further use in the design of adaptive and longlived algorithms. We use the renaming problem as a testcase to demonstrate the new techniques and properties. Three new implementations of adaptive, waitfree, and longlived renaming in the read/write shared memory model are presented. Unlike previous algorithms [1] the three algorithms require a bounded number of registers and adapt to the point contention of an operation. The two previous algorithms presented in [1] either adapt to the point contention or use a bounded size memory...
The Complexity of Renaming
"... We study the complexity of renaming, a fundamental problem in distributed computing in which a set of processes need to pick distinct names from a given namespace. We prove an individual lower bound of Ω(k) process steps for deterministic renaming into any namespace of size subexponential in k, whe ..."
Abstract

Cited by 10 (9 self)
 Add to MetaCart
We study the complexity of renaming, a fundamental problem in distributed computing in which a set of processes need to pick distinct names from a given namespace. We prove an individual lower bound of Ω(k) process steps for deterministic renaming into any namespace of size subexponential in k, where k is the number of participants. This bound is tight: it draws an exponential separation between deterministic and randomized solutions, and implies new tight bounds for deterministic fetchandincrement registers, queues and stacks. The proof of the bound is interesting in its own right, for it relies on the first reduction from renaming to another fundamental problem in distributed computing: mutual exclusion. We complement our individual bound with a global lower bound of Ω(k log(k/c)) on the total step complexity of renaming into a namespace of size ck, for any c ≥ 1. This applies to randomized algorithms against a strong adversary, and helps derive new global lower bounds for randomized approximate counter and fetchandincrement implementations, all tight within logarithmic factors. 1
Fast Randomized TestandSet and Renaming ⋆
"... Abstract. 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 readwrite complexity of randomized renaming in an ..."
Abstract

Cited by 9 (7 self)
 Add to MetaCart
Abstract. 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 readwrite complexity of randomized renaming in an asynchronous environment. At the heart of our new perspective stands an adaptive implementation of a randomized testandset object, that has polylogarithmic 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 log 4 n) total steps, with high probability. This significantly improves on the complexity of the best previously known namespaceoptimal algorithms. The second algorithm achieves a namespace of size k(1 + ɛ) using O(k log 4 k / log 2 (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. 1
Long Lived Adaptive Splitter and Applications
, 1999
"... this paper we were able to define and implement a variant of the MoirAnderson splitter that does not have all the properties that their splitter has but on the other hand, has an adaptive and longlived implementation. Furthermore, we use this splitter as a building block in constructions other tha ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
this paper we were able to define and implement a variant of the MoirAnderson splitter that does not have all the properties that their splitter has but on the other hand, has an adaptive and longlived implementation. Furthermore, we use this splitter as a building block in constructions other than a grid (for example a row of splitters or a tree of splitters) and in this way implement diverse applications such as mutual exclusion and optimal name space renaming
Mechanisms for Efficient SharedMemory, LockBased Synchronization
 PhD thesis,University of Wisconsin,Madison,1999
, 1999
"... Efficient locking synchronization primitives are essential for achieving high performance in finegrain, sharedmemory parallel programs. One function of locking primitives is to enable exclusive access to shared data and critical sections of code. In this dissertation, I make the following six cont ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
Efficient locking synchronization primitives are essential for achieving high performance in finegrain, sharedmemory parallel programs. One function of locking primitives is to enable exclusive access to shared data and critical sections of code. In this dissertation, I make the following six contributions. (1) I propose a framework, the synchronization period, in which to reason about the inefficiencies of locking primitives. (2) I identify four previously proposed locking mechanisms (local spinning, queuebased locking, collocation, and synchronous prefetch) and uses them to classify existing locking primitives according to which of these mechanisms they incorporate. (3) With detailed simulations, I show the extent to which these four mechanisms can improve the performance of sharedmemory programs. I evaluate the space of these mechanisms using sixteen synchronization constructs, which are formed from six base types of locks (test&set, test&test&set, MCS, LH, M, and QOLB). I show t...
Asynchronous Exclusive Selection
"... The distributed setting of this paper is an asynchronous system consisting of n processes prone to crashes and a number of shared readwrite registers. We consider problems regarding assigning integer values to processes in an exclusive way, in the sense that no integer is assigned to two distinct p ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The distributed setting of this paper is an asynchronous system consisting of n processes prone to crashes and a number of shared readwrite registers. We consider problems regarding assigning integer values to processes in an exclusive way, in the sense that no integer is assigned to two distinct processes. In the problem of renaming, any k ≤ n processes, that hold original names from a range [N] = {1,..., N}, contend to acquire unique integers as new names in a smaller range [M] using some r shared registers. When k and N are known, our waitfree solution operates in O(log k(log N + log k log log N)) local steps, for M = O(k), and with r = O(k log N) auxiliary shared registers. Processes obtain new k names by exploring their neighbors in bipartite graphs of suitable expansion properties, with nodes representing names and processes competing for the name of each visited node.} local steps are required in the worst case to waitfree solve renaming, when k and N are known and r and M are given constraints. We give a fully adaptive solution, with neither k nor N known, having M = 8k − lg k − 1 as a bound on the range of new names, operating in O(k) steps and using O(n 2) registers. We apply renaming algorithms to obtain solutions to the Store&Collect problem. When both k and N are known, then storing can be performed in O(log k(log N + log k log log N)) steps and collecting in O(k) steps, for r = O(k log(N/k)) registers. We consider the problem UnboundedNaming in which processes repeatedly require new names, while no name can be reused once assigned, so that infinitely many integers need to be exclusively assigned as names. For no fixed integer i can one guarantee in a waitfree manner that i is eventually assigned to be a name, so some integers may never be used; the upper bound on the number of such unused integers is used as a measure of quality of a solution. We show that UnboundedNaming is solvable in a nonblocking way with at most n −1 integers never assigned as names, which is best possible, and in a waitfree manner with at most n(n − 1) values never assigned as names.
Long Lived and Adaptive Shared Memory Implementations
, 2001
"... this paper. Motivated by their first work Moir and Anderson developed renaming algorithms, in the read/write model, when such a bound on the maximum number of processes is known in advance. This led to a sequence of works on the renaming problem in this model [MA95, MG96, BGHM95] that lead to a long ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
this paper. Motivated by their first work Moir and Anderson developed renaming algorithms, in the read/write model, when such a bound on the maximum number of processes is known in advance. This led to a sequence of works on the renaming problem in this model [MA95, MG96, BGHM95] that lead to a longlived (2K \Gamma 1)renaming algorithm with O(K ) step complexity and O(K space complexity [Moi98]. These works employed various variants of the splitter building block which is a descendant of Lamport's adaptive mutual exclusion algorithm, however the last one [Moi98] depends on an additional work which is the first longlived renaming algorithm by Burns and Peterson [BP89]
Adaptive WaitFree Algorithms for Asynchronous SharedMemory Systems
, 2001
"... ACKNOWLEDGEMENTS The generous financial help of Technion is gratefully acknowledged First of all, I thank Prof. Hagit Attiya for her excellent guidance, for knowledge, experience and time that she has given me throughout all stages of the work. Thanks to Prof. Yehuda Afek, Dr. Dan Touitou and Dr. Gi ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
ACKNOWLEDGEMENTS The generous financial help of Technion is gratefully acknowledged First of all, I thank Prof. Hagit Attiya for her excellent guidance, for knowledge, experience and time that she has given me throughout all stages of the work. Thanks to Prof. Yehuda Afek, Dr. Dan Touitou and Dr. Gideon Stupp for their friendship, help and support, particularly during the PODC98 conference. I would like to thank Prof. Eli Gafni for his insight and for very helpful discussions. I owe a depth of gratitude to Rabbi Yosef Brook who encouraged me to continue studies towards Ph.D. degree, and to Rabbi Nachum Diamont for his wise advise and help.
LongLived Renaming Made Adaptive (Extended Abstract)
, 1999
"... Two implementations of an adaptive, waitfree, and longlived renaming task in the read/write shared memory model are presented. Implementations of longlived and adaptive objects were previously known only in the much stronger model of loadlinked and storeconditional (i.e., readmodifywrite) shar ..."
Abstract
 Add to MetaCart
Two implementations of an adaptive, waitfree, and longlived renaming task in the read/write shared memory model are presented. Implementations of longlived and adaptive objects were previously known only in the much stronger model of loadlinked and storeconditional (i.e., readmodifywrite) shared memory. In read/write sharedmemory only oneshot adaptive objects are known. Presented here are two algorithms that assign a new unique id in the range 1, ..., O(k²) to any process whose initial unique name is taken from a set of size N , for an arbitrary N and where k is the number of processors that actually take steps or hold a name while the new name is being acquired. The step complexity of acquiring a new name is respectively O(k²) and O(k² log k), while the step complexity of releasing a name is 1. The main differences between the two algorithms are in the prec...