A lock-free multi-threaded algorithm for the maximum flow problem

  title={A lock-free multi-threaded algorithm for the maximum flow problem},
  author={Bo Hong},
  journal={2008 IEEE International Symposium on Parallel and Distributed Processing},
  • Bo Hong
  • Published 14 April 2008
  • Computer Science
  • 2008 IEEE International Symposium on Parallel and Distributed Processing
The maximum flow problem is an important graph problem with a wide range of applications. In this paper, we present a lock-free multi-threaded algorithm for this problem. The algorithm is based on the push-relabel algorithm proposed by Goldberg. By using re-designed push and relabel operations, we derive our algorithm that finds the maxi- mumflow with 0{\V\2 \E\) operations. We demonstrate that as long as a multi-processor architecture supports atomic 'read-update-write' operations, it will be… 

Figures and Tables from this paper

An Asynchronous Multithreaded Algorithm for the Maximum Network Flow Problem with Nonblocking Global Relabeling Heuristic
  • Bo Hong, Zhengyu He
  • Computer Science
    IEEE Transactions on Parallel and Distributed Systems
  • 2011
It is proved that the novel asynchronous multithreaded push and relabel algorithm based on the classical push-relabel algorithm finds a maximum flow with O(|V|2||-E|) operations, and the correctness of the relabeling heuristic is proved.
Dynamically tuned push-relabel algorithm for the maximum flow problem on CPU-GPU-Hybrid platforms
  • Zhengyu He, Bo Hong
  • Computer Science
    2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS)
  • 2010
A dynamically tuned algorithm that utilizes both CPU and GPU by adaptively switching between the two computing units during run time is developed and it is shown that algorithm finds the maximum flow with O(|V |2|E|) operations (summed over both the CPU and the GPU).
A Hybrid Parallel Implementation for the Maximum Flow Problem
Results show that the proposed hybrid parallel algorithm using both multi-core and many-core technologies for computing the maximum flow in a network is faster than previous parallel implementations on CPU/GPUs for all kinds of tested graphs.
Efficient Implementation of a Synchronous Parallel Push-Relabel Algorithm
This work introduces an efficient implementation of the FIFO-based push-relabel algorithm that uses coarse-grained parallelism to avoid the problems of existing parallel approaches and demonstrates good relative and absolute speedups of the algorithm.
Algorithm 1002
It is shown that high speedup rates are possible using the coloring based parallelization technique on sparse networks, however, it is observed that the pseudoflow algorithm runs faster than the push-relabel algorithm on dense and long networks.
Sequential and Parallel Algorithm by Postflow-Pull Methods to Find Maximum Flow
The problem of finding maximum flow in network graph is extremely interesting and practically applicable in many fields in the authors' daily life, especially in transportation, and a different method to solve this problem that is the postflow-pull method with complexity equal to complexity used pre-flow push is offered.
Parallizing the Push-Relabel Max Flow Algorithm
The best parallel push-relabel algorithm showed a speedup of 2 on longer rm f graphs and outperformed Goldberg’s hipr code when run on 8 processors.
Parallel implematation of flow and matching algorithms
This work presents two parallel algorithms and their lock-free implementations using a popular GPU environment Nvidia CUDA and the push-relabel method for the flow problem in grid graphs and the cost scaling algorithm for the assignment problem in complete bipartite graphs.
This paper revised postflow-push methods to solve this problem of finding maximum flow on extended mixed network, and builds this parallel algorithm to take more advantage of multi-core architecture of the parallel computing system.


On the parallel implementation of Goldberg's maximum flow algorithm
An efficient parallel implementation of Goldberg’s maximum flow algorithm for a shared-memory multiprocessor that allows a “global relabeling” heuristic to be executed concurrently with the main algorithm; this heuristic is essential for good performance in practice.
An O(n² log n) Parallel MAX-FLOW Algorithm
A new approach to the maximum flow problem
By incorporating the dynamic tree data structure of Sleator and Tarjan, a version of the algorithm running in O(nm log(n'/m)) time on an n-vertex, m-edge graph is obtained, as fast as any known method for any graph density and faster on graphs of moderate density.
A Cache-Aware Parallel Implementation of the Push-Relabel Network Flow Algorithm and Experimental Evaluation of the Gap Relabeling Heuristic
This work was supported in part by NSF Grants CAREER ACI-00-93039, NSF DBI-0420513, ITR ACI-00- 81404, DEB-99-10123, ITR EIA-01-21377, Biocomplexity DEB-01-20709, and ITR EF/BIO 03-31654; and DARPA
An Introduction to Parallel Algorithms
How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor
  • L. Lamport
  • Computer Science
    IEEE Trans. Computers
  • 1997
A method is proposed for deriving the necessary commands from a correctness proof of the underlying algorithm in a formalism based on temporal relations among operation executions to synchronize memory accesses.
Finding Minimum-Cost Circulations by Successive Approximation
This work develops a new approach to solving minimum-cost circulation problems that combines methods for solving the maximum flow problem with successive approximation techniques based on cost scaling and shows that a minimum- cost circulation can be computed by solving a sequence of On lognC blocking flow problems.
Parallelism in random access machines
A model of computation based on random access machines operating in parallel and sharing a common memory is presented and can accept in polynomial time exactly the sets accepted by nondeterministic exponential time bounded Turing machines.
Scaling algorithms for network problems
  • H. Gabow
  • Computer Science
    24th Annual Symposium on Foundations of Computer Science (sfcs 1983)
  • 1983
This work presents efficient algorithms for network problems that work by scaling the numeric parameters, and gives simple algorithms that match the best time bounds for shortest paths on a directed graph with nonnegative lengths and maximum value network flow.
Recent Developments in Maximum Flow Algorithms (Invited Lecture)
This survey puts significant improvements made in theoretical performance of maximum flow algorithms in perspective and provides pointers to the litterature.