Abstract
When considering distributed computing, reliable message-passing synchronous systems on the one side, and asynchronous failure-prone shared-memory systems on the other side, remain two quite independently studied ends of the reliability/asynchrony spectrum. The concept of locality of a computation is central to the first one, while the concept of wait-freedom is central to the second one. The paper proposes a new DECOUPLED model in an attempt to reconcile these two worlds. It consists of a synchronous and reliable communication graph of nnodes, and on top a set of asynchronous crash-prone processes, each attached to a communication node. To illustrate the DECOUPLED model, the paper presents an asynchronous 3-coloring algorithm for the processes of a ring. From the processes point of view, the algorithm is wait-free. From a locality point of view, each process uses information only from processes at distance \(O(\log ^{*} n)\) from it. This local wait-free algorithm is based on an extension of the classical Cole and Vishkin’s vertex coloring algorithm in which the processes are not required to start simultaneously.
Similar content being viewed by others
Notes
CV86 was designed for trees in the PRAM model. It can be easily adapted to failure-free message-passing synchronous systems, for a ring, or a chain of processes
Assuming n ≥ 2, \(\log ^{*} n\) is the number of times the function “\(\log _{2}\)” needs to be applied in the invocation \(\log _{2}(\log _{2}(\log _{2} ...(\log _{2} n)....))\) to obtain value 1. Let us remember that \(\log ^{*}(\)approx. number of atoms in the universe ) = 5.
We use the “time” and “clock tick” terminology for the communication component, to prevent confusion with the “round” terminology used in the description of the CV86 and AST-CV algorithms.
The assumption that processes know the global time is made only to simplify the description of our algorithms. All that a process pi needs to know is the relative order of wake up with respect to its neighbors, which can be deduced from the content of the buffers at wake up time sti.
Usually, local refers to time complexity O(1). Here we adopt the more broad definition of time complexity o(D), where D is the diameter of the graph.
If pi is both a left end and a right end of a unit-segment, it forms its own unit-segment.
Being asynchronous, the waiting of pi during an arbitrary long (but finite) period does not modify its allowed behavior.
References
Arjomandi, E., Fischer, M., Lynch, N.: Efficiency of synchronous versus asynchronous distributed systems. J. ACM 30(3), 449–456 (1983)
Awerbuch, B.: Complexity of network synchronization. JACM 32(4), 804–823 (1985)
Awerbuch, B., Patt-Shamir, B., Peleg, D., Saks, M.: Adapting to asynchronous dynamic networks (extended abstract). In: Proceedings 24th ACM symposium on theory of computing (STOC’92), pp. 557–570 (1992)
Barenboim, L.: Deterministic (Δ + 1)-coloring in sublinear (in Δ) time in static, dynamic, and faulty networks. J. ACM. 63(5), Article 47 (2016)
Barenboim, L., Elkin M.: Deterministic distributed vertex coloring in polylogarithmic time. J. ACM 58(5), 23 (2011)
Barenboim, L., Elkin, M.: Distributed graph coloring, fundamental and recent developments, Morgan & Claypool Publishers, p. 155 (2014)
Barenboim, L., Elkin, M., Kuhn, F.: Distributed (Delta+1)-coloring in linear (in Delta) time. SIAM J. Comput. 43(1), 72–95 (2014)
Cole, R., Vishkin, U.: Deterministic coin tossing with applications to optimal parallel list ranking. Inf. Control. 70(1), 32–53 (1986)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Fraigniaud, P., Gafni, E., Rajsbaum, S., Roy, M.: Automatically adjusting concurrency to the level of synchrony. In: Proceedings 28th international symposium distributed computing (DISC’14), Springer LNCS, vol. 8784, pp. 1–15 (2014)
Fraigniaud, P., Heinrich, M., Kosowski, A.: Local conflict coloring. In: Proceedings 57th IEEE annual symposium on foundations of computer science, IEEE Computer Society, pp. 625–634 (2016)
Fraigniaud, P., Korman, A., Peleg, D.: Towards a complexity theory for local distributed computing. J. ACM 60(5), 16 (2013). Article 35
Garey, M.R., Johnson, D.S.: Computers and intractability: a guide to the theory of NP-completeness, p. 340. W.H. freeman, New York (1979)
Goldberg, A., Plotkin, S, Shannon, G.: Parallel symmetry-breaking in sparse graphs. SIAM J. Discret. Math. 1(4), 434–446 (1988)
Herlihy, M.P.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)
Keidar, I., Rajsbaum, S.: On the cost of fault-tolerant consensus when there are no faults: preliminary version. ACM SIGACT News 32(2), 45–63 (2001)
Kuhn, F., Moscibroda, T., Wattenhofer, R.: What cannot be computed locally! In: Proceedings 23rd ACM symposium on principles of distributed computing, ACM Press, pp. 300–309 (2004)
Linial, N.: Locality in distributed graph algorithms. SIAM JC 21(1), 193–201 (1992)
Meincke, T. et al.: Globally asynchronous locally synchronous architecture for large high-performance ASICs. In: Proceedings of the IEEE international symposium on circuits and systems (ISCAS’99), vol. 2, pp. 512–515 (1999)
Naor, M., Stockmeyer, L.: What can be computed locally? SIAM J. Comput. 24(6), 1259–1277 (1995)
Peleg, D.: Distributed computing, a locally sensitive approach. SIAM Monographs on Discrete Mathematics and Applications, p. 343 ISBN 0-89871-464-8 (2000)
Raynal, M.: Fault-tolerant agreement in synchronous message-passing systems. Morgan & Claypool Publishers, p. 165 ISBN 978-1-60845-525-6 (2010)
Raynal, M.: Communication and agreement abstractions for fault-tolerant asynchronous distributed systems. Morgan & Claypool Publishers, p. 251 ISBN 978-1-60845-293-4 (2010)
Raynal, M.: Concurrent programming: algorithms, principles, and foundations. springer, p. 530 ISBN 978-3-642-32026-2 (2013)
Suomela, J.: Survey of local algorithms. ACM Comput. Surv. 45(2), 40 (2013). Art. 24
Acknowledgments
C. Delporte, H. Fauconnier, and M. Raynal, were partially supported by the French ANR project DESCARTES, devoted to abstraction layers in distributed computing. A. Castañeda was supported in part by UNAM PAPIIT-DGAPA projects IA101015 and IA102417. S. Rajsbaum was supported in part by UNAM PAPIIT-DGAPA project IN107714.
All the authors want to thank INRIA for its support in the context of the INRIA-UNAM “Équipe Associée” LiDiCo (At the Limits of Distributed Computing).
Author information
Authors and Affiliations
Corresponding author
Additional information
This article is part of the Topical Collection on Special Issue on Stabilization, Safety, and Security of Distributed Systems (SSS 2016)
Rights and permissions
About this article
Cite this article
Castañeda, A., Delporte-Gallet, C., Fauconnier, H. et al. Making Local Algorithms Wait-Free: the Case of Ring Coloring. Theory Comput Syst 63, 344–365 (2019). https://doi.org/10.1007/s00224-017-9772-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00224-017-9772-y