2021/05/21

「AWS ParallelCluster」とは?その概要や利点について解説します!

 
  

「AWS ParallelCluster」とは?


「AWS ParallelCluster」とは、AWSが提供しているオープンソースのクラスター管理ツールです。

AWS上での「ハイパフォーマンス・コンピューティング・クラスター(HPC)」を構築し管理することが簡単にできるようになります。

「AWS ParallelCluster」の概要や利点について、解説していきます。

「AWS ParallelCluster」の概要

「AWS ParallelCluster」の概要としては、「MPI(Message Passing Interface、※並列コンピューティング利用するための標準化された規格)」等を利用した並列計算の実行環境について、コマンドだけで簡単にAWS上に構築してくれるツールです。

計算ノードは、計算開始時に自動で生成され、計算が完了したら自動的に削除されます。そのため、AWS上のリソースを効率よく運用できます。

また「AWS ParallelCluster」は、従来は「CfnCluster」という名称で開発されていました。

そこに「AWS Batch integration」、「Multiple EBS volumes」、「Better scaling performance – faster, with updates AutoScaling all at once」、「Support for “bring your own AMI” Custom AMI」、「Private cluster using proxy」といった機能が追加されました。

オープンソースとしての「AWS ParallelCluster」

「AWS ParallelCluster」の開発は、著名なオープンソースの 「CfnCluster」プロジェクトがベースです。

なおオープンソースのリリースの際には、「Python Package Index(PyPI)」を経由して実施されています。

また「AWS ParallelCluster」は、シンプルなテキスト形式の設定ファイルを利用して、自動化されたセイフティな方法によって、HPCアプリケーションに必要なリソースをモデル化し、プロビジョニングしてくれます。

加えて、サポートしているものは複数のインスタンスタイプ、ジョブ送信キュー、ジョブ・スケジューラ(「AWS Batch」、「Slurm」等)です。

ちなみに、「AWS ParallelCluster」のソースコードは、AWSのGitHubリポジトリにて公開されています。

「AWS ParallelCluster」の利点


「AWS ParallelCluster」の利点としては、「自動リソーススケーリング」、「簡単なクラスター管理」、「クラウドへのシームレスな移行」が挙げられます。

これらの利点について、詳細に解説していきます。

「AWS ParallelCluster」の利点1:自動リソーススケーリング

「AWS ParallelCluster」の利点1として、「自動リソーススケーリング」があります。

具体的な内容としては、「AWS ParallelCluster」を利用すると、シンプルな設定を行うだけで、HPCアプリケーションを処理の負荷増に応じて自動的にスケーリングしてくれます。

スケーリングする際に必要なリソースについても、安全な方法でモデル化やプロビジョニングが実施されるため、スケーリングで煩雑な設定や準備が不要となるという点が利点です。

「AWS ParallelCluster」の利点2:簡単なクラスター管理

「AWS ParallelCluster」の利点2としては、「簡単なクラスター管理」があります。

一般的に、HPCアプリケーションの実行環境を構築する際には、各種設定作業が煩雑になりがちです。しかし、「AWS ParallelCluster」を使用することで、安定して繰り返し実行可能な方法により、簡単にリソースをプロビジョニングすることができます。

また手動による作業やカスタムスクリプトの使用を必要とせずに、インフラ基盤を構築することも可能になります。

「AWS ParallelCluster」の利点3:クラウドへのシームレスな移行

「AWS ParallelCluster」の利点3として、「クラウドへのシームレスな移行」が挙げられます。

具体的な内容としては、「AWS ParallelCluster」は、多くの種類の「オペレーティングシステム(OS)」及び「バッチスケジューラ」をサポートしているので、既存の「HPCアプリケーション」をほぼそのまま変更せずに移行することが可能となっています。

「AWS ParallelCluster」の仕組みについて


「AWS ParallelCluster」の仕組みの説明としては、全体的な概要と、仕組みの中心となる「ジョブ・スケジューラ」となります。

上記の「ジョブ・スケジューラ」の具体例として、「jobwatcher」、「sqswatcher」、「nodewatcher」、「clustermgtd」、「computemgtd」について解説していきます。

「AWS ParallelCluster」の仕組みの概要

「AWS ParallelCluster」の仕組みの概要としては、クラスターの「ライフサイクル」に着目します。

具体的には、ユーザーによってクラスターが作成された後にライフサイクルは始まり、クラスターは「コマンドラインインターフェイス (CLI)」によってコマンド実行され、クラスター作成後には、削除が実行されるまで存在します。

なお「AWS ParallelCluster」のデーモン(※常駐プロセス)は、主にHPCクラスターのスケーリングを管理しているクラスターノード上で実行されています。

続いて、「AWS ParallelCluster」のデーモンについて解説します。

AWS ParallelCluster デーモン:jobwatcher

「AWS ParallelCluster」デーモンの一つである「jobwatcher」は、クラスターが実行中の場合に、「ルートユーザー」が所有しているプロセスとして、設定されたスケジューラ (Slurm、SGE、Torque)を監視しています。

またスケールアップを実行するタイミングを判定するために、毎分でキューを評価しています。

AWS ParallelCluster デーモン:sqswatcher

AWS ParallelCluster デーモンである「sqswatcher」は、自動スケーリング実行によって送信される「sqswatcher」メッセージをモニタリングしていて、クラスター内の状態が変化したら通知してくれます。

「Amazon SQS」のインスタンスがオンラインになった場合に、「instance ready」メッセージが「Amazon SQS」に送られ、これらのメッセージは、先頭ノード上で実行されている「sqswatcher」に送信されます。

上記メッセージは、新規インスタンスがオンラインになった時点や終了した時点で、キューマネージャーに通知するために使用されます。

AWS ParallelCluster デーモン:nodewatcher

AWS ParallelCluster デーモンである「nodewatcher」は、計算処理を実行するシステムの各ノード上にて実行されます。

そして、ユーザーが定義した「scaledown_idletime」期間が経過すると、稼働していたインスタンスは終了します。

AWS ParallelCluster デーモン:clustermgtd

「AWS ParallelCluster」デーモンである「clustermgtd」は、異種モードで実行されるクラスター(「queue_settings」値を指定)において、先頭ノードで実行されます。

そして、非アクティブなパーティションをクリーンアップしたり、静的なキャパシティー管理を常時実行して正常であることを確認したりします。

「AWS ParallelCluster」でHPC コンピューティング環境をすばやく構築する


「AWS ParallelCluster」に関して、その概要や利点、そして実行時の具体的な仕組みについて解説してきました。

こちらの記事を参考にして、「AWS ParallelCluster」を活用することで、HPCコンピューティング環境を迅速に構築してみてはいかがでしょうか。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】