Skip to main content
Log in

Fast and compact self-stabilizing verification, computation, and fault detection of an MST

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

This paper demonstrates the usefulness of distributed local verification of proofs, as a tool for the design of self-stabilizing algorithms. In particular, it introduces a somewhat generalized notion of distributed local proofs, and utilizes it for improving the time complexity significantly, while maintaining space optimality. As a result, we show that optimizing the memory size carries at most a small cost in terms of time, in the context of minimum spanning tree (MST). That is, we present algorithms that are both time and space efficient for both constructing an MST and for verifying it. This involves several parts that may be considered contributions in themselves. First, we generalize the notion of local proofs, trading off the time complexity for memory efficiency. This adds a dimension to the study of distributed local proofs, which has been gaining attention recently. Specifically, we design a (self-stabilizing) proof labeling scheme which is memory optimal (i.e., \(O(\log n)\) bits per node), and whose time complexity is \(O(\log ^2 n)\) in synchronous networks, or \(O(\varDelta \log ^3 n)\) time in asynchronous ones, where \(\varDelta \) is the maximum degree of nodes. This answers an open problem posed by Awerbuch et al. (1991). We also show that \(\varOmega (\log n)\) time is necessary, even in synchronous networks. Another property is that if \(f\) faults occurred, then, within the required detection time above, they are detected by some node in the \(O(f\log n)\) locality of each of the faults. Second, we show how to enhance a known transformer that makes input/output algorithms self-stabilizing. It now takes as input an efficient construction algorithm and an efficient self-stabilizing proof labeling scheme, and produces an efficient self-stabilizing algorithm. When used for MST, the transformer produces a memory optimal self-stabilizing algorithm, whose time complexity, namely, \(O(n)\), is significantly better even than that of previous algorithms (the time complexity of previous MST algorithms that used \(\varOmega (\log ^2 n)\) memory bits per node was \(O(n^2)\), and the time for optimal space algorithms was \(O(n|E|)\)). Inherited from our proof labeling scheme, our self-stabilising MST construction algorithm also has the following two properties: (1) if faults occur after the construction ended, then they are detected by some nodes within \(O(\log ^2 n)\) time in synchronous networks, or within \(O(\varDelta \log ^3 n)\) time in asynchronous ones, and (2) if \(f\) faults occurred, then, within the required detection time above, they are detected within the \(O(f\log n)\) locality of each of the faults. We also show how to improve the above two properties, at the expense of some increase in the memory.

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
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. We note, the standard technique (e.g., [38]) for obtaining unique weights is not sufficient for our purposes. Indeed, that technique orders edge weights lexicographically: first, by their original weight \(\omega (e)\), and then, by the identities of the edge endpoints. This yields a modified graph with unique edge weights, and an MST of the modified graph is necessarily an MST of the original graph. For construction purposes it is therefore sufficient to consider only the modified graph. Yet, this is not the case for verification purposes, as the given subgraph can be an MST of the original graph but not necessarily an MST of the modified graph. While the authors in [51] could not guarantee that any MST of the original graph is an MST of the modified graph (having unique edge weights), they instead make sure that the particular given subgraph \(T\) is an MST of the original graph if and only if it is an MST of modified one. This condition is sufficient for verification purposes, and allows one to consider only the modified graph. For completeness, we describe the weight-modification in [51]. To obtain the modified graph, the authors in [51] employ the technique, where edge weights are lexicographically ordered as follows. For an edge \(e=(v,u)\) connecting \(v\) to its neighbour \(u\), consider first its original weight \(\omega (e)\), next, the value \(1-Y_u^v\) where \(Y_u^v\) is the indicator variable of the edge \(e\) (indicating whether \(e\) belongs to the candidate MST to be verified), and finally, the identities of the edge endpoints, \({\mathtt{ID}}(v)\) and \({\mathtt{ID}}(u)\) (say, first comparing the smaller of the two identities of the endpoints, and then the larger one). Formally, let \(\omega '(e) ~=~ \left\langle \omega (e), 1-Y_u^v, {\mathtt{ID}}_{ min}(e), {\mathtt{ID}}_{ max}(e) \right\rangle ~,\) where \({\mathtt{ID}}_{ min}(e) = \min \{{\mathtt{ID}}(v),{\mathtt{ID}}(u)\}\) and \({\mathtt{ID}}_{ max}(e) = \max \{{\mathtt{ID}}(v),{\mathtt{ID}}(u)\}\). Under this weight function \(\omega '(e)\), edges with indicator variable set to 1 will have lighter weight than edges with the same weight under \(\omega (e)\) but with indicator variable set to 0 (i.e., for edges \(e_1\in T\) and \(e_2\notin T\) such that \(\omega (e_1)=\omega (e_2)\), we have \(\omega '(e_1)< \omega '(e_2)\)). It follows that the given subgraph \(T\) is an MST of \(G\) under \(\omega (\cdot ) \) if and only if \(T\) is an MST of \(G\) under \(\omega '(\cdot )\). Moreover, since \(\omega '(\cdot )\) takes into account the unique node identities, it assigns distinct edge weights.

  2. That protocol, called “the strict discipline” in [3], actually provides a stronger property (emulating a coarser grained atomicity), not used here.

  3. Note that we do not include the number of bits needed for storing the component \(c(v)\) at each node \(v\). Recall that for simplicity, we assume here that each component contains a single pointer, and therefore, the size of each component is \(O(\log n)\) bits. Hence, for our purposes, including the size of a component in the memory complexity would not increase the asymptotical size of the memory, anyways. However, in the general case, if multiple pointers can be included in a component, then the number of bits needed for encoding a component would potentially be as large as \(O(\varDelta \log n)\). Since, in this case, the verification scheme has no control over the size of the component, we decided to exclude this part from the definition of the memory complexity.

  4. An input/output algorithm is one whose correctness requirement can be specified as a relation between its input and its output.

  5. An alternative synchronizer can be based on the one of [17], again, coupled with some additional known components, such as a module to compute \(n\).

