Efficient Implementation of a Synchronous Parallel Push-Relabel Algorithm

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.

[1]  Seren Soner,et al.  eu Partnership for Advanced Computing in Europe Experiences with Parallel Multi-threaded Network Maximum Flow Algorithm , 2013 .

[2]  David A. Bader,et al.  A Cache-Aware Parallel Implementation of the Push-Relabel Network Flow Algorithm and Experimental Evaluation of the Gap Relabeling Heuristic , 2006, PDCS.

[3]  David A. Bader,et al.  Graph Partitioning and Graph Clustering, 10th DIMACS Implementation Challenge Workshop, Georgia Institute of Technology, Atlanta, GA, USA, February 13-14, 2012. Proceedings , 2013, Graph Partitioning and Graph Clustering.

[4]  Dorit S. Hochbaum,et al.  A Computational Study of the Pseudoflow and Push-Relabel Algorithms for the Maximum Flow Problem , 2009, Oper. Res..

[5]  George C. Caragea,et al.  Brief announcement: better speedups for parallel max-flow , 2011, SPAA '11.

[6]  Andrew V. Goldberg,et al.  On Implementing the Push—Relabel Method for the Maximum Flow Problem , 1997, Algorithmica.

[7]  C. Lee Giles,et al.  Efficient identification of Web communities , 2000, KDD '00.

[8]  Haim Kaplan,et al.  Maximum Flows by Incremental Breadth-First Search , 2011, ESA.

[9]  Roland H. C. Yap,et al.  A MapReduce-Based Maximum-Flow Algorithm for Large Small-World Network Graphs , 2011, 2011 31st International Conference on Distributed Computing Systems.

[10]  Dorit S. Hochbaum,et al.  The Pseudoflow Algorithm: A New Algorithm for the Maximum-Flow Problem , 2008, Oper. Res..

[11]  Andrew V. Goldberg Two-Level Push-Relabel Algorithm for the Maximum Flow Problem , 2009, AAIM.

[12]  Kazuyuki Aihara,et al.  A large-scale study of link spam detection by graph algorithms , 2007, AIRWeb '07.

[13]  Zhengyu He,et al.  An Asynchronous Multithreaded Algorithm for the Maximum Network Flow Problem with Nonblocking Global Relabeling Heuristic , 2011, IEEE Transactions on Parallel and Distributed Systems.

[14]  David A. Bader Graph partitioning and graph clustering : 10th DIMACS Implementation Challenge Workshop, February 13-14, 2012, Georgia Institute of Technology, Atlanta, GA , 2013 .

[15]  Bo Hong,et al.  A lock-free multi-threaded algorithm for the maximum flow problem , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[16]  Richard J. Anderson,et al.  A Parallel Implementation of the Push-Relabel Algorithm for the Maximum Flow Problem , 1995, J. Parallel Distributed Comput..

[17]  Guy E. Blelloch,et al.  Brief announcement: the problem based benchmark suite , 2012, SPAA '12.

[18]  Uzi Vishkin,et al.  Explicit multi-threading (XMT) bridging models for instruction parallelism (extended abstract) , 1998, SPAA '98.

[19]  D. R. Fulkerson,et al.  Flows in Networks. , 1964 .

[20]  Andrew V. Goldberg,et al.  A new approach to the maximum flow problem , 1986, STOC '86.

[21]  Peter Sanders,et al.  Engineering Multilevel Graph Partitioning Algorithms , 2010, ESA.

[22]  David S. Johnson,et al.  Network Flows and Matching: First DIMACS Implementation Challenge , 1993 .

[23]  Uzi Vishkin,et al.  An O(n² log n) Parallel MAX-FLOW Algorithm , 1982, J. Algorithms.

[24]  Michael Kaminsky,et al.  SybilGuard: defending against sybil attacks via social networks , 2006, SIGCOMM.

[25]  Zhengyu He,et al.  Dynamically tuned push-relabel algorithm for the maximum flow problem on CPU-GPU-Hybrid platforms , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[26]  Dorit S. Hochbaum,et al.  A competitive study of the pseudoflow algorithm for the minimum s–t cut problem in vision applications , 2016, Journal of Real-Time Image Processing.

[27]  Yin Tat Lee,et al.  An Almost-Linear-Time Algorithm for Approximate Max Flow in Undirected Graphs, and its Multicommodity Generalizations , 2013, SODA.