Skip to main content

Efficient Implementation of a Synchronous Parallel Push-Relabel Algorithm

  • Conference paper
  • First Online:
Algorithms - ESA 2015

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9294))

Abstract

Motivated by the observation that FIFO-based push-relabel algorithms are able to outperform highest label-based variants on modern, large maximum flow problem instances, we introduce an efficient implementation of the algorithm that uses coarse-grained parallelism to avoid the problems of existing parallel approaches. We demonstrate good relative and absolute speedups of our algorithm on a set of large graph instances taken from real-world applications. On a modern 40-core machine, our parallel implementation outperforms existing sequential implementations by up to a factor of 12 and other parallel implementations by factors of up to 3.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anderson, R., Setubal, J.: A Parallel Implementation of the Push–Relabel Algorithm for the Maximum Flow Problem. Journal of Parallel and Distributed Computing (1995)

    Google Scholar 

  2. Bader, D., Sachdeva, V.: A Cache-aware Parallel Implementation of the Push–Relabel Network Flow Algorithm and Experimental Evaluation of the Gap Relabeling Heuristic (2006)

    Google Scholar 

  3. Bader, D.A., Meyerhenke, H., Sanders, P., Wagner, D. (eds.): Graph Partitioning and Graph Clustering - 10th DIMACS Implementation Challenge Workshop, Georgia Institute of Technology, Atlanta, GA, USA, February 13-14, 2012. Proceedings, Contemporary Mathematics, vol. 588. American Mathematical Society (2013)

    Google Scholar 

  4. Baumstark, N., Blelloch, G., Shun, J.: Efficient Implementation of a Synchronous Parallel Push-Relabel Algorithm. CoRR abs/1507.01926 (2015)

    Google Scholar 

  5. Chandran, B.G., Hochbaum, D.S.: A Computational Study of the Pseudoflow and Push–Relabel Algorithms for the Maximum Flow Problem. Operations Research 57(2), 358–376 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  6. Cherkassky, B.V., Goldberg, A.V.: On Implementing Push–Relabel Method for the Maximum Flow Problem. Algorithmica 19(4), 390–410 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  7. Fishbain, B., Hochbaum, D.S., Mueller, S.: A Competitive Study of the Pseudoflow Algorithm for the Minimum st Cut Problem in Vision Applications. Journal of Real-Time Image Processing (2013)

    Google Scholar 

  8. Flake, G.W., Lawrence, S., Giles, C.L.: Efficient Identification of Web Communities. In: KDD 2000, pp. 150–160. ACM, New York (2000)

    Google Scholar 

  9. Ford, L., Fulkerson, D.: Flows in Networks (1962)

    Google Scholar 

  10. Goldberg, A.: hi_pr Maximum Flow Solver, http://www.avglab.com/soft.html

  11. Goldberg, A.V., Hed, S., Kaplan, H., Tarjan, R.E., Werneck, R.F.: Maximum Flows by Incremental Breadth-first Search. In: Demetrescu, C., Halldórsson, M.M. (eds.) ESA 2011. LNCS, vol. 6942, pp. 457–468. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  12. Goldberg, A.: Two-level Push–Relabel Algorithm for the Maximum Flow Problem. Algorithmic Aspects in Information and Management (2009)

    Google Scholar 

  13. Goldberg, A., Tarjan, R.: A New Approach to the Maximum-Flow Problem. Journal of the ACM (JACM) 35(4), 921–940 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  14. Halim, F., Yap, R., Wu, Y.: A MapReduce-Based Maximum-Flow Algorithm for Large Small-World Network Graphs. In: ICDCS 2011, pp. 192–202 (June 2011)

    Google Scholar 

  15. He, Z., Hong, B.: Dynamically Tuned Push–Relabel Algorithm for the Maximum Flow Problem on CPU-GPU-Hybrid Platforms. In: IPDPS 2010 (April 2010)

    Google Scholar 

  16. Hochbaum, D.S.: The Pseudoflow Algorithm: A New Algorithm for the Maximum-Flow Problem. Operations Research 56(4), 992–1009 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  17. Hong, B.: A Lock-Free Multi-Threaded Algorithm for the Maximum Flow Problem. In: MTAAP 2008 (April 2008)

    Google Scholar 

  18. Hong, B., He, Z.: An Asynchronous Multithreaded Algorithm for the Maximum Network Flow Problem with Nonblocking Global Relabeling Heuristic. IEEE Transactions on Parallel and Distributed Systems 22(6), 1025–1033 (2011)

    Article  Google Scholar 

  19. Johnson, D.S., McGeoch, C.C. (eds.): Network Flows and Matching: First DIMACS Implementation Challenge. American Mathematical Society, Boston (1993)

    MATH  Google Scholar 

  20. Kelner, J.A., Lee, Y.T., Orecchia, L., Sidford, A.: An Almost-linear-time Algorithm for Approximate Max Flow in Undirected Graphs, and Its Multicommodity Generalizations. In: SODA 2014, pp. 217–226. SIAM (2014)

    Google Scholar 

  21. Saito, H., Toyoda, M., Kitsuregawa, M., Aihara, K.: A Large-Scale Study of Link Spam Detection by Graph Algorithms. In: AIRWeb 2007 (2007)

    Google Scholar 

  22. Sanders, P., Schulz, C.: Engineering multilevel graph partitioning algorithms. In: Demetrescu, C., Halldórsson, M.M. (eds.) ESA 2011. LNCS, vol. 6942, pp. 469–480. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  23. Shiloach, Y., Vishkin, U.: An O(n 2 logn) Parallel Max-Flow Algorithm. J. Algorithms 3(2), 128–146 (1982)

    Article  MathSciNet  MATH  Google Scholar 

  24. Shun, J., Blelloch, G.E., Fineman, J.T., Gibbons, P.B., Kyrola, A., Simhadri, H.V., Tangwongsan, K.: Brief Announcement: The Problem Based Benchmark Suite. In: SPAA 2012, pp. 68–70. ACM (2012)

    Google Scholar 

  25. Soner, S., Ozturan, C.: Experiences with Parallel Multi-threaded Network Maximum Flow Algorithm. Partnership for Advanced Computing in Europe (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Niklas Baumstark .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Baumstark, N., Blelloch, G., Shun, J. (2015). Efficient Implementation of a Synchronous Parallel Push-Relabel Algorithm. In: Bansal, N., Finocchi, I. (eds) Algorithms - ESA 2015. Lecture Notes in Computer Science(), vol 9294. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48350-3_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-48350-3_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-48349-7

  • Online ISBN: 978-3-662-48350-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics