SIAM Journal on Scientific Computing · 2020 · 22 citations · 26 references
ComputingComputer EngineeringComputer ScienceAlgorithmsParallel AlgorithmsParallel ComputingDistributed AlgorithmsDistributed ComputingDistributed Memory ParallelismDistributed Memory SystemsParallel SearchingScalable Algorithm DesignDirect SolversDistributed MemoryDistributed Memory AlgorithmsDistributed-memory ArchitecturesMatching AlgorithmsMatching ProblemsParallel Algorithm ScalabilityScalable Parallel Algorithms
We design and implement an efficient parallel algorithm for finding a perfect matching in a weighted bipartite graph such that weights on the edges of the matching are large. This problem differs from the maximum weight matching problem, for which scalable approximation algorithms are known. It is primarily motivated by finding good pivots in scalable sparse direct solvers before factorization. Due to the lack of scalable alternatives, distributed solvers use sequential implementations of maximum weight perfect matching algorithms, such as those available in MC64. To overcome this limitation, we propose a fully parallel distributed memory algorithm that first generates a perfect matching and then iteratively improves the weight of the perfect matching by searching for weight-increasing cycles of length 4 in parallel. For most practical problems the weights of the perfect matchings generated by our algorithm are very close to the optimum. An efficient implementation of the algorithm scales up to 256 nodes (17,408 cores) on a Cray XC40 supercomputer and can solve instances that are too large to be handled by a single node using the sequential algorithm.
26
The Hungarian method for the assignment problem
Harold W. Kuhn · Naval Research Logistics Quarterly · 1955 · 12.6K citations
A new approach to the maximum-flow problem
Andrew V. Goldberg, Robert E. Tarjan · Journal of the ACM · 1988 · 1.9K citations · Full text
Xiaoye Sherry Li, James Demmel · ACM Transactions on Mathematical Software · 2003 · 622 citations