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

@article{Hong2008ALM, 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}, year={2008}, pages={1-8} }

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… Expand

#### 17 Citations

An Asynchronous Multithreaded Algorithm for the Maximum Network Flow Problem with Nonblocking Global Relabeling Heuristic

- 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. Expand

Dynamically tuned push-relabel algorithm for the maximum flow problem on CPU-GPU-Hybrid platforms

- 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). Expand

A Hybrid Parallel Implementation for the Maximum Flow Problem

- Computer Science
- 2018 26th Euromicro International Conference on Parallel, Distributed and Network-based Processing (PDP)
- 2018

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. Expand

Efficient Implementation of a Synchronous Parallel Push-Relabel Algorithm

- Computer Science
- ESA
- 2015

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. Expand

Algorithm 1002

- Computer Science
- ACM Trans. Math. Softw.
- 2019

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. Expand

Sequential and Parallel Algorithm by Postflow-Pull Methods to Find Maximum Flow

- Computer Science
- 2013 13th International Conference on Computational Science and Its Applications
- 2013

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. Expand

Parallizing the Push-Relabel Max Flow Algorithm

- 2010

We parallelized Goldberg’s push-relabel max flow algorithm and its global update heuristic. We achieve a speedup of 2 for the global update heuristic on wide rm f graphs when run on 8 processors. We… Expand

Parallel implematation of flow and matching algorithms

- Computer Science
- ArXiv
- 2011

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. Expand

SEQUENTIAL AND PARALLEL ALGORITHM TO FIND MAXIMUM FLOW ON EXTENDED MIXED NETWORKS BY REVISED POSTFLOW -PULL METHODS

- Computer Science
- 2015

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. Expand

Optimal bandwidth allocation for hybrid Video-on-Demand streaming with a distributed max flow algorithm

- Computer Science
- Comput. Networks
- 2015

A novel Demand Driven Max-Flow Formulation, which treats each peer's bandwidth demand as the flow commodity, and the proposed distributed Free-for-All Push-Lift algorithm can solve the formulation in each peer, and is free of any lock, shared memory and atomic operation. Expand

#### References

SHOWING 1-10 OF 18 REFERENCES

On the parallel implementation of Goldberg's maximum flow algorithm

- Computer Science
- SPAA '92
- 1992

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. Expand

An O(n² log n) Parallel MAX-FLOW Algorithm

- Computer Science
- J. Algorithms
- 1982

Abstract A synchronized parallel algorithm for finding maximum flow in a directed flow network is presented. Its depth is O( n 3 ( log n) p) , where p (p ≤ n) is the number of processors used. This… Expand

A new approach to the maximum flow problem

- Mathematics, Computer Science
- STOC '86
- 1986

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. Expand

A Cache-Aware Parallel Implementation of the Push-Relabel Network Flow Algorithm and Experimental Evaluation of the Gap Relabeling Heuristic

- Computer Science
- PDCS
- 2005

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… Expand

An Introduction to Parallel Algorithms

- Computer Science
- 1992

This book provides an introduction to the design and analysis of parallel algorithms, with the emphasis on the application of the PRAM model of parallel computation, with all its variants, to algorithm analysis. Expand

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor

- 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. Expand

Finding Minimum-Cost Circulations by Successive Approximation

- Mathematics, Computer Science
- Math. Oper. Res.
- 1990

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. Expand

Parallelism in random access machines

- Computer Science
- STOC
- 1978

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. Expand

Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems

- Mathematics, Computer Science
- J. ACM
- 1972

New algorithms for the maximum flow problem, the Hitchcock transportation problem, and the general minimum-cost flow problem are presented, and Dinic shows that, in a network with n nodes and p arcs, a maximum flow can be computed in 0 (n2p) primitive operations by an algorithm which augments along shortest augmenting paths. Expand

Scaling algorithms for network problems

- Computer Science, Mathematics
- 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. Expand