References

  1. Afek, Y., Bremler-Barr, A.: Self-stabilizing unidirectional network algorithms by power supply. Chic. J. Theor. Comput. Sci. (1998)

  2. Afek, Y., Kutten, S., Yung, M.: Memory-efficient self stabilizing protocols for general networks. In: WDAG (renamed DISC), pp. 15–28 (1991)

  3. Afek, Y., Kutten, S., Yung, M.: The local detection paradigm and its application to self-stabilization. Theor. Comput. Sci. 186(1–2), 199–229 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  4. Aggarwal, S., Kutten, S.: Time optimal self-stabilizing spanning tree algorithms. In: FSTTCS, pp. 400–410 (1993)

  5. Antonoiu, G., Srimani, P.: Distributed self-stabilizing algorithm for minimum spanning tree construction. Euro-Par 1300, 480–487 (1997)

    Google Scholar 

  6. Arora, A., Gouda, M.G.: Distributed reset. IEEE Trans. Comput. 43(9), 1026–1038 (1994)

    Article  MATH  Google Scholar 

  7. Awerbuch, B.: A new distributed depth first search algorithm. Inf. Process. Lett. 20(3), 147–150 (1985)

    Article  MATH  Google Scholar 

  8. Awerbuch, B.: Optimal distributed algorithms for minimum weight spanning tree, counting, leader election and related problems. In: STOC, pp. 230–240 (1987)

  9. Awerbuch, B., Kutten, S., Mansour, Y., Patt-Shamir, B., Varghese, G.: Time optimal self-stabilizing synchronization. In: STOC, pp. 652–661 (1993)

  10. Awerbuch, B., Kutten, S., Mansour, Y., Patt-Shamir, B., Varghese, G.: A time-optimal self-stabilizing synchronizer using a phase clock. IEEE Trans. Dependable Secure Comput. 4(3), 180–190 (2007)

    Article  Google Scholar 

  11. Awerbuch, B., Patt-Shamir, B., Varghese, G.: Self-stabilization by local checking and correction. In: FOCS, pp. 268–277 (1991)

  12. Awerbuch, B., Patt-Shamir, B., Varghese, G., Dolev, S.: Self-stabilization by local checking and global reset. In: WDAG, pp. 326–339 (1994)

  13. Awerbuch, B., Varghese, G.: Distributed program checking: a paradigm for building self-stabilizing distributed protocols. In: FOCS, pp. 258–267 (1991)

  14. Azar, Y., Kutten, S., Patt-Shamir, B.: Distributed error confinement. ACM Trans. Algorithms 6(3), 48 (2010)

  15. Blin, L., Dolev, S., Potop-Butucaru, M.G., Rovedakis, S.: Fast self-stabilizing minimum spanning tree construction. In: DISC, pp. 480–494 (2010)

  16. Blin, L., Potop-Butucaru, M., Rovedakis, S., Tixeuil, S.: A new self-stabilizing minimum spanning tree construction with loop-free property. In: DISC, pp. 407–422 (2009)

  17. Boulinier, C., Petit, F., Villain, V.: When graph theory helps self-stabilization. In: PODC, pp. 150–159 (2004)

  18. Bui, A., Datta, A.K., Petit, F., Villain, V.: Snap-stabilization and PIF in tree networks. Distrib. Comput. 20(1), 3–19 (2007)

    MATH  Google Scholar 

  19. Chang, E.J.H.: Echo algorithms: depth parallel operations on general graphs. IEEE Trans. Softw. Eng. 8(4), 391–401 (1982)

    Article  Google Scholar 

  20. Chlamtac, I., Kutten, S.: Tree-based broadcasting in multihop radio networks. IEEE Trans. Comput. 36(10), 1209–1223 (1987)

    Article  Google Scholar 

  21. Collin, Z., Dolev, S.: Self-stabilizing depth-first search. Inf. Process. Lett. 49(6), 297–301 (1994)

    Article  MATH  Google Scholar 

  22. Cournier, A., Petit, F., Villain, V., Datta, A.K.: Self-stabilizing PIF algorithm in arbitrary rooted networks. In: ICDCS, pp. 91–98 (2001)

  23. Dalal, Y.K.: A distributed algorithm for constructing minimal spanning trees. IEEE Trans. Softw. Eng. 13(3), 398–405 (1987)

    Article  Google Scholar 

  24. Das Sarma, A., Holzer, S., Kor, L., Korman, A., Nanongkai, D., Pandurangan, G., Peleg, D., Wattenhofer, R.: Distributed verification and hardness of distributed approximation. SIAM J. Comput. 41(5), 1235–1265 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  25. Datta, A.K., Larmore, L.L., Pinigantim, H.: Self-stabilizing leader election in dynamic networks. In: SSS, pp. 35–49 (2010)

  26. Datta, A.K., Larmore, L.L., Vemula, P.: Self-stabilizing leader election in optimal space. In: SSS, pp. 109–123 (2008)

  27. Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. CACM 17(11), 643–644 (1974)

    Article  MATH  Google Scholar 

  28. Dixon, B., Rauch, M., Tarjan, R.E.: Verification and sensitivity analysis of minimum spanning trees in linear time. SIAM J. Comput. 21(6), 1184–1192 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  29. Dixon, B., Tarjan, R.E.: Optimal parallel verification of minimum spanning trees in logarithmic time. Algorithmica 17(1), 11–18 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  30. Dolev, S.: Self-Stabilization. MIT Press, Cambridge (2000)

    MATH  Google Scholar 

  31. Dolev, S., Gouda, M., Schneider, M.: Requirements for silent stabilization. Acta Inform. 36(6), 447–462 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  32. Dolev, S., Israeli, A., Moran, S.: Self-stabilization of dynamic systems assuming only read/write atomicity. Distrib. Comput. 7(1), 3–16 (1994)

    Article  Google Scholar 

  33. Even, S.: Graph Algorithms. Computer Science Press, Rockville (1979)

    MATH  Google Scholar 

  34. Fraigniaud, P., Gavoille, C.L.: Routing in trees. In: ICALP, pp. 757–772 (2001)

  35. Fraigniaud, P., Korman, A., Peleg, D.: Local distributed decision. In: FOCS, pp. 708–717 (2011)

  36. Fraigniaud, P., Korman, A., Parter, M., Peleg, D.: Randomized distributed decision. In: DISC, pp. 371–385 (2012)

  37. Fraigniaud, P., Halldorsson, M.M., Korman, A.: On the impact of identifiers on local decision. In: OPODIS, pp. 224–238 (2012)

  38. Gallager, R.G., Humblet, P.A., Spira, P.M.: A distributed algorithm for minimum-weight spanning trees. ACM Trans. Program. Lang. Syst. 5(1), 66–77 (1983)

    Article  MATH  Google Scholar 

  39. Garay, J., Kutten, S., Peleg, D.: A sub-linear time distributed algorithm for minimum-weight spanning trees. In: FOCS, pp. 659–668 (1993)

  40. Gavoille, C., Peleg, D., Pérennes, S., Raz, R.: Distance labeling in graphs. J. Algorithms 53(1), 85–112 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  41. Ghosh, S., Gupta, A., Herman, T., Pemmaraju, S.V.: Fault-containing self-stabilizing algorithms. In: PODC, pp. 45–54 (1996)

  42. Goemans, M.X.: Minimum bounded degree spanning trees. In: FOCS, pp. 273–282 (2006)

  43. Goldreich, O., Shrira, L.: Electing a leader in a ring with link failures. Acta Inform. 24(1), 79–91 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  44. Göös, M., Suomela, J.: Locally checkable proofs. In: PODC, pp. 159–168 (2011)

  45. Gupta, S.K.S., Srimani, P.K.: Self-stabilizing multicast protocols for ad hoc networks. J. Parallel Distrib. Comput. 63(1), 87–96 (2003)

    Article  MATH  Google Scholar 

  46. Higham, L., Liang, Z.: Self-stabilizing minimum spanning tree construction on message passing networks. In: DISC, pp. 194–208 (2001)

  47. Israeli, A., Jalfon, M.: Token management schemes and random walks yield self stabilizing mutual exclusion. In: PODC, pp. 119–132 (1990)

  48. Jayaram, G.M., Varghese, G.: The fault span of crash failures. JACM 47(2), 244–293 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  49. Katz, M., Katz, N.A., Korman, A., Peleg, D.: Labeling schemes for flow and connectivity. SIAM J. Comput. 34, 23–40 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  50. Katz, S., Perry, K.J.: Self-stabilizing extensions for message-passing systems. Distrib. Comput. 7(1), 17–26 (1993)

    Article  MATH  Google Scholar 

  51. Kor, L., Korman, A., Peleg, D.: Tight bounds for distributed MST verification. In: STACS, pp. 69–80 (2011)

  52. Korman, A., Kutten, S.: Distributed verification of minimum spanning trees. Distrib. Comput. 20(4), 253–266 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  53. Korman, A., Kutten, S., Peleg, D.: Proof labeling schemes. Distrib. Comput. 22(4), 215–233 (2010)

    Article  MATH  Google Scholar 

  54. Korman, A., Peleg, D.: Compact separator decomposition for dynamic trees and applications. Distrib. Comput. 21(2), 141–161 (2008)

    Article  MATH  Google Scholar 

  55. Kutten, S., Peleg, D.: Fast distributed construction of k-dominating sets and applications. In: PODC, pp. 238–249 (1995)

  56. Lotker, Z., Patt-Shamir, B., Peleg, D.: Distributed MST for constant diameter graphs. Distrib. Comput. 18(6), 453–460 (2006)

    Article  MATH  Google Scholar 

  57. McQuillan, J., Richer, I., Rosen, E.: The new routing algorithm for the ARPANET. IEEE Trans. Commun. 28(5), 711–719 (1980)

  58. Naor, M., Stockmeyer, L.: What can be computed locally? In: STOC, pp. 184–193 (1993)

  59. Peleg, D.: Distributed Computing: A Locality-Sensitive Approach. SIAM, Philadelphia (2000)

    Book  Google Scholar 

  60. Peleg, D., Rubinovich, V.: A near-tight lower bound on the time complexity of distributed minimum-weight spanning tree construction. SIAM J. Comput. 30(5), 1427–1442 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  61. Segall, A.: Distributed network protocols. IEEE Trans. Inf. Theory 29(1), 23–34 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  62. Stomp, F.A.: Structured design of self stabilizing programs. In: Proceedings IEEE 2nd Israeli Symposium on Theory of Computer Systems, pp. 167–176 (1993)

  63. Tarjan, R.E.: Applications of path compression on balanced trees. JACM 26(4), 690–715 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  64. Varghese, G.: Self-stabilization by local checking and correction. PhD dissertation, Laboratory for Computer Science, Massachusetts Institute of Technology (1992)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amos Korman.

Additional information

Supported in part by a France–Israel cooperation grant (“Mutli-Computing” project) from the France Ministry of Science and Israel Ministry of Science, by the ANR projects ALADDIN and PROSE, by the INRIA project GANG, by a grant from the Israel Science Foundation, by the Technion funds for security research, and by JSPS Grant-in-Aid for Scientific Research ((B)26280022).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Korman, A., Kutten, S. & Masuzawa, T. Fast and compact self-stabilizing verification, computation, and fault detection of an MST. Distrib. Comput. 28, 253–295 (2015). https://doi.org/10.1007/s00446-015-0242-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-015-0242-y

Keywords

Navigation