Skip to main content
Log in

Making Local Algorithms Wait-Free: the Case of Ring Coloring

  • Published:
Theory of Computing Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. 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

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. If pi is both a left end and a right end of a unit-segment, it forms its own unit-segment.

  7. Being asynchronous, the waiting of pi during an arbitrary long (but finite) period does not modify its allowed behavior.

References

  1. Arjomandi, E., Fischer, M., Lynch, N.: Efficiency of synchronous versus asynchronous distributed systems. J. ACM 30(3), 449–456 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  2. Awerbuch, B.: Complexity of network synchronization. JACM 32(4), 804–823 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  3. 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)

  4. Barenboim, L.: Deterministic (Δ + 1)-coloring in sublinear (in Δ) time in static, dynamic, and faulty networks. J. ACM. 63(5), Article 47 (2016)

  5. Barenboim, L., Elkin M.: Deterministic distributed vertex coloring in polylogarithmic time. J. ACM 58(5), 23 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  6. Barenboim, L., Elkin, M.: Distributed graph coloring, fundamental and recent developments, Morgan & Claypool Publishers, p. 155 (2014)

  7. Barenboim, L., Elkin, M., Kuhn, F.: Distributed (Delta+1)-coloring in linear (in Delta) time. SIAM J. Comput. 43(1), 72–95 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  8. Cole, R., Vishkin, U.: Deterministic coin tossing with applications to optimal parallel list ranking. Inf. Control. 70(1), 32–53 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  9. Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  10. 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)

  11. 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)

  12. Fraigniaud, P., Korman, A., Peleg, D.: Towards a complexity theory for local distributed computing. J. ACM 60(5), 16 (2013). Article 35

    Article  MathSciNet  MATH  Google Scholar 

  13. 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)

    MATH  Google Scholar 

  14. Goldberg, A., Plotkin, S, Shannon, G.: Parallel symmetry-breaking in sparse graphs. SIAM J. Discret. Math. 1(4), 434–446 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  15. Herlihy, M.P.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)

    Article  Google Scholar 

  16. 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)

    Article  Google Scholar 

  17. 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)

  18. Linial, N.: Locality in distributed graph algorithms. SIAM JC 21(1), 193–201 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  19. 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)

  20. Naor, M., Stockmeyer, L.: What can be computed locally? SIAM J. Comput. 24(6), 1259–1277 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  21. Peleg, D.: Distributed computing, a locally sensitive approach. SIAM Monographs on Discrete Mathematics and Applications, p. 343 ISBN 0-89871-464-8 (2000)

  22. Raynal, M.: Fault-tolerant agreement in synchronous message-passing systems. Morgan & Claypool Publishers, p. 165 ISBN 978-1-60845-525-6 (2010)

  23. Raynal, M.: Communication and agreement abstractions for fault-tolerant asynchronous distributed systems. Morgan & Claypool Publishers, p. 251 ISBN 978-1-60845-293-4 (2010)

  24. Raynal, M.: Concurrent programming: algorithms, principles, and foundations. springer, p. 530 ISBN 978-3-642-32026-2 (2013)

  25. Suomela, J.: Survey of local algorithms. ACM Comput. Surv. 45(2), 40 (2013). Art. 24

    Article  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Michel Raynal.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00224-017-9772-y

Keywords

Navigation