Theory of Computing Systems

, Volume 55, Issue 1, pp 110–135 | Cite as

A Note on the Parallel Runtime of Self-Stabilizing Graph Linearization

  • Dominik Gall
  • Riko Jacob
  • Andrea Richa
  • Christian Scheideler
  • Stefan Schmid
  • Hanjo Täubig
Article

Abstract

Topological self-stabilization is an important concept to build robust open distributed systems (such as peer-to-peer systems) where nodes can organize themselves into meaningful network topologies. The goal is to devise distributed algorithms where nodes forward, insert, and delete links to neighboring nodes, and that converge quickly to such a desirable topology, independently of the initial network configuration. This article proposes a new model to study the parallel convergence time. Our model sheds light on the achievable parallelism by avoiding bottlenecks of existing models that can yield a distorted picture. As a case study, we consider local graph linearization—i.e., how to build a sorted list of the nodes of a connected graph in a distributed and self-stabilizing manner. In order to study the main structure and properties of our model, we propose two variants of a most simple local linearization algorithm. For each of these variants, we present analyses of the worst-case and best-case parallel time complexities, as well as the performance under a greedy selection of the actions to be executed. It turns out that the analysis is non-trivial despite the simple setting, and to complement our formal insights we report on our experiments which indicate that the runtimes may be better in the average case.

Keywords

Distributed algorithms Distributed systems Peer-to-peer systems Self-stabilization Overlay networks Performance 

References

  1. 1.
    Angluin, D., Aspnes, J., Chen, J., Wu, Y., Yin, Y.: Fast construction of overlay networks. In: Proc. of the 17th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 145–154 (2005). doi:10.1145/1073970.1073991 CrossRefGoogle Scholar
  2. 2.
    Aspnes, J., Shah, G.: Skip graphs. In: Proc. of the 14th ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 384–393 (2003) Google Scholar
  3. 3.
    Aspnes, J., Wu, Y.: O(logn)-time overlay network construction from graphs with out-degree 1. In: Proc. of the 11th Int. Conference on Principles of Distributed Systems (OPODIS). LNCS, vol. 4878, pp. 286–300. Springer, Berlin (2007). doi:10.1007/978-3-540-77096-1_21 CrossRefGoogle Scholar
  4. 4.
    Awerbuch, B., Varghese, G.: Distributed program checking: a paradigm for building self-stabilizing distributed protocols. In: Proc. of the 32nd IEEE Symposium on Foundations of Computer Science (FOCS), pp. 258–267 (1991) Google Scholar
  5. 5.
    Blumofe, R.D., Leiserson, C.E.: Space-efficient scheduling of multithreaded computations. SIAM J. Comput. 27(1), 202–229 (1998). doi:10.1137/S0097539793259471 CrossRefMATHMathSciNetGoogle Scholar
  6. 6.
    Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. J. ACM 46(5), 720–748 (1999). doi:10.1145/324133.324234 CrossRefMATHMathSciNetGoogle Scholar
  7. 7.
    Brzeziński, J., Szychowiak, M.: Self-stabilization in distributed systems—a short survey. Found. Comput. Decision Sci. 25(1), 3–22 (2000) Google Scholar
  8. 8.
    Cidon, I., Gopal, I., Kutten, S.: New models and algorithms for future networks. IEEE Trans. Inf. Theory 41(3), 769–780 (1995). doi:10.1109/18.382023 CrossRefMATHGoogle Scholar
  9. 9.
    Clouser, T., Nesterenko, M., Scheideler, C.: Tiara: a self-stabilizing deterministic skip list and skip graph. Theor. Comput. Sci. 428, 18–35 (2012). doi:10.1016/j.tcs.2011.12.079 CrossRefMATHMathSciNetGoogle Scholar
  10. 10.
    Cramer, C., Fuhrmann, T.: Self-stabilizing ring networks on connected graphs. Tech. Rep. 2005-5, System Architecture Group, University of Karlsruhe (2005) Google Scholar
  11. 11.
    Dijkstra, E.W.: Self-stabilization in spite of distributed control. Commun. ACM 17(11), 643–644 (1974). doi:10.1145/361179.361202 CrossRefMATHGoogle Scholar
  12. 12.
    Dolev, D., Hoch, E.N., van Renesse, R.: Self-stabilizing and Byzantine-tolerant overlay network. In: Proc. of the 11th Int. Conference on Principles of Distributed Systems (OPODIS). LNCS, vol. 4878, pp. 343–357. Springer, Berlin (2007). doi:10.1007/978-3-540-77096-1_25 CrossRefGoogle Scholar
  13. 13.
    Dolev, S.: Self-Stabilization. MIT Press, Cambridge (2000) MATHGoogle Scholar
  14. 14.
    Dolev, S., Kat, R.I.: HyperTree for self-stabilizing peer-to-peer systems. Distrib. Comput. 20(5), 375–388 (2008). doi:10.1007/s00446-007-0038-9 CrossRefMATHGoogle Scholar
  15. 15.
    Gall, D., Jacob, R., Richa, A., Scheideler, C., Schmid, S., Täubig, H.: Time complexity of distributed topological self-stabilization: the case of graph linearization. In: Proc. of the 9th Latin American Theoretical Informatics Symposium (LATIN). LNCS, vol. 6034, pp. 294–305. Springer, Berlin (2010). doi:10.1007/978-3-642-12200-2_27 Google Scholar
  16. 16.
    Goodrich, M.T., Kosaraju, S.R.: Sorting on a parallel pointer machine with applications to set expression evaluation. J. ACM 43(2), 331–361 (1996). doi:10.1145/226643.226670 CrossRefMATHMathSciNetGoogle Scholar
  17. 17.
    Harchol-Balter, M., Leighton, T., Lewin, D.: Resource discovery in distributed networks. In: Proc. of the 18th ACM Symposium on Principles of Distributed Computing (PODC), pp. 229–237 (1999). doi:10.1145/301308.301362 Google Scholar
  18. 18.
    Herman, T.: In: Self-Stabilization Bibliography: Access Guide (2002). See ftp://ftp.cs.uiowa.edu/pub/selfstab/bibliography/ Google Scholar
  19. 19.
    Jacob, R., Richa, A., Scheideler, C., Schmid, S., Täubig, H.: A distributed polylogarithmic time algorithm for self-stabilizing skip graphs. In: Proc. of the 28th ACM Symposium on Principles of Distributed Computing (PODC), pp. 131–140 (2009). doi:10.1145/1582716.1582741 CrossRefGoogle Scholar
  20. 20.
    Jacob, R., Ritscher, S., Scheideler, C., Schmid, S.: Towards higher-dimensional topological self-stabilization: a distributed algorithm for Delaunay graphs. Theor. Comput. Sci. 457, 137–148 (2012). doi:10.1016/j.tcs.2012.07.029 CrossRefMATHMathSciNetGoogle Scholar
  21. 21.
    Kniesburges, S., Koutsopoulos, A., Scheideler, C.: Re-Chord: a self-stabilizing Chord overlay network. In: Proc. of the 23rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 235–244 (2011). doi:10.1145/1989493.1989527 Google Scholar
  22. 22.
    Moscibroda, T., Schmid, S., Wattenhofer, R.: On the topologies formed by selfish peers. In: Proc. of the 25th ACM Symposium on Principles of Distributed Computing (PODC), pp. 133–142 (2006). doi:10.1145/1146381.1146403 Google Scholar
  23. 23.
    Onus, M., Richa, A., Scheideler, C.: Linearization: locally self-stabilizing sorting in graphs. In: Proc. of the 9th Workshop on Algorithm Engineering and Experiments (ALENEX), pp. 99–108. SIAM, Philadelphia (2007) Google Scholar
  24. 24.
    Shaker, A., Reeves, D.S.: Self-stabilizing structured ring topology P2P systems. In: Proc. of the 5th IEEE Int. Conference on Peer-to-Peer Computing (P2P), pp. 39–46 (2005). doi:10.1109/P2P.2005.34 CrossRefGoogle Scholar
  25. 25.
    Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup service for internet applications. Tech. Rep. MIT-LCS-TR-819, MIT (2001) Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Dominik Gall
    • 1
  • Riko Jacob
    • 1
    • 2
  • Andrea Richa
    • 3
  • Christian Scheideler
    • 4
  • Stefan Schmid
    • 5
  • Hanjo Täubig
    • 1
  1. 1.Department of Computer Science, Institut für InformatikTechnische Universität MünchenGarchingGermany
  2. 2.Eidgenössische Technische Hochschule (ETH) ZürichZürichSwitzerland
  3. 3.Department of Computer Science and EngineeringArizona State UniversityTempeUSA
  4. 4.Department of Computer Science, Institut für InformatikUniversität PaderbornPaderbornGermany
  5. 5.Telekom Innovation Labs & Technische Universität BerlinBerlinGermany

Personalised recommendations