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.
KeywordsAsynchronous read/write system universal construction consensus distributed computability k-simultaneous consensus wait-freedom non-blocking obstruction-freedom contention-awareness crash failures state machine replication
Unable to display preview. Download preview PDF.
- 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.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.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.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
- 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.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
- 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
- 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
- 20.Lynch, N.A.: Distributed algorithms, vol. 872. Morgan Kaufmann (1996)Google Scholar
- 23.Raynal, M.: Concurrent programming: Algorithms, principles, and foundations, 515 p. Springer (2013) ISBN 978-3-642-32026-2Google Scholar
- 25.Raynal, M., Stainer, J., Taubenfeld, G.: Distributed universality. Tech Report, pages, IRISA, Université de Rennes, France (2014)Google Scholar