| M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, Jan. 1991. |
....and in Section 5 these implementations are used to construct an adaptive atomic snapshot. Finally, in Section 6 we show how to use all of these constructions to build an adaptive immediate 2. PRELIMINARIES We assume a standard asynchronous shared memory model of computation, following, e.g. [9]. A system consists of N processes, p1 ; pN , communicating by reading and writing shared registers; we assume that each process can read and write to any register (multi writer, multi reader registers) Thus, the primitive steps that any process can perform are read and write operations ....
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124-149, January 1991.
....Introduction We consider an asynchronous concurrent system consisting of n processes that communicate via shared memory. It is well known that the type of operations allowed on the shared memory cells greatly effects the kind of tasks that the n processes can solve. The first results of this type [7, 9, 12, 15] proved that if the only operations supported by the hardware are atomic read or write of memory cells (registers) then the system cannot implement a wait free solution to the consensus problem, even if n = 2. An algorithm is wait free if each process finishes the algorithm in a finite number of ....
.... atomic testand set operations on single bits in the shared memory (as some old IBM machines do, and some modern machines such as Encore s Multimax, Sequent s Symmetry, DEC s Firefly and 6380 Corollary support) then 2 processes can solve the consensus problem among them but 3 processes cannot [9, 12, 15]. In his seminal paper Herlihy defined a hierarchy on abstract operation types, classifying them according to the number of processes among which these operations can solve consensus [9] More specifically, an operation type has consensus number k if any system supporting that operation type and ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, January 1991.
....at some point between its invocation and its associated response. In our model, every shared memory location L of a multiprocessor machine s memory is a linearizable implementation of an object that provides every processor P i with a set of sequentially specified machine operations (see [11, 13]) Read i ( L) reads location L and returns its value. Write i ( L, v) writes the value v to location L. DCAS i ( L1, L2, o1, o2, n1, n2) is a double compare and swap operation with the semantics described below. The address operator is used to pass the address of a location to an ....
....to such a field or variable is a Read operation; a simple assignment to such a field or variable is a Write operation; and a method or subroutine called DCAS is used to perform the DCAS operation on two fields or variables. The implementation we present is non blocking (also called lock free) [13]. Let us use the term higher level operations to refer to operations of an object being implemented, and lower level operations to refer to the (machine) operations in terms of which it is implemented. A non blocking implementation is one for which any history that has invocations of some set O of ....
M. P. Herlihy. Wait-free synchronization. ACM Trans. Programming Languages and Systems, 13(1):123--149, January 1991.
....sequentialize the access. Furthermore locks have the problem that if the process with the lock is blocked (e.g. swapped out by the OS or dies) then all processes can become blocked. To avoid this problem many non blocking (or lock free) implementations of data structures have been suggested [1, 2, 9, 10, 17, 18, 24, 25]. As with the versions that use This work was supported in part by the National Science Foundation under grants CCR 9706572 and CCR 0085982. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made ....
....encapsulated in room synchronizations. At the other end of the synchronization models spectrum are the fully asynchronous models, in which processors can be arbitrarily delayed or even fail, and shared data structures are designed to tolerate such delays and failures. Waitfree data structures [10] have the property that any user s request (e.g. a push or pop request) will complete in a bounded number of steps, regardless of the delays or failures at other processors. Because of the large overheads in wait free data structures, there has been considerable work on non blocking (or ....
[Article contains additional citation context not shown here]
M. P. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):123--149, Jan. 1991.
....any waiting children to contend for the lock on the parent location. This abstract description ignores many details of the non blocking algorithm. An important omission is the standard technique of a blocked process helping the process that blocks it, which is how algorithms are made non blocking [Her91, Her93]. If at any phase process p is blocked by another process q, then p helps q to proceed until q does not block p anymore, and then p continues. In addition, both algorithms guarantee that no operation will help another at distance greater than O(log n) We apply a familiar technique for ....
....process q, then p helps q to proceed until q does not block p anymore, and then p continues. In addition, both algorithms guarantee that no operation will help another at distance greater than O(log n) We apply a familiar technique for converting the nonblocking algorithm to a wait free version [Her91, Her93, AM95a]: A process that properly terminates its nonblocking operation, must help other pending operations, before it starts a new operation of its own. To obtain a wait free algorithm with local contention and step complexity, we apply this technique separately to each location, and each terminating ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 11(1):124--149, January 1991.
.... (and construction) of stronger primitives such as test and set and semaphores [Dij65, PS85] Most of this paper is concerned with these stronger types of objects (one section, Section 4 is devoted to read write registers) Herlihy has defined a hierarchy of progressively stronger shared objects [Her91] Objects at each level are able to perform tasks which are impossible for objects at the lower levels. The question which is asked in this paper is whether it is possible to use shared objects which sometimes fail to meet their specifications. It is shown, here, that it is indeed possible to use ....
....In Section 6, implementations of consensus are studied, using unreliable readmodify write primitives. The constructions in this section demonstrate that faults do not qualitatively decrease the power of these primitives, in that they retain their positions in the memory hierarchy of Herlihy [Her91] Moreover, in combination with the earlier register results, our consensus constructions can be used to implement the universal construction of Herlihy [Her91] Hence, for example, faulty read modify write primitives can be used to implement any shared object. The paper closes with a discussion ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, January 1991.
.... studies with different benchmark suites and programming models [8, 19] exemplify that the overhead of synchronization remains a dominant bottleneck in parallel programs for cache coherent shared memory multiprocessors, despite the enormousness of related work that appears in the literature [1, 4, 6, 7, 9, 11, 14, 16]. 1 To appear in the IEEE 2000 International Parallel and Distributed Processing Symposium, Cancun, Mexico, May 1 5 2000. Synchronization operations account frequently for significant fractions of execution time and may limit the scalability of parallel programs on large processor scales and ....
....the latency of all four time intervals on the critical path, with the compute interval corresponding to the critical section itself. Analogous rationale can be developed for barriers, although barriers lack in principle a distinct compute period. In the case of lock free synchronization [6], although accurate time decomposition depends on the semantics and the type of accesses to the data structure on which a lock free algorithm operates, update operations are conceptually analogous to acquires. The essence of a scalable 1 synchronization primitive is to shorten the critical path ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free Synchronization. ACM Trans. on Programming Languages and Systems, 13(1), pp. 124--149, Jan. 1991.
....that in many cases there is no automatic transformation that would result in a point contention variant of an algorithm, while such a transformation into an interval contention variant exists. 2. Preliminaries We assume a standard asynchronous shared memory model of computation, following, e.g. [15]. A system consists of N processes, p 1 ; pN , communicating by reading and writing to shared registers; we assume that each process can read from and write to any register (multi writer multi reader registers) The following is a non sequential specification of longlived collect: There ....
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, January 1991.
.... by a reduction to known impossibility results for 1 resilient consensus [11, 19] The proof of the third result relies on the simple structure of decision problems, while the fourth result is proved by a simple modification of the proof that consensus is universal for starvation free objects [14]. Starvation freedom: We make an observation which relates different fairness assumptions. It implies that in various cases, algorithms can be designed that perform well under fairness assumptions, but whose correctness (safety properties) are robust when those assumptions are violated. An ....
....of a consensus algorithm for the unknown delay model using starvation free registers [1] The fourth result is also used to prove the necessary condition of the third result. Its proof is based on a construction from [10] The last result is proved again by a simple modification to the proof in [14]. r bounded waiting: We prove that for any positive integer r: There is a deadlock free mutual exclusion algorithm using a single r bounded waiting register. There is a fully resilient consensus algorithm using a single r bounded waiting register. There is a starvation free mutual ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 11(1):124--149, January 1991.
....calls until the crash event occurs. Hence, for such objects, this fault model can be used to simulate the omission crash model. 2 Results 2.1 Basic definitions Following [LT87, Lyn88] we consider a shared object to be an automaton with a distinct interface to the calling processes. Following [Her91], an implementation of an object Y from a list of one or more (shared) objects of type X is a composition of automata from X , together with front end automata running code local to each process, so that the processes only observe behavior from the composition that they could also observe ....
....omission crash, is also n RGD universal for omission crash faults. ffl Any list X of object types that is n GD universal for omission crash, is also n RGD universal for omission crash faults. The proof of this theorem requires some additional results. First, Herlihy s universal construction [Her91], together with constructions of atomic registers from safe registers [Pet83, Lam86, BP87, PB87, Blo87, SAG87, LTV89, Tro89] implies the following: Proposition 1 fn consensus, safe registerg is n universal. Next, we need results for composing fault tolerant and fault intolerant constructions, ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 11(1):124--149, January 1991.
....We study a class of synchronization objects in shared memory concurrent systems, which we call common2. This class contains read modify write objects that commute (e.g. fetch and add) or overwrite (e.g. swap) It is known that this class is contained in the consensus number 2 class of objects [Her91a] and most of the commonly used objects with consensus number 2 are included in it. We show that any object in the common2 class can implement any other object in the class, in a system with an arbitrary number of processes. In fact we show that the objects in common2 are implementable from any ....
....in the efficiency of randomized constructions of several objects in common2 from read write registers, and (3) low contention constructions of objects in common2. also with Motorola Semiconductor Israel Ltd. y also with Scitex Corporation Israel Ltd. 1 Introduction In his seminal paper [Her91a] Herlihy established the existence of a hierarchy of wait free concurrent data objects that classifies objects according to their ability to solve k consensus, that is, consensus among k asynchronous processes. An object has consensus number k if any number of this object and of read write ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 11(1):124--149, January 1991.
....Department, Tel Aviv University, Israel 69978. Abstract We present a sequence of constructions of commuting synchronization objects (e.g. fetch and increment and fetch and add) in a system of n processors from any two processor synchronization object whose consensus number is two or more [Her91a] Each implementation in the sequence uses a particular type of shared memory snapshot, as a building block. Later implementations in the sequence are based on higher quality snapshots. The first implementation of a fetch and increment uses the standard atomic snapshot concept, introduced in ....
....are: 1) The existence of fault tolerant self implementations of commuting objects, 2) improvements in the efficiency of randomized constructions of commuting objects from read write registers, and (3) low contention constructions of commuting objects. 1 Introduction In his seminal paper [Her91a] Herlihy established the existence of a hierarchy of wait free concurrent data objects that classifies objects according to their ability to solve k consensus, that is, consensus among k asynchronous processes. An object has consensus number k if any number of this object and of read write ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, January 1991.
....size of names to 2k Gamma 1, and discuss its complexity. Then, we outline how to bound the values in the shared registers (in Section 5) Detailed pseudocode is presented for all algorithms. 2 Preliminaries We assume a standard asynchronous shared memory model of computation, following, e.g. [18]. A system consists of N processes, p 0 ; pN Gamma1 , communicating by reading and writing to shared registers; we assume that each process can read from and write to any register (multi writer multi reader registers) In the long lived M renaming problem, processes repeatedly acquire ....
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, January 1991.
....tolerates any number of failures. Our algorithm is fast: in absence of contention, a process can decide after a constant number of steps without using the delay statement. In the worst case, the step complexity is constant, and the explicit delay complexity is Delta. Since consensus is universal [10], our results imply that atomic registers are universal in the known delay model. Related work As mentioned earlier, our mutual exclusion algorithm is based on Fischer s timing based solution and Lamport s fast algorithm [11] Lamport s fast algorithm has been improved in the asynchronous model, ....
....case, it may execute an additional delay statement. Theorem 4 For Algorithm of Figure 5, in the contention free case, step complexity is 5, and the explicit delay complexity is 0. In the worst case, step complexity is 6, and the explicit delay complexity is Delta. Since consensus is universal [10], our results imply that atomic registers are universal in the known delay model. Acknowledgements We thank Yehuda Afek, Hagit Attiya, Eli Gafni and Michael Merritt for helpful discussions, and the referees for detailed and useful suggestions. ....
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 11(1):124--149, 1991.
....have shown that Theta( Delta Delta fac Gamma1 ( Delta) is an upper and lower bound on the time complexity of any algorithm, where fac Gamma1 is the inverse of the factorial function. The algorithm that achieves this bound is fast in the absence of contention. Since consensus is universal [He91], our results imply that atomic reads and writes are universal in the unknown delay model. For the mutual exclusion problem, we have presented an algorithm in which, in the presence of contention, a process needs only delay itself for 2 Delta Delta time units before entering the critical ....
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 11(1):124--149, 1991.
....initially identical processes. The processes may crash (i.e. stopping failures) and the solution is required to be wait free, that is, it should guarantee that every participating process will always be able to terminate in a finite number of steps, regardless of the behavior of other processes [PF77, Her91]. We consider a shared memory system that supports atomic access only to individual bits, and consider a variety of models corresponding to different combinations of allowed operations, such as; test and set, read, and test and flip. This last operation flips the bit and returns the old value, ....
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, January 1991.
.... Yehuda Afek Gideon Stupp Department of Computer Science Department of Computer Science Tel Aviv University Tel Aviv University Israel 69978 Israel 69978 Abstract Theoretically, various shared synchronization objects, such as compare swap and arbitrary read modify write registers, are universal [10, 20]. That is, any sequentially specified task can be solved in a concurrent system that supports these objects and a large enough number of shared read write registers. Are these objects indeed almighty Or, are there other considerations that have to be kept in mind when analyzing their computation ....
.... maximum number of processes that can elect a leader in such a system (in a wait free manner) In [1] we present an election algorithm for O(k ) processes in such a system, i.e. showing that n k is at least O(k ) However, on the lower bound side only n 1 ; n 2 , and n 3 were shown to be bounded [1, 10, 18], while for k 3 it was not known whether such a bound exists. Here we prove that for any k, n k is bounded by O(k (k 2 3) that is, at most O(k (k 2 3) processes can elect a leader in such a system 1 . Hence, the more values a strong shared memory object can hold the stronger it ....
[Article contains additional citation context not shown here]
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, January 1991.
....parallelism by overlapping the updates of shared objects and reduce the latency that processes experience when attempting to access a shared object with a lock. An ideal concurrent object satisfies three properties, the nonblocking property, the wait free property and the linearizability property [5, 6, 7]. These properties guarantee void enqueue (ulong item, struct queue q) ulong slot = atomic increment (q head) atomic store(q nodes[slot] item) ulong dequeue (struct queue q) while (true) if (atomic load(q head) atomic load(q tail) return QUEUE EMPTY; else ulong slot = ....
M. Herlihy, Wait-free Synchronization, ACM Trans. on Programming Languages and Systems, 11(1), pp. 124--149, 1991.
....parallelism by overlapping the updates of shared objects and reduce the latency that processes experience when attempting to access a shared object with a lock. An ideal concurrent object satisfies three properties, the non blocking property, the wait free property and the linearizability property [5]. These properties guarantee the following: no process trying to update the object will be delayed indefinitely, contending processes will always finish their updates in a limited amount of time and the concurrent object will function as a sequential object where each concurrent update will appear ....
M. Herlihy, Wait-free Synchronization, ACM Trans. on Programming Languages and Systems, 11(1), pp. 124--149, 1991.
No context found.
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, Jan. 1991.
No context found.
M. Herlihy. Wait-Free Synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, Jan. 1991.
No context found.
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124-- 149, January 1991.
No context found.
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, 1991.
No context found.
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, January 1991.
No context found.
M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124--149, 1991.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC