Skip to main content
QUICK REVIEW

[論文レビュー] RUPER-LB: Load balancing embarrasingly parallel applications in unpredictable cloud environments

Vicent Giménez-Alventosa, Germán Moltó Martínez|arXiv (Cornell University)|May 13, 2020
Cloud Computing and Resource Management参考文献 15被引用数 5
ひとこと要約

RUPER-LB は、予測不能なクラウド環境における緩く結合された反復的 MPI/マルチスレッド応用プログラム向けの軽量で非同期のロードバランサーである。実行スレッドの速度をリアルタイムで報告することで、動的に作業を再割り当てし、実行時間を最大6–7%短縮する。また、性能が変動する状況下でも、チェックポイント間隔以内にランク間およびスレッド間の遅延を維持する。

ABSTRACT

The suitability of cloud computing has been studied by several authors to run scientific applications. However, the unpredictable performance fluctuations in these environments hinders the migration of scientific applications to cloud providers. To mitigate these effects, this work presents RUPER-LB, a load balancer for loosely-coupled iterative parallel applications that runs on infrastructures with disparate computing capabilities. The results obtained with a real world simulation software, show the suitability of RUPER-LB to adapt this kind of applications to execution environments with variable performance and highlight the convenience of its adoption.

研究の動機と目的

  • ノイジーネイバーの影響や予測不能な vCPU 動作によるクラウド環境における性能変動を是正すること。
  • MPI とマルチスレッド並列処理を併用する緩く結合された反復的科学的応用プログラムに対して、効率的なロードバランシングを可能にすること。
  • 異種のクラウドインfraストラクチャにおいて、遅延が最も大きいプロセスおよびスレッド間の遅延を最小限に抑えることで、実行時間を短縮すること。
  • 事前の性能知識やきつい同期を必要としない、低オーバーヘッドで容易に統合可能なソリューションを提供すること。
  • 制御された性能変動条件下で、実世界の放射線輸送シミュレーション(PenRed)を用いて RUPER-LB の有効性を評価すること。

提案手法

  • RUPER-LB は、各 MPI ランクから定期的かつ非同期にスレッド実行速度の報告を受け取り、作業負荷の分配状況を評価する。
  • 静的性能モデルに依存せずに、リアルタイムの性能指標に基づき、スレッドおよびプロセス間で反復処理を動的に再割り当てする。
  • 通信オーバーヘッドを最小限に抑え、定期的な速度報告のみを必要とするため、同期頻度が低いアプリケーションにも適している。
  • マルチプロセス(MPI)およびマルチスレッドの両方のロードバランシングをサポートし、両レベルでのワークロード適応を可能にする。
  • アルゴリズムは、ランク間およびスレッド間の実行遅延を設定可能なチェックポイント間隔(Δt_pc)以下に保つように設計されており、進行の一貫性を確保する。
  • RUPER-LB はオープンソース(GPLv3)であり、既存の MPI/マルチスレッド応用プログラムに最小限のコード変更で統合可能である。

実験結果

リサーチクエスチョン

  • RQ1軽量で非同期のロードバランサーは、クラウドベースの科学的応用プログラムにおける性能変動を効果的に緩和できるか?
  • RQ2RUPER-LB は、予測不能な vCPU 性能下でも、緩く結合された反復的 MPI/マルチスレッド応用プログラムの実行時間をどのように短縮するか?
  • RQ3下位のハードウェア性能が変動する状況下でも、RUPER-LB はスレッドおよびプロセス間の負荷バランスをどの程度維持できるか?
  • RQ4通信および処理時間の観点から、RUPER-LB のオーバーヘッドは、負荷バランシングなしの実行と比較してどの程度か?
  • RQ5PenRed のような実世界の科学的シミュレーションワークロードに、RUPER-LB を効果的に適用できるか、統合の複雑さは顕著ではないか?

主な発見

  • 4 つの MPI プロセスと各プロセスに 8 個のスレッドを割り当てた単一テナントノード上で実行した場合、内部のスレッド速度の変動にもかかわらず、RUPER-LB は全体のシミュレーション実行時間を 6–7% 短縮した。
  • ロードバランシングにより、ランク間の実行時間差は 300 秒のチェックポイント間隔(Δt_pc)未満に保たれ、進行の一貫性が確保された。
  • 各 MPI ランク内でのスレッド間遅延についても、Δt_pc 未満に保たれたことから、効果的な動的ロードディストリビューションが実現された。
  • 非同期的かつ定期的な報告メカニズムのおかげで、オーバーヘッドはほとんど無視できるほど小さく、通信が少ないアプリケーションにも適している。
  • ランク間の不均衡が存在しない状況でも、RUPER-LB はスレッドレベルでの負荷バランスにより性能を向上させたことが、同じ MPI プロセス内でのスレッド速度の進化の乖離から明らかになった。
  • 結果から、RUPER-LB が事前の性能知識や複雑な状態転送を必要とせずに、クラウド環境における性能変動を効果的に緩和できることを確認した。

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

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

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

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