A new approach to the maximum flow problem
STOC '86 Proceedings of the eighteenth annual ACM symposium on Theory of computing
Computing a maximum cardinality matching in a bipartite graph in time On1.5m/logn
Information Processing Letters
A parallel implementation of the push-relabel algorithm for the maximum flow problem
Journal of Parallel and Distributed Computing
Clique partitions, graph compression and speeding-up algorithms
Journal of Computer and System Sciences
Greeding matching algorithms, an experimental study
Journal of Experimental Algorithmics (JEA)
Augment or push: a computational study of bipartite matching and unit-capacity flow algorithms
Journal of Experimental Algorithmics (JEA)
BSPlib: The BSP programming library
Parallel Computing
Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems
Journal of the ACM (JACM)
On Algorithms for Obtaining a Maximum Transversal
ACM Transactions on Mathematical Software (TOMS)
Algorithm 575: Permutations for a Zero-Free Diagonal [F1]
ACM Transactions on Mathematical Software (TOMS)
Parallel Scientific Computation: A Structured Approach Using BSP and MPI
Parallel Scientific Computation: A Structured Approach Using BSP and MPI
Maximum matching in sparse random graphs
SFCS '81 Proceedings of the 22nd Annual Symposium on Foundations of Computer Science
Combinatorial Optimization: Theory and Algorithms
Combinatorial Optimization: Theory and Algorithms
PSPIKE: A Parallel Hybrid Sparse Linear System Solver
Euro-Par '09 Proceedings of the 15th International Euro-Par Conference on Parallel Processing
Heuristic initialization for bipartite matching problems
Journal of Experimental Algorithmics (JEA)
A parallel approximation algorithm for the weighted maximum matching problem
PPAM'07 Proceedings of the 7th international conference on Parallel processing and applied mathematics
Parallel greedy graph matching using an edge partitioning approach
Proceedings of the fourth international workshop on High-level parallel programming and applications
Identifying rare cell populations in comparative flow cytometry
WABI'10 Proceedings of the 10th international conference on Algorithms in bioinformatics
The university of Florida sparse matrix collection
ACM Transactions on Mathematical Software (TOMS)
Making static pivoting scalable and dependable
Making static pivoting scalable and dependable
Hi-index | 0.00 |
We present a new parallel algorithm for computing a maximum cardinality matching in a bipartite graph suitable for distributed memory computers. The presented algorithm is based on the Push-Relabel algorithm which is known to be one of the fastest algorithms for the bipartite matching problem. Previous attempts at developing parallel implementations of it have focused on shared memory computers using only a limited number of processors. We first present a straightforward adaptation of these shared memory algorithms to distributed memory computers. However, this is not a viable approach as it requires too much communication. We then develop our new algorithm by modifying the previous approach through a sequence of steps with the main goal being to reduce the amount of communication and to increase load balance. The first goal is achieved by changing the algorithm so that many push and relabel operations can be performed locally between communication rounds and also by selecting augmenting paths that cross processor boundaries infrequently. To achieve good load balance, we limit the speed at which global relabelings traverse the graph. In several experiments on a large number of instances, we study weak and strong scalability of our algorithm using up to 128 processors. The algorithm can also be used to find @e-approximate matchings quickly.