ABSTRACT
Wait-freedom and obstruction-freedom have received a lot of attention in the literature. These are symmetric progress conditions in the sense that they consider all processes as being "equal". Wait-freedom has allowed to rank the synchronization power of objects in presence of process failures, while (the weaker) obstruction-freedom allows for simpler and more efficient object implementations.
This paper introduces the notion of asymmetric progress conditions. Given an object O in a shared memory system of n processes, we say that O satisfies (y,x)-liveness if O can be accessed by a subset of y ≤ n processes only, and it guarantees wait-freedom for x processes and obstruction-freedom for the remaining y-x processes. Notice that, (n,n)-liveness is wait-freedom while (n,0)-liveness is obstruction-freedom. The main contributions are: (1) an impossibility result showing that there is no (n,1)-live consensus object even if one can use underlying (n-1,n-1)-live consensus objects and registers, (2) an (n,x)-liveness hierarchy for 0 ≤ x ≤ n, and (3) an impossibility result showing that there is no consensus object for n processes that is obstruction-free with respect to all processes and fault-free with respect to a single process even if one can use underlying (n-1,n-1)-live consensus objects and registers (a process is fault-free if it always terminates when all the processes participate and there are no faults). (4) An implementation based on (x,x)-live objects that constructs a consensus object for any number of n ≤ x processes which satisfies an asymmetric group-based progress condition.
- Afek Y., Gafni E. and Morisson A., Common2 Extended to Stacks and Unbounded Concurrency. Proc. 25th ACM Symposium on Principles of Distributed Computing, ACM Press, pp. 218--227, 2006. Google ScholarDigital Library
- Afek Y., Weisberger E. and Weisman H., A Completeness Theorem for a Class of Synchronization Objects. Proc. 12th ACM Symposium on Principles of Distributed Computing, ACM Press, pp. 159--170, 1993. Google ScholarDigital Library
- Attiya H. and Welch J., Distributed Computing: Fundamentals, Simulations and Advanced Topics, (2d Edition), Wiley-Interscience, 414 pages, 2004. Google ScholarDigital Library
- Fischer M. J., Lynch N. A. and Paterson M. S., Impossibility of Distributed Consensus with One Faulty Process. JACM, 32(2):374--382, 1985. Google ScholarDigital Library
- Gafni E. and Kuznetsov P., N-Consensus is the Second Strongest Object for N+1 Processes. Proc. 11th Int'l Conference On Principle Of Distributed Systems (OPODIS 2007), Springer Verlag LNCS #4878, pp. 260--273, 2007. Google ScholarDigital Library
- Gafni E., Raynal M. and Travers C.,Test & set, Adaptive Renaming and Set Agreement: a Guided Visit to Asynchronous Computability. 26th IEEE Symposium on Reliable Distributed Systems(SRDS'07), IEEE Computer Press, pp. 93--102, 2007. Google ScholarDigital Library
- Herlihy M. P., Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems, 13(1):124--149, 1991. Google ScholarDigital Library
- Herlihy M. P., Luchangco V. and Moir M., Obstruction-free synchonization: double-ended queues as an example. Proc. 23th Int'l IEEE Conference on Distributed Computing Systems, pp. 522--529, 2003. Google ScholarDigital Library
- Herlihy M. P. and Wing J. L., Linearizability: a Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems, 12(3):463--492, 1990. Google ScholarDigital Library
- Imbs D., Raynal M. and Taubenfeld G., On Asymmetric Progress Conditions. Tech Report #1952, IRISA, Univ. de Rennes 1, 2010. http://www.irisa.frGoogle ScholarDigital Library
- Lamport. L., On Interprocess Communication, Part 1: Basic formalism, Part II: Algorithms. Distributed Computing, 1(2):77--101,1986.Google ScholarCross Ref
- Lynch N.A., Distributed Algorithms. Morgan Kaufmann Pub., San Francisco (CA), 872 pages, 1996. Google ScholarDigital Library
- Taubenfeld G., Synchronization Algorithms and Concurrent Programming. Pearson Prentice-Hall, ISBN 0-131-97259-6, 423 pages, 2006. Google ScholarDigital Library
- Taubenfeld G., Contention-Sensitive Data Structure and Algorithms. Proc. 23th Int'l Symposium on Distributed Computing (DISC'09), Springer Verlag LNCS #5805, pp. 157--171, 2009. Google ScholarDigital Library
- Taubenfeld G., On the Computational Power of Shared Objects. Proc. 13th Int'l Conference On Principle Of Distributed Systems(OPODIS 2009), Springer Verlag LNCS #5923, pp. 270--284, 2009. Google ScholarDigital Library
Index Terms
- On asymmetric progress conditions
Recommendations
Looking for efficient implementations of concurrent objects
PaCT'11: Proceedings of the 11th international conference on Parallel computing technologiesAs introduced by Taubenfeld, a contention-sensitive implementation of a concurrent object is an implementation such that the overhead introduced by locking is eliminated in the common cases, i.e., when there is no contention or when the operations ...
On the implementation of concurrent objects
Dependable and Historic ComputingThe implementation of objects shared by concurrent processes, with provable safety and liveness guarantees, is a fundamental issue of concurrent programming in shared memory systems. It is now largely accepted that linearizability (or atomicity) is an ...
A liveness condition for concurrent objects: x-wait-freedom
The liveness of concurrent objects despite asynchrony and failures is a fundamental problem. To that end several progress conditions have been proposed. Wait-freedom is the strongest of these conditions: it states that any object operation must ...
Comments