AWS ParallelCluster 同一キューに EFA サポート/非サポートインスタンスを混在可能でしょうか

AWS ParallelCluster 同一キューに EFA サポート/非サポートインスタンスを混在可能でしょうか

Clock Icon2025.02.07

はじめに

AWS ParallelCluster で Elastic Fabric Adapter (EFA)対応インスタンスと非対応インスタンスを同一キューに混在させたいケースがありました。本記事では、その設定方法と検証結果を共有します。

コンピュートノードを起動するための同じキュー内に EFA サポート/非サポートインスタンスを混在できるのだろうか?

ParallelCluster-queue-1.png

ユースケース

想定される利用シナリオ

EFA 対応/非対応インスタンスの混在構成が有効なケースは、特定の AZ でのみ提供されるインスタンスタイプの利用かつ、疎結合なワークロードの場合においてインスタンスが起動できないリスクを軽減したいときです。

5-AWS_HPC_pdf-1.png

画像引用: HPC ワークロードを加速する HPC インスタンスと構成パターン

具体的な背景

ある程度の物理コア数が必要な計算処理において、単一インスタンスでまかなえる範囲では hpc6a.48xlarge がコストパフォーマンスに優れていました。しかし、このインスタンスタイプは特定の AZ でしか提供されていません。インスタンスの需要増に伴い起動できないリスクを考慮して他のインスタンスタイプと混在を検討しました。順当にいけば hpc7a.48xlarge だが、コストが高いため c7a.24xlarge と m7a.24xlarge を比較検討したところ、今回のワークロードでは計算速度に大きな差はなかった。 結果として、コストを優先し、EFA 非サポートのインスタンスタイプと混在可能か検証することになった。

InstanceTypes___EC2___us-east-2.png

検証環境

項目
ParallelCluster バージョン 3.11.1
リージョン us-east-2
OS Amazon Linux 2023

使用したインスタンスタイプ

  • EFA サポート: hpc6a.48xlarge
  • EFA 非サポート:
    • c7a.24xlarge
    • m7a.24xlarge

検証結果

  • EFA サポート/非サポートインスタンスは同一キュー内で混在が可能
  • EFA の設定は無効化に設定する必要あり

ParallelCluster-queue(1).png

ParallelCluster の設定ファイル

以下のように、同一キュー内に EFA サポート/非サポートインスタンスを混在させることができました。

cluster-config.yaml
ComputeResources:
  - Name: test
    Instances:
      - InstanceType: hpc6a.48xlarge # EFA サポート
      - InstanceType: m7a.24xlarge # EFA 非サポート
      - InstanceType: c7a.24xlarge # EFA 非サポート
    MinCount: 0
    MaxCount: 10
    DisableSimultaneousMultithreading: true
    Efa:
      Enabled: false # EFA は無効化必須(デフォルトは無効)

クラスター作成・更新時にメッセージについて

EFA をサポートしているインスタンスタイプで EFA を無効化していると、以下のメッセージが出力されます。今回のケースでは理解した上で設定しているため無視してください。

    {
      "level": "WARNING",
      "type": "InstancesEFAValidator",
      "message": "The EC2 instance type(s) selected (hpc6a.48xlarge) for the Compute Resource hpc6a48xlarge support enhanced networking capabilities using Elastic Fabric Adapter (EFA). EFA enables you to run applications requiring high levels of inter-node communications at scale on AWS at no additional charge. You can update the cluster's configuration to enable EFA (https://docs.aws.amazon.com/parallelcluster/latest/ug/efa-v3.html)."
    },

まとめ

  • EFA サポート/非サポートインスタンスは同一キューで混在可能
  • EFA は無効化の設定が必須

同一キューに追加できるインスタンスの条件は以下の記事を参照ください。

https://dev.classmethod.jp/articles/optimizing-aws-parallelcluster-compute-node-launch-reliability/

おわりに

本記事では、EFA サポートと非サポートインスタンスタイプを同一キューで混在させる方法と注意点を解説しました。リソースの不足リスクを下げつつ、必要十分な性能を得るためのアイディアになれば幸いです。実際のワークロードに合わせて柔軟な構成を検討してみてください。

参考

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.