ABSTRACT
A new type of shared object, called timed register, is proposed and used to design indulgent timing-based algorithms. A timed register generalizes the notion of an atomic register as follows: if a process invokes two consecutive operations on the same timed register which are a read followed by a write, then the write operation is executed only if it is invoked at most d time units after the read operation, where d is defined as part of the read operation. In this context, a timing-based algorithm is an algorithm whose correctness relies on the existence of a bound Δ such that any pair of consecutive constrained read and write operations issued by the same process on the same timed register are separated by at most Δ time units. An indulgent algorithm is an algorithm that always guarantees the safety properties, and ensures the liveness property as soon as the timing assumptions are satisfied. The usefulness of this new type of shared object is demonstrated by presenting simple and elegant indulgent timing-based algorithms that solve the mutual exclusion, l-exclusion, adaptive renaming,test&set, and consensus problems. Interestingly, timed registers are universal objects in systems with process crashes and transient timing failures (i.e., they allow building any concurrent object with a sequential specification). The paper also suggests connections with schedulers and contention managers.
- Aguilera M.K., Frolund S., Hadzilacos V., Horn S.L. and Toueg S., Abortable Shared Objects. Brief announcement in Proc. 20th Symp. on Distributed Computing (DISC'06), Springer-Verlag LNCS #4167, pp. 534--536, 2006.Google ScholarDigital Library
- Alur R., Attiya H. and Taubenfeld G., Time-adaptive Algorithms for Synchronization. SIAM Journal of Computing, 26(2):539--556, 1997. Google ScholarDigital Library
- Alur R. and Taubenfeld G., Fast Timing-based Algorithms. Distributed Computing, 10(1):1--10, 1996. Google ScholarDigital Library
- Ben-Or M., Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols. Proc. 2nd ACM Symposium on Principles of Distributed Computing (PODC'83), pp. 27--30, 1983. Google ScholarDigital Library
- Burns J.N. and Lynch N.A., Bounds on shared-memory for mutual exclusion. Information and Computation, 107(2):171--184, December 1993. Google ScholarDigital Library
- Burns J.E. and Peterson G.L., The Ambiguity of Choosing. Proc. 8th ACM Symposium on Principles of Distributed Computing (PODC'89), ACM Press, pages 145--158, 1989. Google ScholarDigital Library
- Chandra T.D. and Toueg S., Unreliable Failure Detectors for Reliable Distributed Systems. Journal of the ACM, 43(2):225--267, 1996. Google ScholarDigital Library
- Fich E.F., Luchangco V., Moir M. and Shavit N., Obstruction-free algorithms that can be practically wait-free. Proc. 19th Symposium on Distributed Computing (DISC'05), Springer-Verlag LNCS #3724, pp. 78--92, 2005. Google ScholarDigital Library
- Fischer M.J., Lynch N. and Paterson M.S., Impossibility of Distributed Consensus with One Faulty Process. Journal of the ACM, 32(2):374--382, 1985. Google ScholarDigital Library
- Guerraoui R., Indulgent Algorithms. Proc. 19th ACM Symposium on Principles of Distributed Computing, (PODC'00), ACM Press, pp. 289--298, 2000. Google ScholarDigital Library
- Guerraoui R., Kapalka M. and Kouznetsov P., The Weakest failure Detectors to Boost Obstruction-Freedom. Proc. 20th Symposium on Distributed Computing (DISC'06), Springer-Verlag LNCS #4167, pp. 376--390, 2006. Google ScholarDigital Library
- Guerraoui R. and Lynch N., A General Characterization of Indulgence. Proc. 8th Int'l Symposium on Self--stabilization, Safety and Security of Distributed Systems (SSS'06), Springer-Verlag LNCS, 2006. Google ScholarDigital Library
- Guerraoui R. and Raynal M., The Information Structure of Indulgent Consensus. IEEE Transactions on Computers, 53(4):453--466, 2004. Google ScholarDigital Library
- Herlihy M.P., Wait-Free Synchronization. ACM TOPLAS, 13(1):124--149, 1991. Google ScholarDigital Library
- Herlihy M.P., Luchangco V. and Moir M., Obstruction-free Synchronization: Double-ended Queues as an Example. Proc. 23th IEEE Int'l Conference on Distributed Computing Systems (ICDCS'03), pp. 522--529, 2003. Google ScholarDigital Library
- Herlihy M.P. and Shavit N., The topological Structure of Asynchronous Computability. JACM, 46(6):858--923, 1999. Google ScholarDigital Library
- Herlihy M.P. and Wing J.M., Linearizability: a Correctness Condition for Concurrent Objects. ACM TOPLAS, 12(3):463--492, 1990. Google ScholarDigital Library
- Lamport. L., Proving the Correctness of multiprocess programs. IEEE Transaction on Software Engineering, SE-3(2):125--143, 1977.Google ScholarDigital Library
- Lamport. L., On Interprocess Communication, Part II: Algorithms. Distributed Computing, 1(2):86--101, 1986.Google ScholarCross Ref
- Lamport L., A Fast Mutual Exclusion Algorithm. ACM Transactions on Computer Systems, 5(1):1--11, 1987. Google ScholarDigital Library
- Loui M.C. and Abu-Amara H.H., Memory Requirements for Agreement among Unreliable Asynchronous Processes. Advances in Comp. Research, JAI Press, 4;163--183, 1987.Google Scholar
- Lynch N.A. and Shavit N., Timing-based Mutual Exclusion. Proceedings of the 13th IEEE Real-Time Systems Symposium (RTSS'92), pp. 211, 1992.Google ScholarCross Ref
- Mostefaoui A., Rajsbaum S. and Raynal M., Conditions on Input Vectors for Consensus Solvability in Asynchronous Distributed Systems. JACM, 50(6):922--954, 2003. Google ScholarDigital Library
- Plotkin S.A., Sticky Bits and Universality of Consensus. 8th ACM Symposium on Principles of Distributed Computing, (PODC'89), ACM Press, pp. 159--175, 1989. Google ScholarDigital Library
- Raynal M., Algorithms for mutual exclusion. The MIT Press, ISBN 0-262-18119-3, 107 pages, 1986. Google ScholarDigital Library
- Raynal M., A Short Introduction to Failure Detectors for Asynchronous Distributed Systems. ACM SIGACT News, Distributed Computing Column, 36(1):53--70, 2005. Google ScholarDigital Library
- Raynal M. and Taubenfeld G., The notion of Timed Registers and its application to Indulgent Synchronization. Tech Report RR-1820, IRISA, Université de Rennes, France, 17 pages, October 2006.Google Scholar
- Taubenfeld G., Computing in the Presence of Timing Failures. Proc. 26th Int'l IEEE Conference on Distributed Computing Systems (ICDCS'06), 2006. Google ScholarDigital Library
- Taubenfeld G., Synchronization Algorithms and Concurrent Programming. Pearson Prentice-Hall, ISBN 0-131-97259-6, 423 pages, 2006. Google ScholarDigital Library
Index Terms
- The notion of a timed register and its application to indulgent synchronization
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 ...
Help when needed, but no more: Efficient read/write partial snapshot
An atomic snapshot object is an object that can be concurrently accessed by asynchronous processes prone to crash. It is made of m components (base atomic registers) and is defined by two operations: an update operation that allows a process to ...
A simple deterministic algorithm for guaranteeing the forward progress of transactions
This paper describes a remarkably simple deterministic (not probabilistic) contention-management algorithm for guaranteeing the forward progress of transactions - avoiding deadlocks, livelocks, and other anomalies. The transactions must be finite (no ...
Comments