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相同的解质量,同时在使用十个线程时速度提升一个数量级。因此,我们的两种配置占据了超图划分帕累托曲线的所有前沿。此外,我们的求解器展现了良好的加速比,例如在64核上几何平均加速比为29.6倍(确定性版本)、22.3倍($\log(n)$级)、以及25.9倍($n$级)。