edit-icon download-icon

自動スケール

最終更新日: Oct 29, 2019

Elastic High Performance Computing (E-HPC) では、自動スケール機能により、ユーザーがカスタマイズしたスケーリングルールに基づいてクラウドリソースを動的に割り当てることができます。たとえば、クラスターのワークロードに基づいてコンピューティング能力のサイズを変更できます。自動スケール機能は、次の利点があります。

  • 人間の介入を減らし、メンテナンスにかかるコストを削減します。

  • 可用性を確保すると同時に、フリートのコストを最小限に抑えます。

  • フォールトトレランスを向上させます。自動スケールはヘルスチェックを実行し、異常なインスタンスを停止したり、クラスターに新しいインスタンスを追加したりします。

  • 可用性を向上します (十分なコンピューティング能力があることを確認してください)。

自動スケールサービスの設定

自動スケールサービスは、デフォルトでは無効になっています。有効にするには、E-HPC コンソールにログインし、左側のナビゲーションウィンドウで [自動スケール] をクリックします。

image.png | center | 692x291

パラメーター

  • EnableGrow:自動スケールアウトを有効にするかどうか。

  • GrowIntervalInMinutes:いつどのようにスケールアウトするかを判断するためにワークロードをチェックする間隔。デフォルト値は 2 分で、値の範囲は 2 から 10 分です。

  • GrowTimeoutInMinutes:ノードの起動に必要なタイムアウト値。デフォルト値は 20 分で、値の範囲は 10 から 60 分です。この期間中にノードのステータスが [実行中] にならない場合、ノードはリリースされ、次のサイズ変更キューに置かれます。

  • ExtraNodesGrowRatio:必要なノードとともにクラスターに追加される予備ノードの割合。デフォルト値は 0 で、値の範囲は 0 から 100 です。ワークロードの処理に 100 ノードが必要で、ExtraNodesGrowRatio 値が 2 の場合、追加されるノードの数は 102 です。

    たとえば、MPI ジョブの実行に 32 ノードが必要とします。32 のノードが追加された場合、1 つのノードが正しく機能しないと他の 31 のノードは [アイドル] になり ([実行中] にはなりません)、ジョブプロセス全体のエラーにつながります。このオプションを使用すると、クラスターは 35 ノードにスケールアウトされるため、障害の可能性をある程度減らすことができます。予備ノードは直ちにリリースされます。この動作は、可用性を確保しながら、ほとんど無視できる程度のコストしか増加しません。

  • GrowRatio (ワークロードに基づく):ワークロードに必要なノード数に対して、実際に追加されるノードの割合。デフォルト値は 100 で、値の範囲は 1 から 100 です。たとえば、ワークロードには 10 の新規ノードが必要で、GrowRatio が 50 とします。この場合、5 つのノードが追加されます。

たとえば、10 個のジョブが実行可能な状態で、各ジョブで 1 つのノードを実行するのに数分間かかるとします。スケーリング設定に基づくワークロードに従って、10 個のノードが追加されます。ただし、各ノードが [実行中] のステータスになるには数分かかります。GrowRatio を使用すると、5 つのノードのみを追加して最初の 5 つのジョブを同時に実行し、その後で残りの 5 つを実行することができます。GrowRatio を使用して、クラスターの使用率を向上させることができます。

  • MaxNodesInCluster:クラスターの最大ノード数。デフォルト値は 100 です。最小値は 1 です。
  • EnableShrink:自動スケールインを有効にするかどうか。

  • ShrinkIntervalInMinutes:スケールインするかどうか、およびどのようにスケールインするかを判断するためにワークロードをチェックする間隔。デフォルト値は 2 分で、値の範囲は 2 から 10 分です。

    :ShrinkInterval >= GrowInterval

  • ShrinkIdleTimes:スケールインのチェック時にノードのステータスが連続して [アイドル] ステータスになる回数。デフォルト値は 3 で、値の範囲は 2 から 5 です。デフォルトでは、自動スケールインのチェック時に連続して 3 回 [アイドル] ステータスになったノードはリリースされます。つまり、デフォルトでは 6 分間連続で [アイドル] のノードは、 リリースされます。

  • ExcludeNodes:自動スケールを適用しないノードのリスト。各ノードを半角コンマで区切ります。このオプションを使用して、クラスターで実行される最小ノード数を保つことができます。

シナリオと設定

通常、自動スケールサービスは、サブスクライブされたリソースやサービスを使用しないユーザーに適用されます。例:

  • E-HPC クラスターを使用して複数の大規模なコンピューティングジョブを 1 日数時間だけ集中的に処理し、その後コンピューティングリソースをリリースする。

  • ワークロードのフローが 1 日を通して変動するため、1 日 24 時間ずっと高いワークロードを処理する必要がない。

さまざまなジョブタイプとクラスターの使用状況に基づいて、パラメーターを選択し設定できます。たとえば、各ジョブを短時間実行して、複数の大規模なコンピューティングジョブを実行する場合、GrowRatio を使用します。1,000 個のジョブを実行する必要があり、各ジョブで 1 つのノードを 1 分間実行する場合、GrowRatio 値を 10 に設定すると、100 個のノードが追加されます。

E-HPC クラスターでの LAMMPS の実行

手順

  1. クラスターを作成し、インストールするアプリケーションを選択します。

    image.png | center | 463x511

  2. 自動スケールの設定:自動スケールアウトと自動スケールインを有効にします。image.png | center | 554x226
  3. ワークロードが増加しない場合、予備ノードは数分でリリースされます。

  4. クラスターのユーザーを作成します。image.png | center | 562x320

  5. データの保存先として Network Attached Storage (NAS) 共有ストレージを選択します。
  6. コンソールか SSH を介してクラスターにアクセスし、ジョブを送信します。image.png | center | 562x246たとえば、job1.sh のコンテンツは、2 つのコンピューティングノードが必要であることを示しています。image.png | center | 592x291
  7. 2 つのノードは 2 分以内にクラスターに自動的に追加され、コンソールで確認できます。image.png | center | 637x132
  8. 数分後、ノードは準備が整い、処理中のジョブを確認できます。image.png | center | 692x148
  9. 完了後、コンソールでジョブの詳細を確認できます。image.png | center | 577x311
  10. 数分後、予備ノードがリリースされます。image.png | center | 592x100
  11. さらに、数分後に自動スケールログも確認できます。image.png | center | 692x237