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)

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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)MathSciNetMATHCrossRefGoogle 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)MathSciNetMATHCrossRefGoogle Scholar
  7. 7.
    Atallah, M., Vishkin, U.: Finding euler tours in parallel. Journal of Computer and System Sciences 29(30), 330–337 (1984)MathSciNetMATHCrossRefGoogle 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)MathSciNetMATHCrossRefGoogle 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