Skip to main content

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

  • Conference paper
  • First Online:
Stabilization, Safety, and Security of Distributed Systems (SSS 2016)

Abstract

When considering distributed computing, reliable message-passing synchronous systems on the one side, and asynchronous failure-prone shared-memory systems on tyhe 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 \(\mathcal{DECOUPLED}\) model in an attempt to reconcile these two worlds. It consists of a synchronous and reliable communication graph of n nodes, and on top a set of asynchronous crash-prone processes, each attached to a communication node.

To illustrate the \(\mathcal{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 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 chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

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

    Assuming \(n\ge 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. 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. 4.

    The assumption that processes know the global time is made only to simplify the description of our algorithms. All that a process \(p_i\) 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 \(st_i\).

  5. 5.

    If \(p_i\) is both a left end and a right end of a unit-segment, it forms its own unit-segment.

  6. 6.

    Being asynchronous, the waiting of \(p_i\) 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 of the 24th ACM Symposium on Theory of Computing (STOC 1992), pp. 557–570 (1992)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  5. Barenboim, L., Elkin, M.: Distributed Graph Coloring, Fundamental and Recent Developments, 155 p. Morgan & Claypool Publishers (2014)

    Google Scholar 

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

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

  8. Castañeda, A., Delporte, C., Fauconnier, H., Rajsbaum, S., Raynal, M.: Wait-freedom and locality are not incompatible (with distributed ring coloring as an example). Technical report #2033, 19 p., IRISA, University of Rennes, France (2016)

    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: Kuhn, F. (ed.) DISC 2014. LNCS, vol. 8784, pp. 1–15. Springer, Heidelberg (2014)

    Google Scholar 

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

    Google Scholar 

  12. Garey, M.R., Johnson, D.S.: Computers, Intractability: A Guide to the Theory of NP-Completeness, 340 p. W.H. Freeman, New York (1979)

    Google Scholar 

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

    Article  Google Scholar 

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

  15. Kuhn, F., Moscibroda, T., Wattenhofer, R.: What cannot be computed locally! In: Proceedings of the 23rd ACM Symposium on Principles of Distributed Computing, pp. 300–309. ACM Press (2004)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  17. 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 1999), vol. 2, pp. 512–515 (1999)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  20. Raynal, M.: Fault-Tolerant Agreement in Synchronous Message-Passing Systems, 165 p. Morgan & Claypool Publishers (2010). ISBN 978-1-60845-525-6

    Google Scholar 

  21. Raynal, M.: Communication and Agreement Abstractions for Fault-Tolerant Asynchronous Distributed Systems,251 p. Morgan & Claypool Publishers (2010). ISBN 978-1-60845-293-4

    Google Scholar 

  22. Raynal, M.: Concurrent Programming: Algorithms, Principles, and Foundations, 530 p. Springer (2013). ISBN 978-3-642-32026-2

    Google Scholar 

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

    Article  MATH  Google Scholar 

Download references

Acknowledgments

This work has been partially supported by the French ANR project DESCARTES, devoted to abstraction layers in distributed computing. The first author was supported in part by UNAM PAPIIT-DGAPA project IA101015. The fourth author is currently on leave at CSAIL-MIT and was supported in part by UNAM PAPIIT-DGAPA project IN107714.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michel Raynal .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Castañeda, A., Delporte, C., Fauconnier, H., Rajsbaum, S., Raynal, M. (2016). Making Local Algorithms Wait-Free: The Case of Ring Coloring. In: Bonakdarpour, B., Petit, F. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2016. Lecture Notes in Computer Science(), vol 10083. Springer, Cham. https://doi.org/10.1007/978-3-319-49259-9_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-49259-9_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-49258-2

  • Online ISBN: 978-3-319-49259-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics