Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3662158.3662803acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Asynchronous Self-stabilization Made Fast, Simple, and Energy-efficient

Published: 17 June 2024 Publication History

Abstract

Distributed systems are ubiquitous, and their distributed nature make them particularly vulnerable to faults. Being able to automatically recover from these faults is of utmost importance, and self-stabilization is a general and lightweight approach to tackle this problem. However, fully asynchronous self-stabilizing algorithms (FASS) are notoriously difficult to design and prove. It thus makes sense to create and prove a transformer that turns synchronous algorithms into FASSes.
The Rollback Compiler of Awerbuch and Varghese (FOCS 1991) is such a transformer. The problem is that although it produces FASSes that are fast (time being evaluated in rounds), we prove that their energy requirement (measured through the number of state changes) can be exponential in the number n of nodes. Actually, regardless of the problem, the literature only contains a few FASSes which are asymptotically optimal time-wise. Moreover, several of these algorithms have been shown to require an exponential amount of energy, and no such algorithms are known to be energy-efficient.
In this paper, we introduce the first transformer that turns any terminating synchronous algorithm into a fully asynchronous self-stabilizing algorithm with essentially the same time complexity and with a low energy requirement (polynomial in n). However, as for the rollback compiler, this comes at the cost of a (reasonable) memory increase. Our approach is compatible with most models, ranging from the LOCAL model (a powerful synchronous fault-free model), down to models such as the Stone Age model, in which a node cannot even know how many neighbors it has.
In particular, we can transform extremely fast algorithms such as the classical Θ{log*n)-time ring coloring algorithm by Cole and Vishkin (FOCS 1986) into fast and energy-efficient FASSes. We also provide the best FASSes so far for many classical distributed problems such as leader election and spanning tree constructions (e.g., BFS, shortest-path).

References

