Balanced hypergraph partitioning is an NP-hard problem with many applications, e.g., optimizing communication in distributed data placement problems. The goal is to place all nodes across $k$ different blocks of bounded size, such that hyperedges span as few parts as possible. This problem is well-studied in sequential and distributed settings, but not in shared-memory. We close this gap by devising efficient and scalable shared-memory algorithms for all components employed in the best sequential solvers without compromises with regards to solution quality. This work presents the scalable and high-quality hypergraph partitioning framework Mt-KaHyPar. Its most important components are parallel improvement algorithms based on the FM algorithm and maximum flows, as well as a parallel clustering algorithm for coarsening - which are used in a multilevel scheme with $\log(n)$ levels. As additional components, we parallelize the $n$-level partitioning scheme, devise a deterministic version of our algorithm, and present optimizations for plain graphs. We evaluate our solver on more than 800 graphs and hypergraphs, and compare it with 25 different algorithms from the literature. Our fastest configuration outperforms almost all existing hypergraph partitioners with regards to both solution quality and running time. Our highest-quality configuration achieves the same solution quality as the best sequential partitioner KaHyPar, while being an order of magnitude faster with ten threads. Thus, two of our configurations occupy all fronts of the Pareto curve for hypergraph partitioning. Furthermore, our solvers exhibit good speedups, e.g., 29.6x in the geometric mean on 64 cores (deterministic), 22.3x ($\log(n)$-level), and 25.9x ($n$-level).
翻译:超图分割是一个NP难问题,有许多应用,例如在分布式数据放置问题中优化通信。目标是将所有节点放置在$k$个不同大小的块中,使得超边跨度尽可能小。这个问题在顺序和分布式设置中得到了很好的研究,但在共享内存中没有得到解决。我们通过设计高效而可扩展的共享内存算法来弥补这个空白,这些算法不会以解决方案质量为代价。本研究提出了可扩展、高质量的超图分割框架Mt-KaHyPar。它的最重要组成部分是基于FM算法和最大流的并行改进算法,以及用于粗化的并行聚类算法——它们在$\log(n)$级别的多级方案中使用。作为其他组成部分,我们并行地优化了$n$级分区方案,设计了我们的算法的确定性版本,并为普通图表现出了优化。我们在800多个图形和超图上评估了我们的求解器,并将其与文献中的25个不同算法进行了比较。我们最快的配置在解决方案质量和运行时间方面优于几乎所有现有的超图分割器。我们最高质量的配置实现了与最佳的顺序分割器KaHyPar相同的解决方案质量,同时使用10个线程比其快一个数量级。因此,我们的两个配置占据了超图分割的Pareto曲线的所有前沿。此外,我们的求解器表现出良好的加速比,例如在64个内核的几何平均值上为29.6倍(确定性),$\log(n)$级别为22.3倍,$n$级为25.9倍。