Algorithm 1002

The maximum flow problem is one of the most common network flow problems. This problem involves finding the maximum possible amount of flow between two designated nodes on a network with arcs having flow capacities. The push-relabel algorithm is one of the fastest algorithms to solve this problem. We present a shared memory parallel push-relabel algorithm. Graph coloring is used to avoid collisions between threads for concurrent push and relabel operations. In addition, excess values of target nodes are updated using atomic instructions to prevent race conditions. The experiments show that our algorithm is competitive for wide graphs with low diameters. Results from three different data sets are included, computer vision problems, DIMACS challenge problems, and KaHIP partitioning problems. These are compared with existing push-relabel and pseudoflow implementations. We show that high speedup rates are possible using our coloring based parallelization technique on sparse networks. However, we also observe that the pseudoflow algorithm runs faster than the push-relabel algorithm on dense and long networks.

[1]  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.

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

[3]  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.

[4]  Andrew V. Goldberg,et al.  Recent Developments in Maximum Flow Algorithms (Invited Lecture) , 1998, SWAT.

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

[6]  Dorit S. Hochbaum,et al.  The Pseudoflow Algorithm and the Pseudoflow-Based Simplex for the Maximum Flow Problem , 1998, IPCO.

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

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

[9]  Takao Asano,et al.  RECENT DEVELOPMENTS IN MAXIMUM FLOW ALGORITHMS , 2000 .

[10]  Peter Sanders,et al.  KaHIP - Karlsruhe High Quality Partitioning , 2014 .

[11]  Andrew V. Goldberg,et al.  Algorithmic Aspects in Information and Management, 5th International Conference, AAIM 2009, San Francisco, CA, USA, June 15-17, 2009. Proceedings , 2009, AAIM.

[12]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

[13]  Mohamed E. Hussein,et al.  On Implementing Graph Cuts on CUDA , 2007 .

[14]  P. J. Narayanan,et al.  CUDA cuts: Fast graph cuts on the GPU , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[15]  Andrew Vladislav Goldberg,et al.  Efficient graph algorithms for sequential and parallel computers , 1987 .

[16]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[17]  Peter Sanders,et al.  Think Locally, Act Globally: Highly Balanced Graph Partitioning , 2013, SEA.

[18]  Fredrik Kahl,et al.  Parallel and distributed graph cuts by dual decomposition , 2010, 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.

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

[20]  Václav Hlavác,et al.  A Distributed Mincut/Maxflow Algorithm Combining Path Augmentation and Push-Relabel , 2011, International Journal of Computer Vision.

[21]  Dorit S. Hochbaum,et al.  Simplifications and speedups of the pseudoflow algorithm , 2012, Networks.

[22]  Richard J. Anderson,et al.  On the parallel implementation of Goldberg's maximum flow algorithm , 1992, SPAA '92.

[23]  Daniel P. Huttenlocher,et al.  Efficient Belief Propagation for Early Vision , 2004, Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2004. CVPR 2004..

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

[25]  Sajal K. Das,et al.  Star-coloring of graphs for conflict-free access to parallel memory systems , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[26]  Yefim Dinitz,et al.  Dinitz' Algorithm: The Original Version and Even's Version , 2006, Essays in Memory of Shimon Even.

[27]  Dorit S. Hochbaum,et al.  Competitive Analysis of Minimum-Cut Maximum Flow Algorithms in Vision Problems , 2010 .

[28]  G. Blelloch,et al.  Speeding up Maximum Flow Computations on Shared Memory Platforms , 2016 .

[29]  Andrew V. Goldberg,et al.  The Partial Augment-Relabel Algorithm for the Maximum Flow Problem , 2008, ESA.

[30]  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.

[31]  Vladimir Kolmogorov,et al.  An experimental comparison of min-cut/max- flow algorithms for energy minimization in vision , 2001, IEEE Transactions on Pattern Analysis and Machine Intelligence.

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

[33]  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.

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

[35]  D. R. Fulkerson,et al.  Flows in Networks , 1963 .

[36]  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).

[37]  Jian Sun,et al.  Parallel graph-cuts by adaptive bottom-up merging , 2010, 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.

[38]  Yuri Boykov,et al.  A Scalable graph-cut algorithm for N-D grids , 2008, 2008 IEEE Conference on Computer Vision and Pattern Recognition.

[39]  Cyrille Chavet,et al.  An approach based on edge coloring of tripartite graph for designing parallel LDPC interleaver architecture , 2011, 2011 IEEE International Symposium of Circuits and Systems (ISCAS).

[40]  Hongqiang Zhai,et al.  An approximation algorithm for conflict-aware broadcast scheduling in wireless ad hoc networks , 2008, MobiHoc '08.

[41]  Raffaele Cerulli,et al.  Efficient preflow push algorithms , 2008, Comput. Oper. Res..

[42]  J. Orlin,et al.  Distance-Directed Augmenting Path Algorithms for Maximum Flow and Parametric Maximum Flow Problems , 1991 .

[43]  Renaud Keriven,et al.  GPU-Cuts : Combinatorial Optimisation , Graphic Processing Units and Adaptive Object Extraction GPU-Cuts : Segmentation d ’ Objects par Optimisation Combinatoire sur Processeur Graphique , 2005 .

[44]  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.

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

[46]  Guy E. Blelloch,et al.  Efficient Implementation of a Synchronous Parallel Push-Relabel Algorithm , 2015, ESA.