Results 1 - 10
of
13
Transparent Support for Wait-Free Transactions
- In Proceedings of the 11th International Workshop on Distributed Algorithms
, 1997
"... . This paper concerns software support for non-blocking transactions in shared-memory multiprocessors. We present mechanisms that convert sequential transactions into lock-free or wait-free ones. In contrast to some previous mechanisms, ours support transactions for which the set of memory locations ..."
Abstract
-
Cited by 48 (7 self)
- Add to MetaCart
. This paper concerns software support for non-blocking transactions in shared-memory multiprocessors. We present mechanisms that convert sequential transactions into lock-free or wait-free ones. In contrast to some previous mechanisms, ours support transactions for which the set of memory locations accessed cannot be determined in advance. Our implementations automatically detect and resolve conflicts between concurrent transactions, and allow transactions that do not conflict to execute in parallel. The key to the efficiency of our wait-free implementation lies in using a lock-free (but not wait-free) multi-word compareand -swap (MWCAS) operation. By introducing communication between a high-level helping mechanism and the lock-free MWCAS, we show that an expensive wait-free MWCAS is not necessary to ensure wait-freedom. 1 Introduction The use of locking to coordinate accesses to shared data in multiprocessor applications has a number of associated pitfalls including a lack of concur...
The repeat offender problem: A mechanism for supporting dynamic-sized, lock-free data structures
- In Proceedings of the 16th International Symposium on Distributed Computing
, 2002
"... We define the Repeat Offender Problem (ROP). Elsewhere, we have presented the first dynamic-sized lock-free data structures that can free memory to any standard memory allocator—even after thread failures—without requiring special support from the operating system, the memory allocator, or the hardw ..."
Abstract
-
Cited by 44 (10 self)
- Add to MetaCart
We define the Repeat Offender Problem (ROP). Elsewhere, we have presented the first dynamic-sized lock-free data structures that can free memory to any standard memory allocator—even after thread failures—without requiring special support from the operating system, the memory allocator, or the hardware. These results depend on a solution to the ROP problem. Here we present the first solution to the ROP problem and its correctness proof. Our solution is implementable in most modern shared memory multiprocessors. M/S MTV29-01
Shared-memory mutual exclusion: Major research trends since
- Distributed Computing
, 1986
"... * Exclusion: At most one process executes its critical section at any time. ..."
Abstract
-
Cited by 38 (7 self)
- Add to MetaCart
* Exclusion: At most one process executes its critical section at any time.
An Adaptive Collect Algorithm with Applications
- Distributed Computing
, 2001
"... In a shared-memory 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 27 (10 self)
- Add to MetaCart
In a shared-memory 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 wait-free, providing fault-tolerance in the presence of an arbitrary number of crash failures and different processes' speed. A wait-free adaptive collect algorithm with O(k) step complexity is presented, together with its applications in wait-free adaptive algorithms for atomic snapshots, immediate snapshots and renaming. Keywords: contention-sensitive complexity, wait-free 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
A Simple Local-Spin Group Mutual Exclusion Algorithm
- IN PROCEEDINGS OF THE 18TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING
, 1999
"... This paper presents a new solution to the group mutual exclusion problem, recently posed by Joung. In this problem, processes repeatedly request access to various "sessions". It is required that distinct processes are not in different sessions concurrently, that multiple processes may be in the sa ..."
Abstract
-
Cited by 23 (2 self)
- Add to MetaCart
This paper presents a new solution to the group mutual exclusion problem, recently posed by Joung. In this problem, processes repeatedly request access to various "sessions". It is required that distinct processes are not in different sessions concurrently, that multiple processes may be in the same session concurrently, and that each process that tries to enter a session is eventually able to do so. This problem is a generalization of the mutual exclusion and readers-writers problems. Our algorithm and its correctness proof are substantially simpler than Joung's. This simplicity is achieved by building upon known solutions to the more specific mutual exclusion problem. Our algorithm also has various advantages over Joung's, depending on the choice of mutual exclusion algorithm used. These advantages include admitting a process to its session in constant time in the absence of contention, spinning locally in Cache Coherent (CC) and Non-Uniform Memory Access (NUMA) systems, an...
Adaptive and Efficient Algorithms for Lattice Agreement and Renaming
- SIAM J. Comput
, 1998
"... In a shared-memory system, n independent asynchronous processes, with distinct names in the range {0, ..., N - 1}, communicate by reading and writing to shared registers. An algorithm is wait-free if a process completes its execution regardless of the behavior of other processes. This paper consider ..."
Abstract
-
Cited by 15 (6 self)
- Add to MetaCart
In a shared-memory system, n independent asynchronous processes, with distinct names in the range {0, ..., N - 1}, communicate by reading and writing to shared registers. An algorithm is wait-free if a process completes its execution regardless of the behavior of other processes. This paper considers wait-free algorithms whose complexity adjusts to the level of contention in the system: An algorithm is adaptive (to total contention) if its step complexity depends only on the actual number of active processes, k; this number is unknown in advance and may change in different executions of the algorithm. Adaptive algorithms are presented for two important decision problems, lattice agreement and (6k - 1)-renaming; the step complexity of both algorithms is O(k log k). An interesting component of the (6k - 1)-renaming algorithm is an O(N) algorithm for (2k - 1)-renaming; this improves on the best previously known (2k - 1)-renaming algorithm, which has O(Nnk) s...
Fast, Long-Lived Renaming Improved and Simplified
- In Proceedings of the 10th International Workshop on Distributed Algorithms, volume 1151 of Lecture
, 1997
"... In the long-lived M-renaming problem, N processes repeatedly acquire and release names ranging over f0; :::; M \Gamma 1g, where M ! N . It is assumed that at most k M processes concurrently request or hold names. Efficient solutions to the long-lived renaming problem can be used to improve the per ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
In the long-lived M-renaming problem, N processes repeatedly acquire and release names ranging over f0; :::; M \Gamma 1g, where M ! N . It is assumed that at most k M processes concurrently request or hold names. Efficient solutions to the long-lived renaming problem can be used to improve the performance of applications in which processes repeatedly perform computations whose time complexity depends on the size of the name space containing the processes that participate concurrently. In this paper, we consider wait-free solutions to the long-lived M-renaming problem that use only read and write instructions in an asynchronous, shared-memory multiprocessor. A solution to long-lived renaming is fast if the time complexity of acquiring and releasing a name once is independent of N . We present a new fast, longlived (k(k +1)=2)-renaming algorithm that significantly improves upon the time and space complexity of similar previous algorithms, while providing a much simpler solution. We al...
A General Resource Allocation Synchronization Problem
- In Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS-21
, 2001
"... We introduce a new synchronization problem called GRASP. We show that this problem is very general, in that it can provide solutions with strong properties to a wide range of previously-studied and new problems. The primary goals of this work are to unify and clarify the relationships between existi ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We introduce a new synchronization problem called GRASP. We show that this problem is very general, in that it can provide solutions with strong properties to a wide range of previously-studied and new problems. The primary goals of this work are to unify and clarify the relationships between existing and new synchronization problems, to provide fast answers about what solutions are possible to new problems (or stronger versions of existing ones), and to provide a baseline against which to compare optimized, problem-specic solutions. We present a shared-memory solution to this problem. Our solution is based on a new solution to the Dining Philosophers problem with constant failure locality (this implies that a non-faulty process can be caused to wait indenitely only by the failure of a process within a constant number of steps of it in the graph). We use the powerful tool of wait-free transactions to simplify our solution without restricting concurrency. Email: keane@danet.com. ...
Fast Randomized Test-and-Set 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 read-write complexity of randomized renaming in an ..."
Abstract
-
Cited by 2 (2 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 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 log 4 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 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
Adaptive Wait-Free Algorithms for Asynchronous Shared-Memory 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.