[1]
Y. Afek and S. Dolev. 2002. Local Stabilizer. J. Parallel and Distrib. Comput. 62, 5 (2002), 745--765.
[2]
Y. Afek, S. Kutten, and M. Yung. 1997. The Local Detection Paradigm and Its Application to Self-Stabilization. Theoretical Computer Science 186, 1-2 (1997), 199--229.
[3]
K. Altisen, A. Cournier, S. Devismes, A. Durand, and F. Petit. 2017. Self-Stabilizing Leader Election in Polynomial Steps. Information and Computation 254, 3 (2017), 330 -- 366.
[4]
K. Altisen, S. Devismes, S. Dubois, and F. Petit. 2019. Introduction to Distributed Self-Stabilizing Algorithms. Morgan & Claypool.
[5]
D. Angluin. 1980. Local and Global Properties in Networks of Processors. In 12th Annual Symposium on Theory of Computing (STOC'80). 82--93.
[6]
B. Awerbuch, A. Bar-Noy, and M. Gopal. 1994. Approximate distributed Bellman-Ford algorithms. IEEE Transactions on Communications 42, 8 (1994), 2515--2517.
[7]
B. Awerbuch, S. Kutten, Y. Mansour, B. Patt-Shamir, and G. Varghese. 1993. Time optimal self-stabilizing synchronization. In 25th Annual Symposium on Theory of Computing (STOC'93). 652--661.
[8]
B. Awerbuch, B. Patt-Shamir, and G. Varghese. 1991. Self-stabilization by local checking and correction. In 32nd Annual Symposium of Foundations of Computer Science (FOCS'91). 268--277.
[9]
B Awerbuch and M. Sipser. 1988. Dynamic Networks Are as Fast as Static Networks (Preliminary Version). In 29th Annual Symposium of Foundations of Computer Science (FOCS'88). 206--220.
[10]
B. Awerbuch and G. Varghese. 1991. Distributed Program Checking: a Paradigm for Building Self-stabilizing Distributed Protocols. In 32nd Annual Symposium on Foundations of Computer Science (FOCS'91). 258--267.
[11]
S. Bernard, S. Devismes, M. Gradinariu Potop-Butucaru, and S. Tixeuil. 2009. Optimal deterministic self-stabilizing vertex coloring in unidirectional anonymous networks. In 23rd International Symposium on Parallel&Distributed Processing (IPDPS'09). 1--8.
[12]
S. Bernard, S. Devismes, K. Paroux, M. Potop-Butucaru, and S. Tixeuil. 2010. Probabilistic Self-Stabilizing Vertex Coloring in Unidirectional Anonymous Networks. In 11th International Conference on Distributed Computing and Networking (ICDCN'10). 167--177.
[13]
L. Blin, P. Fraigniaud, and B. Patt-Shamir. 2014. On Proof-Labeling Schemes versus Silent Self-stabilizing Algorithms. In 16th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS'14). 18--32.
[14]
P. Boldi and S. Vigna. 2002. Universal dynamic synchronous self-stabilization. Distributed Computing 15 (2002), 137--153.
[15]
J. Burman and S. Kutten. 2007. Time Optimal Asynchronous Self-stabilizing Spanning Tree. In 21st International Symposium on Distributed Computing (DISC'07). 92--107.
[16]
B. Chen, H. Yu, Y. Zhao, and P. B. Gibbons. 2014. The Cost of Fault Tolerance in Multi-Party Communication Complexity. J. ACM 61, 3 (2014), 1--64.
[17]
R. Cole and U. Vishkin. 1986. Approximate and Exact Parallel Scheduling with Applications to List, Tree and Graph Problems. In 27th Annual Symposium on Foundations of Computer Science (FOCS'86). 478--491.
[18]
A. Cournier, S. Devismes, and V. Villain. 2009. Light enabling snap-stabilization of fundamental protocols. ACM Transactions on Autonomous and Adaptive Systems 4, 1 (2009), 1--27.
[19]
A. Cournier, S. Rovedakis, and V. Villain. 2019. The first fully polynomial stabilizing algorithm for BFS tree construction. Information and Computation 265 (2019), 26--56.
[20]
Dolev D. and R. Reischuk. 1982. Bounds on Information Exchange for Byzantine Agreement. In 1st Annual Symposium on Principles of Distributed Computing (PODC'82). 132--140.
[21]
A. K. Datta, S. Devismes, C. Johnen, and L. L. Larmore. 2019. Brief Announcement: Analysis of a Memory-Efficient Self-stabilizing BFS Spanning Tree Construction. In 21th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS'19). 99--104.
[22]
A. K. Datta, L. L. Larmore, and P. Vemula. 2011. An O(n)-time self-stabilizing leader election algorithm. J. Parallel and Distrib. Comput. 71, 11 (2011), 1532--1544.
[23]
A. K. Datta, L. L. Larmore, and P. Vemula. 2011. Self-stabilizing leader election in optimal space under an arbitrary scheduler. Theoretical Computer Science 412, 40 (2011), 5541--5561.
[24]
S. Devismes, D. Ilcinkas, and C. Johnen. 2022. Optimized Silent Self-Stabilizing Scheme for Tree-Based Constructions. Algorithmica 84, 1 (2022), 85--123.
[25]
Stéphane Devismes, David Ilcinkas, Colette Johnen, and Frédéric Mazoit. 2023. Making local algorithms efficiently self-stabilizing in arbitrary asynchronous environments. Technical Report 2307.06635. arXiv. arXiv:2307.06635 [cs.DC]
[26]
S. Devismes and C. Johnen. 2016. Silent self-stabilizing BFS tree algorithms revisited. Journal on Parallel Distributed Computing 97 (2016), 11--23.
[27]
E. W. Dijkstra. 1974. Self-stabilization in Spite of Distributed Control. Commun. ACM 17, 11 (1974), 643--644.
[28]
S. Dolev. 1993. Optimal time self stabilization in dynamic systems. In 7th International Workshop on Distributed Algorithms (WDAG'93). 160--173.
[29]
S. Dolev. 2000. Self-Stabilization. MIT Press.
[30]
S. Dolev, M. G. Gouda, and M. Schneider. 1999. Memory Requirements for Silent Stabilization. Acta Informatica 36, 6 (1999), 447--462.
[31]
S. Dolev, A. Israeli, and S. Moran. 1993. Self-Stabilization of Dynamic Systems Assuming Only Read/Write Atomicity. Distributed Computing 7, 1 (1993), 3--16.
[32]
Y. Emek and R. Wattenhofer. 2013. Stone age distributed computing. In 32nd Symposium on Principles of Distributed Computing (PODC'13). 137--146.
[33]
M. J. Fischer, N. A. Lynch, and M. S. Paterson. 1985. Impossibility of Distributed Consensus with One Faulty Process. J. ACM 32, 2 (1985), 374--382.
[34]
M. Gradinariu and S. Tixeuil. 2000. Self-stabilizing Vertex Coloration and Arbitrary Graphs. In 4th International Conference on Principles of Distributed Systems (OPODIS'00). 55--70.
[35]
S. Huang and N. Chen. 1992. A Self-Stabilizing Algorithm for Constructing Breadth-First Trees. Inform. Process. Lett. 41, 2 (1992), 109--117.
[36]
C. Johnen. 1997. Memory Efficient, Self-Stabilizing Algorithm to Construct BFS Spanning Trees. In 16th Annual Symposium on Principles of Distributed Computing (PODC'97). 288.
[37]
S. Katz and K. J. Perry. 1993. Self-Stabilizing Extensions for Message-Passing Systems. Distributed Computing 7, 1 (1993), 17--26.
[38]
A. Kosowski and L. Kuszner. 2005. A Self-stabilizing Algorithm for Finding a Spanning Tree in a Polynomial Number of Moves. In 6th International Conference on Parallel Processing and Applied Mathematics (PPAM'05). 75--82.
[39]
A. Kravchik and S. Kutten. 2013. Time Optimal Synchronous Self Stabilizing Spanning Tree. In 27th International Symposium on Distributed Computing (DISC'13). 91--105.
[40]
C. Lenzen, J. Suomela, and R. Wattenhofer. 2009. Local Algorithms: Self-stabilization on Speed. In 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS'09). 17--34.
[41]
N. Linial. 1992. Locality in Distributed Graph Algorithms. SIAM J. Comput. 21, 1 (1992), 193--201.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '24: Proceedings of the 43rd ACM Symposium on Principles of Distributed Computing
June 2024
570 pages
ISBN:9798400706684
DOI:10.1145/3662158
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 June 2024

Check for updates

Author Tags

  1. self-stabilization
  2. local model
  3. transformer
  4. time complexity

Qualifiers

  • Research-article

Funding Sources

  • ANR SkyData
  • ANR TEMPOGRAL

Conference

PODC '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 39
    Total Downloads
  • Downloads (Last 12 months)39
  • Downloads (Last 6 weeks)4
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media