自動化されたラボ作成によってすぐに利用開始できましたが、さまざまなユースケースに応じて環境を最適化できる多数の柔軟性が背後にあることに気付くことでしょう。このセクションでは、この柔軟性を活用して、クラスターの動的な更新に適用する方法について学びます。
- ソフトウェアとアプリケーションのインストール
- HPC ワークロードのために、適切な EC2 インスタンスタイプを選択する方法
- Auto Scaling の理解と制御
ソフトウェアアプリケーションは、SSH を使用してヘッドノードにロギングすることによってインストールできます。CfnCluster は、 openMPI、言語、およびコンパイラなどの HPC アプリケーションをサポートするさまざまなソフトウェアパッケージを提供します。アプリケーションをインストールする方法は複数ありますが、アプリケーションの特性と管理者の選択に応じて設定できます。/efs/apps または /shared フォルダの下で、一般的な方法でそれらをインストールすることができます。これは、すべてのノードにNFS shares としてマウントされます。
アプリケーションがインストールされる (およびライセンスされる) と、EnginFrame Service エディタを使って、このラーニングパスの最初の章で行ったように、ユーザーコミュニティに公開することができます。
AWS は、多彩なワークロードタイプに対応できるように、さまざまな EC2 インスタンスファミリータイプ、世代、およびサイジングを提供しており、1 時間当たり数セントから数ドルの多様なオンデマンド価格が設定されています。
インスタンスタイプを選択するには、まずアプリケーションの具体的なニーズを考慮します。アプリケーションの要件は多種多様です。コンピューティングコアの数、プロセッサ速度、メモリ要件、ストレージニーズ、ネットワーキングの仕様、コストなどに左右されます。
ファミリーは、プロセッサのタイプ、メモリー容量、ストレージ、およびネットワーク接続の可用性に応じて分類されます。HPC ワークロードでは、c ファミリーまたは「コンピューティング」ファミリーがよく推奨されます。ファミリー内のインスタンスタイプでは、メモリーと vCPU の比率が通常は同じです。vCPU は、ハイパースレッドプロセッサです。通常、2 つのハイパースレッドコアが 1 つの物理コアのように機能します。各ファミリー内に複数の世代が存在する場合があります。たとえば、c ファミリーのインスタンスタイプには、c3、および c4 のインスタンスが含まれています。後半の数字は、インスタンスタイプの世代を示しています。
c4.8 xlarge(haswell) インスタンスは並列 HPC アプリケーションで非常に人気があります。これには、 ~60GiB のメモリーと、18 のコアが装備されています。各ファミリーには、複数のサイズがあります。例えば、c4.8 xlarge の半分のサイズのコンピューティングのインスタンスは、c4.4xlarge です。時間料金も約半分です。
インスタンスはいつでも停止して、異なるインスタンスタイプを使用して再起動できます。この機能によって、HPC ワークロードのために最適なインスタンスタイプを選択することは容易になっています。
HPC ワークロードのための他の一般的なインスタンスタイプは以下の表に詳しく述べられています:
インスタンスタイプ |
vCPU |
メモリー (GiB) |
ストレージ (GB) |
ネットワーキングパフォーマンス |
物理プロセッサ |
クロック速度 (GHz) |
EBS Opt |
c4.8xlarge |
36 |
60 |
EBS のみ |
10 ギガビット |
Intel Xeon E5-2666 v3 |
2.9 |
有 |
c3.8xlarge |
32 |
60 |
2 x 320 SSD |
10 ギガビット |
Intel Xeon E5-2680 v2 |
2.8 |
無し |
m4.10xlarge |
40 |
160 |
EBS のみ |
10 ギガビット |
Intel Xeon E5-2676 v3 |
2.4 |
有 |
m4.16xlarge |
64 |
256 |
EBS のみ |
20 ギガビット |
Intel Xeon E5-2686 v4 |
2.3 |
有 |
p2.16xlarge |
64 |
732 |
EBS のみ |
20 ギガビット |
Intel Xeon E5-2686 v4 |
2.3 |
有 |
x1.32xlarge |
128 |
1,952 |
2 x 1,920 SSD |
20 ギガビット |
Intel Xeon E7-8880 v3 |
2.3 |
有 |
r3.8xlarge |
32 |
244 |
2 x 320 SSD |
10 ギガビット |
Intel Xeon E5-2670 v2 |
2.5 |
無し |
使用可能なすべてのインスタンスタイプのリストについは、「Amazon EC2 インスタンスタイプ」を参照してください。ツアーのワークロードに最適なインスタンスタイプを特定したら、オンデマンドと現在のスポット料金表の違いを確認してください。ワークロードの種類が、予想されるインスタンスの再利用に容易に対応できる場合、スポットの使用は、通常 HPC 予算を減らす非常に効果的な方法となる可能性があります。
クラスターの特性を変更する場合、動的にそれを行う簡単な方法は、CloudFormation コンソールで提供されている「Update Stack」機能を使用することです。一部の変更は、一時的にクラスターの機能を中断させることがあることにご注意ください。結果に自信がある場合を除き、クラスターにワークロードがないときにのみ、スタックパラメータを再設定するようにしてください。
この機能は、以下の手順に従って、DefaultCluster Stackで試してください:
Auto Scaling は、アプリケーションの可用性を維持できると同時に、お客様が定義する条件に応じて EC2 の能力を自動的に縮小あるいは拡張することができるAmazon EC2の機能です。必要な数の Amazon EC2 インスタンスを確実に実行するのを支援するために、Auto Scaling を使用することができます。
このラボのクラスターのサイズは、継続的に監視され、EC2 Auto Scaling 機能によって変更されます。ワークロードに最適なクラスタサイズがわかっている場合 (例えば、複数ノード MPI ジョブ)、クラスターを徐々に増やすのではなく、適切なノードの数を事前にプロビジョニングするほうがより速く効率的な場合があります。
以下の手順に従ってAuto Scaling クラスターサイズを設定することができます: