Skip to main content
QUICK REVIEW

[论文解读] Graph Coloring Algorithms for Muti-core and Massively Multithreaded Architectures

Ümit V. Çatalyürek, John Feo|arXiv (Cornell University)|May 16, 2012
Parallel Computing and Optimization Techniques参考文献 22被引用 7
一句话总结

本文提出了两种针对共享内存系统的多线程图着色算法:一种适用于通用多核平台的迭代推测算法,另一种专为大规模多线程Cray XMT设计的数据流算法。两种算法均实现了接近线性的加速比,并保持了与串行贪心算法相近的解质量,展示了在具有不同线程并发度和内存层次结构的多样化架构上有效的性能扩展能力。

ABSTRACT

We explore the interplay between architectures and algorithm design in the context of shared-memory platforms and a specific graph problem of central importance in scientific and high-performance computing, distance-1 graph coloring. We introduce two different kinds of multithreaded heuristic algorithms for the stated, NP-hard, problem. The first algorithm relies on speculation and iteration, and is suitable for any shared-memory system. The second algorithm uses dataflow principles, and is targeted at the non-conventional, massively multithreaded Cray XMT system. We study the performance of the algorithms on the Cray XMT and two multi-core systems, Sun Niagara 2 and Intel Nehalem. Together, the three systems represent a spectrum of multithreading capabilities and memory structure. As testbed, we use synthetically generated large-scale graphs carefully chosen to cover a wide range of input types. The results show that the algorithms have scalable runtime performance and use nearly the same number of colors as the underlying serial algorithm, which in turn is effective in practice. The study provides insight into the design of high performance algorithms for irregular problems on many-core architectures.

研究动机与目标

  • 设计高性能的多线程图着色算法,使其在具有不同多线程程度和内存层次结构的现代共享内存平台上实现高效扩展。
  • 评估这些算法在多种架构(Intel Nehalem、Sun Niagara 2 和 Cray XMT)上的性能表现,涵盖从并发性到内存特性的一系列差异。
  • 研究算法设计如何适配以利用架构特性,如硬件支持的同步机制和不规则图问题中的线程级并行性。
  • 在实现高并行可扩展性的同时,保持解质量(颜色数量)接近串行贪心算法的水平。

提出的方法

  • 迭代算法通过推测和重复精炼来并行解决颜色冲突,适用于具有中等到高线程并发度的共享内存系统。
  • 数据流算法利用Cray XMT上的细粒度硬件支持同步,充分发挥其大规模多线程和低延迟同步原语的优势。
  • 两种算法均基于串行贪心着色框架构建,并采用顶点排序启发式方法以提升解质量。
  • 算法在具有不同结构特性的合成大规模图(RMAT-ER、RMAT-G、RMAT-B)上进行评估,以覆盖广泛的输入类型。
  • 性能指标包括运行时间加速比、使用的颜色数量以及在不同平台和线程数下的冲突解决模式。
  • 研究还分析了主要瓶颈,包括内存延迟、同步开销和不规则访问模式,以提供算法设计与架构优化的洞见。

实验结果

研究问题

  • RQ1如何在具有不同多线程程度和内存层次结构的共享内存系统上有效并行化贪心图着色?
  • RQ2推测迭代和数据流执行模型在多核和大规模多线程架构上对不规则图问题的可扩展性如何?
  • RQ3在不同图类型和架构上,并行算法使用的颜色数量与串行贪心基线相比如何?
  • RQ4并行图着色中的主要性能瓶颈是什么?这些瓶颈如何随缓存大小和线程并发度等架构特性而变化?
  • RQ5是否可以在不牺牲解质量的前提下,实现高性能且可扩展的图着色,适用于不规则的大规模输入?

主要发现

  • 迭代算法在三个平台上的两个图类(RMAT-ER 和 RMAT-G)中实现了接近线性的加速比,在最具有挑战性的图(RMAT-B)上实现了中等程度的加速比。
  • 在Cray XMT上,数据流算法在RMAT-ER和RMAT-G上实现了接近线性的加速比,表明其有效利用了大规模多线程和硬件支持的同步机制。
  • 两种算法使用的颜色数量与串行贪心算法基本一致——分别为RMAT-ER、RMAT-G和RMAT-B使用10、27和143种颜色,表明解质量很高。
  • 在Cray XMT上,随着并发度提高,颜色数量仅略有增加,尤其在RMAT-B上表现明显,表明在极端并行环境下解质量下降有限。
  • 在第一次迭代后,颜色冲突数量急剧下降(从第一次迭代的约90%降至后续迭代中的更低水平),表明早期迭代主导了冲突解决过程。
  • 结果表明,同时多线程有效隐藏了内存和同步延迟,单核使用N个线程的性能与N个核心上使用一个线程的性能相当,尤其在缓存资源有限的系统(如XMT和Niagara 2)上表现显著。

更好的研究,从现在开始

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

无需绑定信用卡

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