[論文レビュー] Compression and Sieve: Reducing Communication in Parallel Breadth First Search on Distributed Memory Systems
本稿では、分散メモリシステムにおける並列BFSの通信最適化を、メッセージ圧縮と分散クロスディレクトリを用いた新しいスieve技術を組み合わせることで提案する。フロントierのビットマップを圧縮し、スieveによって重複するメッセージを排除することで、通信時間を79.0%削減し、6,144コアのクラスタ上でGraph500ベースライン比2.2倍のスループットを達成し、12.1 GTEPSを記録した。
For parallel breadth first search (BFS) algorithm on large-scale distributed memory systems, communication often costs significantly more than arithmetic and limits the scalability of the algorithm. In this paper we sufficiently reduce the communication cost in distributed BFS by compressing and sieving the messages. First, we leverage a bitmap compression algorithm to reduce the size of messages before communication. Second, we propose a novel distributed directory algorithm, cross directory, to sieve the redundant data in messages. Experiments on a 6,144-core SMP cluster show our algorithm outperforms the baseline implementation in Graph500 by 2.2 times, reduces its communication time by 79.0%, and achieves a performance rate of 12.1 GTEPS (billion edge visits per second)
研究の動機と目的
- 共有メモリシステムにおける大規模分散BFSのスケーラビリティを制限する高い通信コストに対処すること。
- 特にフロントierデータを含む通信メッセージのサイズを低減し、通信オーバーヘッドを最小限に抑えること。
- 分散BFSにおけるメッセージフォーマットと送信の重複を最適化することで、パフォーマンスを向上させること。
- 実世界のグラフワークロードにおける圧縮とスieve技術のスケールでの有効性を評価すること。
提案手法
- フロントier集合を表現するためのビットマップ圧縮を適用し、通信前にメッセージサイズを削減する。
- 送信前に重複するメッセージを検出・排除するための新規な分散ディレクトリ「クロスディレクトリ」を導入する。
- クロスディレクトリを活用して、プロセッサ間で重複または不要なメッセージをフィルタリングするスieveメカニズムを採用する。
- ビットマップデータにおける最適な空間-時間トレードオフを特定するため、複数の圧縮アルゴリズム(例:Zlib、ビットレベル圧縮)を評価する。
- 6,144コアのSMPクラスタ上に最適化されたBFSを実装し、パフォーマンスと通信削減効果を測定する。
- スieveと圧縮をパイプラインとして組み合わせ、通信削減を最大化する:まずスieveを実行し、その後で圧縮を行う。
実験結果
リサーチクエスチョン
- RQ1ビットマップベースのメッセージ圧縮は、分散BFSにおける通信量削減にどの程度有効か?
- RQ2分散スieveメカニズムは、重複するメッセージをどの程度削減でき、通信をさらに低減できるか?
- RQ3圧縮とスイーブの併用は、大規模BFSにおけるエンドツーエンドの通信時間とパフォーマンスにどのような影響を与えるか?
- RQ4異なる圧縮アルゴリズムは、BFSフロントierデータの圧縮比とランタイムオーバーヘッドの観点で、どのように比較されるか?
- RQ5提案手法は、2次元グラフ分割のような既存の最適化と効果的に組み合わせられるか?
主な発見
- 提案手法の圧縮技術のみを用いることで、通信時間を52.4%削減し、ベースライン比1.7倍のパフォーマンス向上を達成した。
- 分散クロスディレクトリを用いたスieve技術により、通信時間がさらに55.9%削減され、パフォーマンスが1.3倍向上した。
- 圧縮とスieveを組み合わせたアプローチにより、Graph500ベースラインと比較して合計通信時間を79.0%削減した。
- 最適化されたアルゴリズムは、6,144コアクラスタ上で12.1 GTEPS(1秒間に10億エッジの訪問)のパフォーマンスを達成した。
- Zlibは、圧縮比が低く、ランタイムオーバーヘッドが高いため、ビットマップ圧縮には不適切であることが判明した。
- 空間-時間トレードオフの分析から、ビットレベル圧縮が大規模BFSワークロードにおいて最良のバランスを提供することが示された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。