Skip to main content
QUICK REVIEW

[論文レビュー] High Performance Computing Evaluation A methodology based on Scientific Application Requirements

Mariza Ferro, Antonio Roberto Mury|arXiv (Cornell University)|Dec 3, 2014
Parallel Computing and Optimization Techniques参考文献 19被引用数 3
ひとこと要約

本論文は、科学的アプリケーション要件に基づいた、ハイパフォーマンスコンピューティング(HPC)システムを評価するための体系的な手法を提案する。アプリケーションの特性、問題サイズ、プログラミング言語、ハードウェアアーキテクチャを統合し、最適なパフォーマンス設定を特定する。実証的に、4つの要因を適合された評価フレームワーク内で同時に最適化した場合にパフォーマンスピークが達成されることを示している。

ABSTRACT

High Performance Distributed Computing is essential to boost scientific progress in many areas of science and to efficiently deploy a number of complex scientific applications. These applications have different characteristics that require distinct computational resources too. In this work we propose a systematic performance evaluation methodology. The focus of our methodology begins on scientific application characteristics, and then considers how these characteristics interact with the problem size, with the programming language and finally with a specific computational architecture. The computational experiments developed highlight this model of evaluation and indicate that optimal performance is found when we evaluate a combination of application class, program language, problem size and architecture model.

研究の動機と目的

  • 多様な科学的アプリケーションに対する最適なHPC設定を選択する課題に対処すること。
  • ハードウェア中心の指標から脱却し、アプリケーション駆動の基準に立脚したパフォーマンス評価フレームワークを構築すること。
  • アプリケーションの特性、問題サイズ、プログラミング言語、アーキテクチャがHPCパフォーマンスに与える影響を統合的にどのように影響するかを調査すること。
  • 現実の科学的ワークロードを反映した、再現可能で体系的なHPCシステム評価手法を提供すること。

提案手法

  • 科学的アプリケーションの特性(データアクセスパターン、アルゴリズム的複雑性、並列処理要件など)を分析することで、手法を開始する。
  • アプリケーションクラスと問題サイズの相互作用をモデル化し、計算的要請とスケーラビリティを評価する。
  • ランタイムおよびコンパイルのオーバーヘッドの影響を受けるため、プログラミング言語の選択(例:C、Fortran、Python)をパフォーマンスに影響する変数として組み込む。
  • 制御された実験条件下で、異なる計算アーキテクチャ(例:マルチコア、GPU、クラスターシステム)におけるパフォーマンスを評価する。
  • 実際の科学的アプリケーションを用いた実地ベンチマークを活用し、実行時間、リソース利用率、スケーラビリティを測定する。
  • 結果を統合し、アプリケーション、言語、問題サイズ、アーキテクチャの最適な組み合わせを特定するパフォーマンスモデルに変換する。

実験結果

リサーチクエスチョン

  • RQ1科学的アプリケーションの特性は、最適なHPCアーキテクチャの選択にどのように影響するか?
  • RQ2異なるアプリケーションクラスにおいて、プログラミング言語の選択がHPCパフォーマンスに与える影響は何か?
  • RQ3問題サイズは、異なるアーキテクチャ間で科学的アプリケーションのパフォーマンスとスケーラビリティにどのように影響するか?
  • RQ4アプリケーションクラス、プログラミング言語、問題サイズ、アーキテクチャのどの組み合わせが最大のパフォーマンスをもたらすか?

主な発見

  • アプリケーションの特性、問題サイズ、プログラミング言語、アーキテクチャが統合されたシステムとして同時に評価されない限り、最適なHPCパフォーマンスは達成されない。
  • プログラミング言語の選択はパフォーマンスに顕著な影響を及ぼし、C や Fortran といった低レベル言語が、計算集約的タスクにおいて Python などの高レベル言語を上回る。
  • パフォーマンスは問題サイズに対して非線形的に変化し、スケーラビリティはアルゴリズム的構造と下位のハードウェアの両方に依存する。
  • この手法は、多様な科学的ワークロードにおいて、パフォーマンスのボトルネックと最適な設定を的確に同定できた。
  • 評価モデルは、ハードウェア中心のベンチマークだけでは現実のアプリケーションパフォーマンスを予測できないことを示している。

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

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

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

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