arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1801.09809cs.DC
收藏

二部图上重权完美匹配的分布存储算法

A Distributed-Memory Algorithm for Computing a Heavy-Weight Perfect Matching on Bipartite Graphs

Ariful Azad, Aydın Buluc, Xiaoye S. Li, Xinliang Wang, Johannes Langguth

摘要:

我们设计并实现了一个有效的并行算法,在加权二分图中找到一个完美的匹配,这样的匹配的边缘上的权重是大的。该问题不同于最大权重匹配问题,对于最大权重匹配问题,已知可缩放的近似算法。它的主要动机是在因式分解之前在可扩展的稀疏直接求解器中找到好的枢轴。由于缺乏可扩展的替代方案,分布式求解器使用最大权重完美匹配算法的顺序实现,例如MC64中可用的那些。为了克服这一限制,我们提出了一个完全并行的分布式内存算法,首先生成一个完美的匹配,然后迭代地提高完美匹配的权重,通过搜索长度为4的权重增加循环并行。对于大多数实际问题,我们的算法产生的完美匹配的权重非常接近最优。该算法的有效实现在Cray XC 40超级计算机上扩展到256个节点(17,408个核心),并且可以使用顺序算法解决单个节点无法处理的过大实例。

英文摘要:

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

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