[論文レビュー] Graph Coloring Algorithms for Muti-core and Massively Multithreaded Architectures
本稿では、共有メモリ型システム向けに2つのマルチスレッド化されたグラフ彩色アルゴリズムを提示する。1つは一般のマルチコアプラットフォーム向けの反復的で予測可能なアルゴリズムであり、もう1つは大量マルチスレッド処理を特徴とするCray XMT向けに最適化されたデータフロー型アルゴリズムである。両方のアルゴリズムは、スレッド並列性やメモリ階層の異なる多様なアーキテクチャにおいて、ほぼ線形のスループット向上を達成し、シリアルなグリーディアルゴリズムと同等の解の品質を維持している。これは、異なるスレッド並列性とメモリ階層を持つアーキテクチャで、効果的なパフォーマンススケーリングが実現できることを示している。
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不規則で大規模な入力において、解の品質を犠牲にすることなく、高パフォーマンスかつスケーラブルなグラフ彩色が達成可能か?
主な発見
- 反復的アルゴリズムは、3つのプラットフォームすべてでRMAT-ERおよびRMAT-Gという2つのグラフクラスにおいてほぼ線形のスループット向上を達成し、最も挑戦的なグラフ(RMAT-B)では中程度のスループット向上を示した。
- Cray XMT上でのデータフロー型アルゴリズムは、RMAT-ERおよびRMAT-Gでほぼ線形のスループット向上を達成し、大量マルチスレッド処理とハードウェア支援同期の有効活用を示した。
- 両アルゴリズムとも、シリアルなグリーディアルゴリズムとほぼ同じ色数(RMAT-ER: 10、RMAT-G: 27、RMAT-B: 143)を使用しており、高い解の品質を維持していることが示された。
- Cray XMT上では、並列度が高くなるに従い、色数の増加はわずかにしか見られず、特にRMAT-Bでは、極めて高い並列性下でも解の品質の劣化が限定的であった。
- 最初のイテレーションで色の衝突率が著しく低下(最初のイテレーションで約90%からその後のイテレーションで大幅に減少)しており、衝突解決の大部分が初期イテレーションで完了していることが示された。
- 結果から、同時マルチスレッディングがメモリ遅延と同期遅延を効果的に隠蔽できており、1コアにNスレッドを割り当てる場合のパフォーマンスが、Nコアに1スレッドを割り当てる場合と同等、特にキャッシュが限られたXMTやNiagara 2のようなシステムでは顕著に見られた。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。