skip to main content
10.1145/1248377.1248413acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
Article

The notion of a timed register and its application to indulgent synchronization

Published:09 June 2007Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alur R., Attiya H. and Taubenfeld G., Time-adaptive Algorithms for Synchronization. SIAM Journal of Computing, 26(2):539--556, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Alur R. and Taubenfeld G., Fast Timing-based Algorithms. Distributed Computing, 10(1):1--10, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. Burns J.N. and Lynch N.A., Bounds on shared-memory for mutual exclusion. Information and Computation, 107(2):171--184, December 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chandra T.D. and Toueg S., Unreliable Failure Detectors for Reliable Distributed Systems. Journal of the ACM, 43(2):225--267, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. Guerraoui R., Indulgent Algorithms. Proc. 19th ACM Symposium on Principles of Distributed Computing, (PODC'00), ACM Press, pp. 289--298, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. Guerraoui R. and Raynal M., The Information Structure of Indulgent Consensus. IEEE Transactions on Computers, 53(4):453--466, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Herlihy M.P., Wait-Free Synchronization. ACM TOPLAS, 13(1):124--149, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. Herlihy M.P. and Shavit N., The topological Structure of Asynchronous Computability. JACM, 46(6):858--923, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Herlihy M.P. and Wing J.M., Linearizability: a Correctness Condition for Concurrent Objects. ACM TOPLAS, 12(3):463--492, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Lamport. L., Proving the Correctness of multiprocess programs. IEEE Transaction on Software Engineering, SE-3(2):125--143, 1977.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Lamport. L., On Interprocess Communication, Part II: Algorithms. Distributed Computing, 1(2):86--101, 1986.Google ScholarGoogle ScholarCross RefCross Ref
  20. Lamport L., A Fast Mutual Exclusion Algorithm. ACM Transactions on Computer Systems, 5(1):1--11, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarCross RefCross Ref
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. Raynal M., Algorithms for mutual exclusion. The MIT Press, ISBN 0-262-18119-3, 107 pages, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Raynal M., A Short Introduction to Failure Detectors for Asynchronous Distributed Systems. ACM SIGACT News, Distributed Computing Column, 36(1):53--70, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle Scholar
  28. Taubenfeld G., Computing in the Presence of Timing Failures. Proc. 26th Int'l IEEE Conference on Distributed Computing Systems (ICDCS'06), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Taubenfeld G., Synchronization Algorithms and Concurrent Programming. Pearson Prentice-Hall, ISBN 0-131-97259-6, 423 pages, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The notion of a timed register and its application to indulgent synchronization

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader