An Implementation of I/O-Efficient Dynamic Breadth-First Search Using Level-Aligned Hierarchical Clustering

  • Andreas Beckmann
  • Ulrich Meyer
  • David Veith
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8125)


In the past a number of I/O-efficient algorithms were designed to solve a problem on a static data set. However, many data sets like social networks or web graphs change their shape frequently. We provide experimental results of the first external-memory dynamic breadth-first search (BFS) implementation based on earlier theoretical work [13] that crucially relies on a randomized clustering. We refine this approach using a new I/O-efficient deterministic clustering, which groups vertices in a level-aligned hierarchy and facilitates easy access to clusters of changing sizes during the BFS updates. In most cases the new external memory dynamic BFS implementation is significantly faster than recomputing the BFS levels after an edge insertion from scratch.


Priority Queue External Memory Graph Class Group Vertex Adjacency List 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1988)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Ajwani, D.: Traversing large graphs in realistic setting. PhD thesis, Saarland University (2008)Google Scholar
  3. 3.
    Ajwani, D., Meyer, U.: Design and engineering of external memory traversal algorithms for general graphs. In: Lerner, J., Wagner, D., Zweig, K.A. (eds.) Algorithmics. LNCS, vol. 5515, pp. 1–33. Springer, Heidelberg (2009)Google Scholar
  4. 4.
    Ajwani, D., Meyer, U., Osipov, V.: Improved external memory BFS implementation. In: Proc. 9th ALENEX, pp. 3–12 (2007)Google Scholar
  5. 5.
    Arge, L.: The buffer tree: A technique for designing batched external data structures. Algorithmica 37(1), 1–24 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Arge, L., Brodal, G., Toma, L.: On external-memory MST, SSSP and multi-way planar graph separation. J. Algorithms 53(2), 186–206 (2004)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Atallah, M., Vishkin, U.: Finding euler tours in parallel. Journal of Computer and System Sciences 29(30), 330–337 (1984)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Chiang, Y.J., Goodrich, M.T., Grove, E.F., Tamasia, R., Vengroff, D.E., Vitter, J.S.: External memory graph algorithms. In: Proceedings of the 6th Annual Symposium on Discrete Algorithms (SODA), pp. 139–149. ACM-SIAM (1995)Google Scholar
  9. 9.
    Crescenzi, P., Grossi, R., Imbrenda, C., Lanzi, L., Marino, A.: Finding the diameter in real-world graphs – experimentally turning a lower bound into an upper bound. In: de Berg, M., Meyer, U. (eds.) ESA 2010, Part I. LNCS, vol. 6346, pp. 302–313. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  10. 10.
    Dementiev, R., Sanders, P.: Asynchronous parallel disk sorting. In: Proc. 15th SPAA, pp. 138–148. ACM (2003)Google Scholar
  11. 11.
    Eppstein, D., Galil, Z., Italiano, G.: Dynamic graph algorithms. In: Atallah, M.J. (ed.) Algorithms and Theory of Computation Handbook, ch. 8. CRC Press (1999)Google Scholar
  12. 12.
    Mehlhorn, K., Meyer, U.: External-memory Breadth-First Search with sublinear I/O. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 723–735. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    Meyer, U.: On dynamic Breadth-First Search in external-memory. In: 25th Annual Symposium on Theoretical Aspects of Computer Science (STACS), pp. 551–560 (2008)Google Scholar
  14. 14.
    Munagala, K., Ranade, A.: I/O-complexity of graph algorithms. In: Proceedings of the 10th Annual Symposium on Discrete Algorithms (SODA), pp. 687–694. ACM-SIAM (1999)Google Scholar
  15. 15.
    Roditty, L.: Dynamic and static algorithms for path problems in graphs. PhD thesis, Tel Aviv University (2006)Google Scholar
  16. 16.
    Vitter, J.S.: Algorithms and data structures for external memory. Foundations and Trends in Theoretical Computer Science 2(4), 305–474 (2006)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Andreas Beckmann
    • 1
  • Ulrich Meyer
    • 2
  • David Veith
    • 2
  1. 1.Jülich Supercomputing Centre (JSC)Forschungszentrum JülichJülichGermany
  2. 2.Institut für InformatikGoethe-Universität FrankfurtFrankfurt am MainGermany

Personalised recommendations