Advertisement

Distributed Universality

  • Michel Raynal
  • Julien Stainer
  • Gadi Taubenfeld
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8878)

Abstract

A notion of a universal construction suited to distributed computing has been introduced by M. Herlihy in his celebrated paper “Wait-free synchronization” (ACM TOPLAS, 1991). A universal construction is an algorithm that can be used to wait-free implement any object defined by a sequential specification. Herlihy’s paper shows that the basic system model, which supports only atomic read/write registers, has to be enriched with consensus objects to allow the design of universal constructions. The generalized notion of a k-universal construction has been recently introduced by Gafni and Guerraoui (CONCUR, 2011). A k-universal construction is an algorithm that can be used to simultaneously implement k objects (instead of just one object), with the guarantee that at least one of the k constructed objects progresses forever. While Herlihy’s universal construction relies on atomic registers and consensus objects, a k-universal construction relies on atomic registers and k-simultaneous consensus objects (which are wait-free equivalent to k-set agreement objects in the read/write system model).

This paper significantly extends the universality results introduced by Herlihy and Gafni-Guerraoui. In particular, we present a k-universal construction which satisfies the following five desired properties, which are not satisfied by the previous k-universal construction: (1) among the k objects that are constructed, at least ℓ objects (and not just one) are guaranteed to progress forever; (2) the progress condition for processes is wait-freedom, which means that each correct process executes an infinite number of operations on each object that progresses forever; (3) if any of the k constructed objects stops progressing, all its copies (one at each process) stop in the same state; (4) the proposed construction is contention-aware, in the sense that it uses only read/write registers in the absence of contention; and (5) it is generous with respect to the obstruction-freedom progress condition, which means that each process is able to complete any one of its pending operations on the k objects if all the other processes hold still long enough. The proposed construction, which is based on new design principles, is called a (k,ℓ)-universal construction. It uses a natural extension of k-simultaneous consensus objects, called (k,ℓ)-simultaneous consensus objects ((k,ℓ)-SC). Together with atomic registers, (k,ℓ)-SC objects are shown to be necessary and sufficient for building a (k,ℓ)-universal construction, and, in that sense, (k,ℓ)-SC objects are (k,ℓ)-universal.

Keywords

