[论文解读] Deep Multilevel Graph Partitioning
本文提出深度多级图划分(deep MGP),一种新颖的多级框架,通过整合递归二分划分与直接k路划分,实现大规模块数(k)下的高效、均衡图划分。通过将多级粗化过程深入延续至初始划分阶段,并在所有层级保持并行性,所提出的KaMinPar算法相较现有方法实现高达一个数量级的速度提升,同时始终生成均衡且高质量的划分结果,即使在k达到数百万时亦如此。
Partitioning a graph into blocks of "roughly equal" weight while cutting only few edges is a fundamental problem in computer science with a wide range of applications. In particular, the problem is a building block in applications that require parallel processing. While the amount of available cores in parallel architectures has significantly increased in recent years, state-of-the-art graph partitioning algorithms do not work well if the input needs to be partitioned into a large number of blocks. Often currently available algorithms compute highly imbalanced solutions, solutions of low quality, or have excessive running time for this case. This is because most high-quality general-purpose graph partitioners are multilevel algorithms which perform graph coarsening to build a hierarchy of graphs, initial partitioning to compute an initial solution, and local improvement to improve the solution throughout the hierarchy. However, for large number of blocks, the smallest graph in the hierarchy that is used for initial partitioning still has to be large. In this work, we substantially mitigate these problems by introducing deep multilevel graph partitioning and a shared-memory implementation thereof. Our scheme continues the multilevel approach deep into initial partitioning -- integrating it into a framework where recursive bipartitioning and direct k-way partitioning are combined such that they can operate with high performance and quality. Our approach is stronger, more flexible, arguably more elegant, and reduces bottlenecks for parallelization compared to other multilevel approaches. For example, for large number of blocks our algorithm is on average an order of magnitude faster than competing algorithms while computing balanced partitions with comparable solution quality. For small number of blocks, our algorithms are the fastest among competing systems with comparable quality.
研究动机与目标
- 解决现有多级图划分器在划分为大量块数(k)时的可扩展性局限。
- 克服粗化与初始划分阶段的瓶颈,以改善大k值下的性能与解质量。
- 开发一种共享内存并行实现,确保在多核处理器上保持负载均衡与高性能。
- 在统一的多级框架中整合递归二分划分与直接k路划分,以提升灵活性与效率。
- 确保在不同图类型与k值下,解质量与平衡性的一致性。
提出的方法
- 提出深度MGP,一种多级框架,将粗化与反粗化过程持续扩展至多个层级,并在反粗化阶段集成递归二分划分以构建k个块。
- 采用单次粗化与反粗化循环,仅在节点数约为C的图上应用二分划分,其中C为用户定义的参数。
- 维持并行性不变量:每个p个处理单元操作的图至少包含p×C个节点,以确保负载均衡与可扩展性。
- 将k路局部优化与负载均衡作为层次结构中的显式组件集成,实现在大规模下的高质量解。
- 实现一种基于大小受限标签传播的共享内存并行版本(KaMinPar),用于粗化与优化,并采用优化的内存访问模式。
- 使用调和平均加速比评估1–64核下的可扩展性,并对各组件进行分离以实现详细的性能分析。
实验结果
研究问题
- RQ1能否将多级图划分框架的粗化过程深度延伸至初始划分阶段,以提升大k值下的可扩展性?
- RQ2在统一框架中结合递归二分划分与直接k路划分,是否能比现有方法获得更优的性能与解质量?
- RQ3深度MGP能否在共享内存系统上,于最多64核环境下维持高负载均衡,并实现接近线性的加速比?
- RQ4在k值范围为2^11至2^20时,深度MGP与当前最先进划分器相比,在解质量、平衡性与运行时间方面表现如何?
- RQ5当其他划分器因超时或产生不平衡结果而失败时,深度MGP能否在时间限制内稳定生成可行(均衡)解?
主要发现
- KaMinPar在全部84个测试实例(21个图 × 4个k值)上均生成了可行且均衡的划分,而Mt-Metis-RB、Mt-Metis-K、PuLP与Mt-KaHIP因超时或不平衡问题在4至76个实例上失败。
- 对于大k值,KaMinPar相较竞争算法至少快一个数量级,其中Mt-Metis-RB 10为最快竞争者,但平均仍慢超过5倍。
- KaMinPar在64核下的调和平均加速比达到27.9,其中优化与粗化组件分别实现33.1与25.0的加速比,表明其具有强大的并行可扩展性。
- KaMinPar的可扩展性优于粗化阶段,归因于优化阶段更高效的内存访问模式,尤其在高阶图上表现更优。
- 该算法始终生成均衡解,中位数不平衡度低于1.05,最大不平衡度低于1.15,其平衡质量优于Mt-Metis-K。
- 深度MGP实现了有利的质量-性能权衡:在小k值时比以往系统更快,在大k值时则显著更快,同时保持了解质量与平衡性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。