Skip to main content
QUICK REVIEW

[论文解读] Greed is Good: Optimistic Algorithms for Bipartite-Graph Partial Coloring on Multicore Architectures

Mustafa Kemal Taş, Kamer Kaya|arXiv (Cornell University)|Jan 10, 2017
Scheduling and Timetabling Solutions参考文献 18被引用 6
一句话总结

本文提出了一种高度优化的、贪婪的、乐观的并行算法,用于在共享内存多核系统上进行二分图部分着色(BGPC)和距离-2图着色(D2GC)。通过采用激进的冲突解决机制和无成本的在线负载均衡启发式方法,所提出的算法在16核系统上相较于ColPack库实现了最高4.71倍的加速比,同时仅将颜色数量增加了8%,并且在不增加性能开销的前提下显著减少了颜色集合基数的负载不平衡。

ABSTRACT

In parallel computing, a valid graph coloring yields a lock-free processing of the colored tasks, data points, etc., without expensive synchronization mechanisms. However, coloring is not free and the overhead can be significant. In particular, for the bipartite-graph partial coloring (BGPC) and distance-2 graph coloring (D2GC) problems, which have various use-cases within the scientific computing and numerical optimization domains, the coloring overhead can be in the order of minutes with a single thread for many real-life graphs. In this work, we propose parallel algorithms for bipartite-graph partial coloring on shared-memory architectures. Compared to the existing shared-memory BGPC algorithms, the proposed ones employ greedier and more optimistic techniques that yield a better parallel coloring performance. In particular, on 16 cores, the proposed algorithms perform more than 4x faster than their counterparts in the ColPack library which is, to the best of our knowledge, the only publicly-available coloring library for multicore architectures. In addition to BGPC, the proposed techniques are employed to devise parallel distance-2 graph coloring algorithms and similar performance improvements have been observed. Finally, we propose two costless balancing heuristics for BGPC that can reduce the skewness and imbalance on the cardinality of color sets (almost) for free. The heuristics can also be used for the D2GC problem and in general, they will probably yield a better color-based parallelization performance especially on many-core architectures.

研究动机与目标

  • 为减少在真实世界图上进行BGPC和D2GC时的高串行着色开销(通常达数分钟)
  • 通过采用更激进和乐观的着色策略,提升BGPC和D2GC在共享内存多核架构上的并行性能
  • 设计无成本、在线的负载均衡启发式方法,以最小化颜色集合基数的偏斜,且不增加计算成本
  • 将所提出的技术扩展至D2GC,并在多种图工作负载上评估其性能
  • 为依赖图着色的数值优化和科学计算工作负载,实现高效、可扩展且负载均衡的并行化

提出的方法

  • 采用贪婪、乐观的着色策略,即并行地为顶点分配颜色(假设其有效),并在后处理阶段进行冲突解决
  • 使用基于网络的冲突检测机制,受分布式系统中基于网络着色的启发,以高效识别并解决颜色冲突
  • 提出两种在线负载均衡启发式方法:B1在不增加颜色数量的前提下改善负载均衡;B2允许最多增加11%的颜色数量,以实现显著更好的负载均衡
  • 将相同的乐观和贪婪技术应用于D2GC问题,复用冲突解决和负载均衡机制
  • 使用OpenMP在共享内存系统上实现算法,以实现高线程级并行性和低同步开销
  • 使用归一化性能指标和颜色集合基数分布,评估在多个真实世界图上的加速比和负载均衡改进效果

实验结果

研究问题

  • RQ1与现有的共享内存实现相比,更激进和乐观的着色策略是否能显著减少多核系统上BGPC的执行时间?
  • RQ2所提出的负载均衡启发式方法在不产生显著计算成本的前提下,能在多大程度上减少颜色集合基数的负载不平衡?
  • RQ3用于BGPC的相同乐观和贪婪技术是否能有效适配至D2GC并实现类似的性能提升?
  • RQ4与唯一公开可用的并行BGPC库ColPack相比,所提出的算法在性能和颜色数量上表现如何?
  • RQ5负载不平衡对科学计算工作负载中图着色整体并行性能有何影响?是否能在着色过程中有效缓解?

主要发现

  • 在16核系统上,所提出的BGPC算法相较于并行的ColPack库实现了4.71倍的加速比,平均仅在八组UFL矩阵上多使用8%的颜色
  • 性能提升由基础优化(1.47倍加速比)和更激进的乐观着色技术(2.81倍加速比)共同实现
  • 负载均衡启发式方法B1和B2分别将颜色集合基数的标准差降低至0.62倍和0.25倍,且成本极低——B2平均仅多使用11%的颜色
  • 在五组八组正方形、结构对称的矩阵上,D2GC也观察到了类似的加速比,表明该方法具有良好的通用性
  • 所提出的启发式方法为无成本且在线,意味着可在着色过程中直接应用,无需额外遍历或显著开销
  • 结果表明,颜色集合中的负载不平衡可被显著减少,而无需增加颜色数量或降低性能,尤其有利于多核架构

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。