Asynchronous read/write system universal construction consensus distributed computability k-simultaneous consensus wait-freedom non-blocking obstruction-freedom contention-awareness crash failures state machine replication 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Afek, Y., Gafni, E., Rajsbaum, S., Raynal, M., Travers, C.: The k-simultaneous consensus problem. Distributed Computing 22(3), 185–195 (2010)CrossRefzbMATHGoogle Scholar
  2. 2.
    Anderson, J.H., Moir, M.: Universal constructions for large objects. IEEE Transactions of Parallel and Distributed Systems 10(12), 1317–1332 (1999)CrossRefGoogle Scholar
  3. 3.
    Attiya, H., Guerraoui, R., Hendler, D., Kutnetsov, P.: The complexity of obstruction-free implementations. Journal of the ACM 56(4), Article 24, 33 (2009)Google Scholar
  4. 4.
    Attiya, H., Welch, J.L.: Distributed computing: Fundamentals, simulations and advanced topics, 2nd edn., p. 414. Wiley Interscience (2004) ISBN 0-471-45324-2Google Scholar
  5. 5.
    Borowsky, E., Gafni, E., Generalized, F.L.P.: impossibility results for t-resilient asynchronous computations. In: Proc. 25th ACM Symposium on Theory of Computing (STOC 1993), pp. 91–100. ACM Press (1993)Google Scholar
  6. 6.
    Bouzid, Z., Travers, C.: Simultaneous consensus is harder than set agreement in message-passing. In: Proc. 33rd Int’l IEEE Conference on Distributed Computing Systems (ICDCS 2013), pp. 611–620. IEEE Press (2013)Google Scholar
  7. 7.
    Chaudhuri, S.: More choices allow more faults: Set consensus problems in totally asynchronous systems. Information and Computation 105(1), 132–158 (1993)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Ellen, F., Fatourou, P., Kosmas, E., Milani, A., Travers, C.: Universal construction that ensure disjoint-access parallelism and wait-freedom. In: Proc. 31th ACM Symposium on Principles of Distributed Computing (PODC), pp. 115–124. ACM Press (2012)Google Scholar
  9. 9.
    Fatourou, P., Kallimanis, N.D.: A highly-efficient wait-free universal construction. In: Proc. 23th ACM Symposium on Parallel Algorithms and Architectures (SPAA), pp. 325–334. ACM Press (2012)Google Scholar
  10. 10.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. Journal of the ACM 32(2), 374–382 (1985)CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    Gafni, E.: Round-by-round fault detectors: unifying synchrony and asynchrony. In: Proc. 17th ACM Symp. on Principles of Distr. Computing (PODC), pp. 143–152. ACM Press (1998)Google Scholar
  12. 12.
    Gafni, E., Guerraoui, R.: Generalized universality. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 17–27. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  13. 13.
    Guerraoui, R., Kapalka, M., Kouznetsov, P.: The weakest failure detectors to boost obstruction-freedom. Distributed Computing 20(6), 415–433 (2008)CrossRefzbMATHGoogle Scholar
  14. 14.
    Herlihy, M.P.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124–149 (1991)CrossRefGoogle Scholar
  15. 15.
    Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: Proc. 23th Int’l IEEE Conference on Distributed Computing Systems (ICDCS 2003), pp. 522–529. IEEE Press (2003)Google Scholar
  16. 16.
    Herlihy, M.P., Shavit, N.: The topological structure of asynchronous computability. Journal of the ACM 46(6), 858–923 (1999)CrossRefzbMATHMathSciNetGoogle Scholar
  17. 17.
    Herlihy, M.P., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)CrossRefGoogle Scholar
  18. 18.
    Lamport, L.: On inter-process communications, Part I: Basic formalism. Distributed Computing 1(2), 77–85 (1986)CrossRefzbMATHGoogle Scholar
  19. 19.
    Loui, M., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research 4, 163–183 (1987)MathSciNetGoogle Scholar
  20. 20.
    Lynch, N.A.: Distributed algorithms, vol. 872. Morgan Kaufmann (1996)Google Scholar
  21. 21.
    Luchangco, V., Moir, M., Shavit, N.N.: On the Uncontended complexity of consensus. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 45–59. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  22. 22.
    Merritt, M., Taubenfeld, G.: Resilient consensus for infinitely many processes. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 1–15. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  23. 23.
    Raynal, M.: Concurrent programming: Algorithms, principles, and foundations, 515 p. Springer (2013) ISBN 978-3-642-32026-2Google Scholar
  24. 24.
    Raynal, M., Stainer, J.: Simultaneous consensus vs set agreement: A message-passing-sensitive hierarchy of agreement problems. In: Moscibroda, T., Rescigno, A.A. (eds.) SIROCCO 2013. LNCS, vol. 8179, pp. 298–309. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  25. 25.
    Raynal, M., Stainer, J., Taubenfeld, G.: Distributed universality. Tech Report, pages, IRISA, Université de Rennes, France (2014)Google Scholar
  26. 26.
    Saks, M., Zaharoglou, F.: Wait-free k-set agreement is impossible: the topology of public knowledge. SIAM Journal on Computing 29(5), 1449–1483 (2000)CrossRefzbMATHMathSciNetGoogle Scholar
  27. 27.
    Taubenfeld, G.: Contention-sensitive data structures and algorithms. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 157–171. Springer, Heidelberg (2009)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Michel Raynal
    • 1
    • 2
  • Julien Stainer
    • 2
  • Gadi Taubenfeld
    • 3
  1. 1.Institut Universitaire de FranceFrance
  2. 2.IRISA, Université de RennesRennes CedexFrance
  3. 3.The Interdisciplinary CenterHerzliyaIsrael

Personalised recommendations