[論文レビュー] Greed is Good: Optimistic Algorithms for Bipartite-Graph Partial Coloring on Multicore Architectures
本論文は、共有メモリマルチコアシステムにおける二部グラフ部分彩色(BGPC)および距離2グラフ彩色(D2GC)の、高度に最適化され、貪欲かつ楽観的な並列アルゴリズムを提示する。積極的な競合解決とコストフリーのオンラインバランス化ヒューリスティクスを採用することで、16コアでColPackライブラリ比最大4.71倍の高速化を達成し、色の数はわずか8%増加にとどまり、性能にペナルティを伴わず色集合の基数の不均衡を顕著に低減した。
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の並列性能を向上させること。
- 計算コストを増加させることなく、色集合基数の偏りを最小限に抑えるコストフリーでオンラインのバランス化ヒューリスティクスを設計すること。
- 提案手法をD2GCに拡張し、多様なグラフワークロード上でその性能を評価すること。
- 数値最適化や科学計算ワークロードに依存する効率的でスケーラブルかつ負荷バランスの取れた並列化を可能にすること。
提案手法
- 頂点を並列に色付けする貪欲かつ楽観的な戦略を採用し、色の有効性を仮定した上で、後続処理段階で競合を解決する。
- 分散システムにおけるネットベースの彩色をインspiredした、効率的な競合検出メカニズムを用い、色の競合を特定・解決する。
- 2つのオンラインバランス化ヒューリスティクスを導入:B1は色の数を増加させずにバランスを改善するが、B2は最大11%の色の増加を許容することで顕著なより良い負荷バランスを達成する。
- D2GC問題に対しても、同じ楽観的かつ貪欲な手法を適用し、競合解決およびバランス化メカニズムを再利用する。
- OpenMPを用いて共有メモリシステム上で実装し、高スレッドレベルの並列性と低同期オーバーヘッドを実現する。
- 複数の実世界のグラフ上で、速度向上と負荷バランスの改善を評価するため、正規化された性能指標と色集合基数の分布を用いる。
実験結果
リサーチクエスチョン
- RQ1既存の共有メモリ実装と比較して、より積極的で楽観的な彩色戦略は、マルチコアシステム上でのBGPCの実行時間を顕著に短縮できるか?
- RQ2提案されたバランス化ヒューリスティクスは、顕著な計算コストを伴わず、色集合基数の不均衡をどの程度低減できるか?
- RQ3BGPCに用いられた同じ楽観的で貪欲な手法は、D2GCに対しても効果的に適応可能であり、同程度の性能向上を達成できるか?
- RQ4唯一公開されている並列BGPCライブラリColPackと比較して、提案アルゴリズムの性能と色の数はどの程度異なるか?
- RQ5負荷の不均衡は、科学計算ワークロードにおけるグラフ彩色の全体的な並列性能にどのような影響を及ぼすか?また、彩色の過程で効果的に是正できるか?
主な発見
- 16コアで、提案されたBGPCアルゴリズムは、ColPackライブラリ比平均で4.71倍の高速化を達成し、8つのUFL行列において平均して色の数が8%増加にとどまった。
- 性能向上は、基本的最適化(1.47倍の高速化)とより積極的で楽観的な彩色戦略(2.81倍の高速化)の組み合わせによるものである。
- バランス化ヒューリスティクスB1とB2は、それぞれ色集合基数の標準偏差を最大0.62倍および0.25倍まで低減したが、コストは最小限で、B2では平均で11%の色の増加にとどまった。
- D2GCにおいても、8つの正方行列のうち5つで同様の高速化が観察され、本手法の一般化可能性が示された。
- 提案されたヒューリスティクスはコストフリーでオンラインであるため、色付けの過程で追加のパスや顕著なオーバーヘッドなしに適用可能である。
- 結果として、色集合の不均衡は、色の数を増加させず、性能を劣化させることなく顕著に低減可能であることが示され、特に多くのコアを有するアーキテクチャにおいて顕著な利点を示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。