Skip to main content
QUICK REVIEW

[論文レビュー] A Many-core Machine Model for Designing Algorithms with Minimum Parallelism Overheads

Sardar Anisul Haque, Marc Moreno Maza|arXiv (Cornell University)|Feb 3, 2014
Parallel Computing and Optimization Techniques参考文献 5被引用数 8
ひとこと要約

本稿では、GPUプログラムにおける並列処理のオーバーヘッドを最小化するため、フォーク・ジョイン並列処理とSIMD並列処理を統合した多数コア機械モデル(MMM)を提案する。並列処理オーバーヘッドの測定法を導入し、作業量(work)、スパン(span)、およびオーバーヘッドを組み込んだグラハム=ブレント定理を拡張することで、正確な実行時推定とパラメータ最適化が可能となり、4つの科学計算アルゴリズムを用いた実験により理論的予測が裏付けられた。

ABSTRACT

We present a model of multithreaded computation, combining fork-join and single-instruction-multiple-data parallelisms, with an emphasis on estimating parallelism overheads of programs written for modern many-core architectures. We establish a Graham-Brent theorem for this model so as to estimate execution time of programs running on a given number of streaming multiprocessors. We evaluate the benefits of our model with four fundamental algorithms from scientific computing. In each case, our model is used to minimize parallelism overheads by determining an appropriate value range for a given program parameter; moreover experimentation confirms the model's prediction.

研究の動機と目的

  • GPUのような現代の多数コアアーキテクチャにおけるタスクベース(フォーク・ジョイン)およびデータベース(SIMD)並列処理を捉える計算モデルの設計。
  • GPUプログラムにおける通信および同期に起因する並列処理オーバーヘッドの定量化と最小化。
  • 作業量(W)、スパン(S)、および新しい並列処理オーバーヘッド測定値を組み込んだ古典的グラハム=ブレント定理の拡張により、P個のストリーミングマルチプロセッサ上で実行時予測の正確性を向上。
  • 計算作業を維持しつつオーバーヘッドを最小化する最適なパrameter範囲を特定することで、アルゴリズム設計を支援。
  • 4つの基本的な科学計算アルゴリズムを用いた実験的評価により、モデルの予測能力を検証。

提案手法

  • 異種GPUプログラムにおけるタスクレベルおよびデータレベルの並列処理を表現する2段階DAGモデルを提案。
  • 算術的作業とは独立して同期および通信コストを定量化できる、新たな複雑度測定値「並列処理オーバーヘッド」を導入。
  • 実行時間の上限を $ T_P \leq \frac{W}{P} + S + O $ で表す修正されたグラハム=ブレント定理を導出。ここで $ W $ は作業量、$ S $ はスパン、$ O $ は並列処理オーバーヘッドを表す。
  • 拡張定理の系1を用いて、ネイティブ版と最適化版のアルゴリズム実行時間推定値を比較。
  • スレッドブロックサイズやデータ転送粒度などのプログラムパラメータを最適化し、作業量の変動を最小限に抑えつつ $ O_{\text{naive}} / O_{\text{optimized}} $ の比を最大化。
  • 理論的分析とCUDAベースの実験を用いて、多項式GCD、多項式乗算、基数ソート、ユークリッドの互除法の4つのアルゴリズムにモデルを適用。

実験結果

リサーチクエスチョン

  • RQ1フォーク・ジョイン並列処理とSIMD並列処理を効果的に統合する計算モデルは、実際のGPU実行挙動をどの程度正確にモデル化できるか?
  • RQ2通信および同期オーバーヘッドはGPUアルゴリズムの性能にどのような影響を及ぼし、どのように定量化できるか?
  • RQ3並列処理オーバーヘッドを組み込んだ修正されたグラハム=ブレント定理は、GPUプログラムの実行時間予測精度を向上させることができるか?
  • RQ4GPU最適化アルゴリズムにおける並列処理オーバーヘッドを最小化する最適なパラメータ範囲は何か?
  • RQ5理論的予測と実際のGPUコードにおける実行時間の一致度はどの程度か?

主な発見

  • 多項式GCDアルゴリズムにおいて、モデルはパラメータ $ s = 256 $ を設定すれば最適な性能が得られると予測し、実験的にその妥当性が確認された。
  • 最適化されたユークリッドの互除法の実行時間推定比 $ R $ は、$ Z > 9.6 $ の場合に1より大きくなり、実際の状況では常に $ Z $ がそれより大きいため、最適化版は一貫して高速であった。
  • 多項式乗算では、モデルがパラメータ $ s $ を最小限に抑えるべきであると示唆し、実験により $ s = 4 $ が2から32までの値の中での最適解であることが確認された。
  • ユークリッドの互除法に関して、モデルの実行時間推定値はSystolic VLSIアレイモデルの結果と非常に近い一致を示し、予測の正確性が裏付けられた。
  • 最適化されたユークリッドの互除法のCUDA実装は、多項式次数10,000まで線形時間計算量を達成し、モデルの実用的有用性が裏付けられた。
  • 基数ソートに関しては、モデルが予測した最適パラメータ範囲が、先行研究の実証的発見と一致しており、異なるアルゴリズム間での一貫性が示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。