Skip to main content
QUICK REVIEW

[論文レビュー] Task Bench: A Parameterized Benchmark for Evaluating Parallel Runtime Performance

Elliott Slaughter, Wei Wu|arXiv (Cornell University)|Aug 15, 2019
Parallel Computing and Optimization Techniques参考文献 35被引用数 4
ひとこと要約

Task Bench は、ベンチマーク仕様とシステム実装を分離することで、さまざまなワークロードを対象に、15の並列および分散プログラミングシステムを効率的に比較できるパrameterizedベンチマークフレームワークです。最小有効タスク粒度(METG)という新しい指標を導入し、現在の技術では100µs がスケールアップにおける効率的タスク実行の実用的下限であることを明らかにするとともに、システムのオーバーヘッドに5個以上のオーダーの差が生じることを暴露しています。

ABSTRACT

We present Task Bench, a parameterized benchmark designed to explore the performance of parallel and distributed programming systems under a variety of application scenarios. Task Bench lowers the barrier to benchmarking multiple programming systems by making the implementation for a given system orthogonal to the benchmarks themselves: every benchmark constructed with Task Bench runs on every Task Bench implementation. Furthermore, Task Bench's parameterization enables a wide variety of benchmark scenarios that distill the key characteristics of larger applications. We conduct a comprehensive study with implementations of Task Bench in 15 programming systems on up to 256 Haswell nodes of the Cori supercomputer. We introduce a novel metric, minimum effective task granularity to study the baseline runtime overhead of each system. We show that when running at scale, 100 μs is the smallest granularity that even the most efficient systems can reliably support with current technologies. We also study each system's scalability, ability to hide communication and mitigate load imbalance.

研究の動機と目的

  • 並列および分散プログラミングシステム間における包括的で公平かつスケーラブルな性能比較の不足に対処すること。
  • システム固有の実装からベンチマークロジックを分離することで、複数のシステムのベンチマーク作成にかかる工学的負荷を低減すること。
  • ランタイムシステムのオーバーヘッドがアプリケーション性能に与える影響、特に細粒度タスクレベルでの影響を定量化すること。
  • タスクランタイムシステムの真正のコストを分離・測定できる新しい指標、最小有効タスク粒度(METG)を導入すること。
  • 多様なシステムを対象に、スケーラビリティ、通信隠蔽、ロードバランシングの緩和に関する体系的分析を可能にすること。

提案手法

  • Task Bench は、計算、通信、依存関係を設定可能な有向タスクグラフとしてアプリケーションをモデル化し、多様なワークロードパターンを実現します。
  • コアAPIを介してシステム固有の実装を抽象化することで、インターフェースを実装する任意のシステムが最小限の移植作業ですべてのベンチマークを実行可能になります。
  • フレームワークは異種のタスクグラフ、並列実行、可変サイズのペイロードをサポートし、実世界のアプリケーション特性を再現します。
  • 新規に定義された指標である METG(50%) は、ピーク性能の少なくとも50%に達する最小のタスク粒度として定義され、システムのオーバーヘッドを公平に比較可能にします。
  • ベンチマークは、MPI、Spark、Dask、およびタスクベースのランタイムを含む15の多様なシステムで、256ノードのCoriスーパーコンピュータ上で評価されています。
  • システム実装は標準化されたインターフェースを用いて構築されており、評価が直交的で、組み合わせ可能かつ再現可能になります。

実験結果

リサーチクエスチョン

  • RQ1並列プログラミングシステムがピーク性能の少なくとも50%を達成できる最小タスク粒度は何か? これは異なるシステム間でどのように変動するか?
  • RQ2通信集約的、計算集約的、ロードバランシングの悪いシナリオを含む、さまざまなワークロード下で、異なるプログラミングモデルやランタイムはどのように性能を発揮するか?
  • RQ3システムレベルのオーバーヘッドがアプリケーション性能を支配する程度はどの程度か? そして、それらはどのように分離・測定できるか?
  • RQ4非同期実行や静的 vs. 動的タスクスケジューリングといった機能は、スケーラビリティと効率性にどのように影響を与えるか?
  • RQ5大規模ノード数(例:256ノード)にスケーリングする際、システム選択が性能に与える影響は何か?

主な発見

  • 現在の分散プログラミングシステムにおける最小有効タスク粒度(METG)は、5個以上のオーダーの差が生じており、ランタイムオーバーヘッドの極端な差が浮き彫りになっています。
  • スケールアップ(256ノード)において、100µs が効率的タスク実行の実用的下限であり、この閾値未満ではいかなるシステムでも効率的性能を達成できていないことが明らかになりました。
  • 非同期実行をサポートするシステムは、ロードバランシングの悪い状況やバランスの取れたワークロード下で性能上の利点を示しますが、高いベースラインオーバーヘッドがその利点を相殺する可能性があります。
  • 動的並列性発見に依存するタスクベースのシステムは、動的プルーニング技術を用いても、スケーリングを制限する順次ボトルネックを抱えています。
  • 静的、コンパイル時タスク解析は、順次ボトルネックを完全に回避でき、動的アプローチよりも優れたスケーリングを実現できます。
  • 大規模データ分析システム(例:Spark)は、小規模ノード数を超えてスケーリングするには数十秒のタスクサイズを必要としており、このようなワークロードでは粗粒度タスク化が標準的であることが示唆されています。

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

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

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

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