Scheduling HPC as a Service
Carlo del Mundo

HPCは常に大規模な科学的または技術的課題を解決するために試みられるフィールドだ。しかし、HPCシステムでアプリケーションを実行するには、アプリケーションを効率的に実行するための基本システムソフトウェアの相当な技術的ノウハウが必要だ。HPC環境を設定する面倒を克服するために、サービスとしてのHPC(HPCaaS)が、HPCをクラウドに移行するために最近提案されている。
サービスとしてのソフトウェア(Saas)の成功から拝借して、HPCaaSも同じようにするとしている。自動化されたクラウド配送システムを介して大衆向けにHPCを単純化、商品化するのだ。重要なのはHPCリソース上でジョブのスケジューリングのプロセスを可能な限り透明化することだ。ユーザはプロセッサを何個使うかを知る必要はないが、指定された並列化数でジョブが実行されることが必要なのだ。
では、何がサービスとしてのHPCの採用を制限しているのだろうか?ひとつは、HPCジョブが性質的に融通が利かないからだ:ある有限なリソースの下で実行されなければならない。例えば、ユーザは並列ジョブを投入する前に必ず、プロセッサ数を明確に指定しなければならない。もし十分なプロセッサがあればジョブは実行する。もしなければ、タスクを満足する十分なプロセッサが出来るまでシステムはストールしてしまうのだ。ジョブを満足する十分なリソースあれば、この厳格なスケジューリング方法はうまく動作する。しかし、HPCがサービスとして見られる場合、リソースの競合はストールを引き起こし、結果的に不十分な利用効率となる。
十分なリソースが無い場合に不十分な利用効率の負担を軽減するために、国立台中大学コンピュータサイエンス学部の准教授であるKuo-Chan Huangは、成形性ジョブ(MPIから拝借)のコンセプトをHPCに適用している。「成形性ジョブのアプローチは、
その時点におけるアプリケーションのスピードアップモデルとワークロードの状態に応じて、ジョブの実行に最適なプロセッサの数を自動的に選択することができることです。」と彼は指摘する。
そして、ワークロード管理システムはアプリケーションのニーズを適応させる – 資源が不足した際に速度を落とすように。このようなHPCジョブの成形性のある特性は、ジョブ管理やスケジューリングシステムがジョブの要求に沿ってリソースを割り付けることを可能にする。このような柔軟性は効果的に率でジョブを実行するのに重要だ。
Huangのチームは、平均ターンアラウンド時間において78%から89%の性能向上を達成する新しい2つの成形性スケジューリング技術を提唱している。