Scheduling セクション - AWS ParallelCluster

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Scheduling セクション

(必須) クラスターで使用されるジョブスケジューラと、ジョブスケジューラが管理するコンピューティングインスタンスを定義します。Slurm または ス AWS Batch ケジューラを使用できます。それぞれがサポートする一連の設定とプロパティは異なります。

Scheduling: Scheduler: slurm ScalingStrategy: string SlurmSettings: MungeKeySecretArn: string ScaledownIdletime: integer QueueUpdateStrategy: string EnableMemoryBasedScheduling: boolean CustomSlurmSettings: [dict] CustomSlurmSettingsIncludeFile: string Database: Uri: string UserName: string PasswordSecretArn: string DatabaseName: string Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean SlurmQueues: - Name: string ComputeSettings: LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string CapacityType: string AllocationStrategy: string JobExclusiveAllocation: boolean CustomSlurmSettings: dict Tags: - Key: string Value: string HealthChecks: Gpu: Enabled: boolean Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Name: string Proxy: HttpProxyAddress: string ComputeResources: - Name: string InstanceType: string Instances: - InstanceType: string MinCount: integer MaxCount: integer DynamicNodePriority: integer StaticNodePriority: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer HealthChecks: Gpu: Enabled: boolean Efa: Enabled: boolean GdrSupport: boolean CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string Networking: PlacementGroup: Enabled: boolean Name: string CustomSlurmSettings: dict Tags: - Key: string Value: string CustomActions: OnNodeStart: Sequence: - Script: string Args: - string Script: string Args: - string OnNodeConfigured: Sequence: - Script: string Args: - string Script: string Args: - string Iam: InstanceProfile: string InstanceRole: string S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string AdditionalIamPolicies: - Policy: string Image: CustomAmi: string
Scheduling: Scheduler: awsbatch AwsBatchQueues: - Name: string CapacityType: string Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string ComputeResources: # this maps to a Batch compute environment (initially we support only 1) - Name: string InstanceTypes: - string MinvCpus: integer DesiredvCpus: integer MaxvCpus: integer SpotBidPercentage: float

Scheduling のプロパティ

Scheduler (必須)String)

使用するスケジューラのタイプを指定します。サポートされている値は、slurm および awsbatch です。

更新ポリシー: この設定が変更された場合、更新は許可されません。

注記

awsbatchalinux2 オペレーティングシステムと x86_64 プラットフォームのみをサポートします。

ScalingStrategy (オプションString)

動的 Slurm ノードのスケールアップ方法を選択できます。サポートされている値は greedy-all-or-nothingall-or-nothing、デフォルト値best-effortは ですall-or-nothing

更新ポリシー: この設定は、更新中に変更できます。

注記

スケーリング戦略は、Slurm によって再開されるノードにのみ適用され、最終的にすでに実行されているノードには適用されません。

  • all-or-nothingこの戦略は all-or-nothing-approach、スケーリングプロセスの終了時にアイドル状態のインスタンスを回避することを目的とした に厳密に従います。 all-or-nothing ベースで動作します。つまり、完全にスケールアップするか、まったくスケールアップしないかのどちらかです。ジョブに 500 を超えるノードが必要な場合や、複数のコンピューティングリソースにまたがる場合、一時的に起動されるインスタンスが原因で追加コストが発生する可能性があることに注意してください。この戦略は、考えられる 3 つのスケーリング戦略の中でスループットが最も低くなります。スケーリング時間は、Slurm 再開プログラムの実行ごとに送信されるジョブの数によって異なります。また、実行ごとのデフォルトの RunInstances リソースアカウント制限である 1000 インスタンスをはるかに超えてスケールすることはできません。詳細については、AWS EC2 API スロットリングドキュメントを参照してください。

  • greedy-all-or-nothing all-or-nothing 戦略と同様に、スケーリング後のアイドル状態のインスタンスを回避することを目的としています。この戦略では、 all-or-nothing アプローチよりも高いスループットを実現するために、スケーリングプロセス中の一時的なオーバースケーリングが可能ですが、 RunInstances リソースアカウントの制限と同じスケーリング制限である 1000 インスタンスも付属しています。

  • best-effort この戦略では、一部のインスタンスがスケーリングプロセスの最後にアイドル状態になる可能性がある場合でも、高スループットを優先します。ジョブによって要求された数だけノードを割り当てようとしますが、リクエスト全体が満たされない可能性があります。他の戦略とは異なり、ベストエフォートアプローチでは、複数のスケーリングプロセスの実行に沿ってアイドル状態のリソースを蓄積するコストで、標準 RunInstancesの制限よりも多くのインスタンスを蓄積できます。

各戦略は、さまざまなスケーリングニーズを満たすように設計されており、特定の要件と制約を満たす戦略を選択できます。

AwsBatchQueues

(オプション) AWS Batch キュー設定。サポートされているキューは 1 つだけです。このセクションは、Schedulerawsbatch に設定されている場合に必要です。awsbatch スケジューラの詳細については、「Networking Setup」と「AWS Batch (awsbatch)」を参照してください。

AwsBatchQueues: - Name: string CapacityType: string Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string ComputeResources: # this maps to a Batch compute environment (initially we support only 1) - Name: string InstanceTypes: - string MinvCpus: integer DesiredvCpus: integer MaxvCpus: integer SpotBidPercentage: float

更新ポリシー: この設定は、更新中に変更できます。

AwsBatchQueues のプロパティ

Name (必須)String)

AWS Batch キューの名前。

更新ポリシー: この設定が変更された場合、更新は許可されません。

CapacityType (オプションString)

AWS Batch キューが使用するコンピューティングリソースのタイプ。サポートされている値はONDEMAND、、、SPOTまたは ですCAPACITY_BLOCK。デフォルト値は、ONDEMANDです。

注記

CapacityTypeSPOT に設定した場合、アカウントに AWSServiceRoleForEC2Spot サービスにリンクされたロールが含まれている必要があります。このロールは、次の AWS CLI コマンドを使用して作成できます。

$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「スポットインスタンスリクエスト向けのサービスにリンクされたロール」を参照してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

Networking

(必須) AWS Batch キューのネットワーク設定を定義します。

Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string
Networking のプロパティ
SubnetIds (必須)[String])

AWS Batch キューをプロビジョニングする既存のサブネットの ID を指定します。現在、サポートされているのは 1 つのサブネットのみです。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

AssignPublicIp (オプションString)

AWS Batch キュー内のノードにパブリック IP アドレスを作成または割り当てます。サポートされている値は、true および false です。デフォルトは、指定されたサブネットによって異なります。

更新ポリシー: この設定が変更された場合、更新は許可されません。

SecurityGroups (オプション[String])

AWS Batch キューが使用するセキュリティグループのリスト。セキュリティグループを指定しない場合、 は新しいセキュリティグループ AWS ParallelCluster を作成します。

更新ポリシー: この設定は、更新中に変更できます。

AdditionalSecurityGroups (オプション[String])

AWS Batch キューが使用するセキュリティグループのリスト。

更新ポリシー: この設定は、更新中に変更できます。

ComputeResources

(必須) AWS Batch キュー ComputeResources の設定を定義します。

ComputeResources: # this maps to a Batch compute environment (initially we support only 1) - Name: string InstanceTypes: - string MinvCpus: integer DesiredvCpus: integer MaxvCpus: integer SpotBidPercentage: float
ComputeResources のプロパティ
Name (必須)String)

AWS Batch キューコンピューティング環境の名前。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

InstanceTypes (必須)[String])

インスタンスタイプの AWS Batch コンピューティング環境配列。すべてのインスタンスタイプが x86_64 アーキテクチャを使用する必要があります。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

MinvCpus (オプションInteger)

AWS Batch コンピューティング環境で使用できる VCPUs最小数。

更新ポリシー: この設定は、更新中に変更できます。

DesiredVcpus (オプションInteger)

AWS Batch コンピューティング環境で必要な VCPUsの数。 AWS Batch は、ジョブキューの需要MaxvCpusに基づいて MinvCpus と の間でこの値を調整します。

更新ポリシー: この設定は、更新中には分析されません。

MaxvCpus (オプションInteger)

AWS Batch コンピューティング環境の VCPUsの最大数。これを DesiredVcpus より小さい値に設定することはできません。

更新ポリシー: これらの設定は、更新中に減らすことはできません。

SpotBidPercentage (オプションFloat)

インスタンスが起動する前に EC2 スポットインスタンス料金が到達するインスタンスタイプのオンデマンド料金の最大パーセンテージ。デフォルト値は 100 (100%) です。対応する範囲は 1100 です。

更新ポリシー: この設定は、更新中に変更できます。

SlurmQueues

(オプション) Slurm キューの設定。このセクションは、Schedulerslurm に設定されている場合に必要です。

SlurmQueues: - Name: string ComputeSettings: LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string CapacityType: string AllocationStrategy: string JobExclusiveAllocation: boolean CustomSlurmSettings: dict Tags: - Key: string Value: string HealthChecks: Gpu: Enabled: boolean Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Name: string Proxy: HttpProxyAddress: string ComputeResources: - Name: string InstanceType: string Instances: - InstanceType: string MinCount: integer MaxCount: integer DynamicNodePriority: integer StaticNodePriority: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer HealthChecks: Gpu: Enabled: boolean Efa: Enabled: boolean GdrSupport: boolean CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string Networking: PlacementGroup: Enabled: boolean Name: string CustomSlurmSettings: dict Tags: - Key: string Value: string CustomActions: OnNodeStart: Sequence: - Script: string Args: - string Script: string Args: - string OnNodeConfigured: Sequence: - Script: string Args: - string Script: string Args: - string Iam: InstanceProfile: string InstanceRole: string S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string AdditionalIamPolicies: - Policy: string Image: CustomAmi: string

更新ポリシー:このリスト値の設定では、更新中に新しい値を追加することができ、既存の値を削除する場合はコンピューティングフリートを停止する必要があります。

SlurmQueues のプロパティ

Name (必須)String)

Slurm キューの名前。

注記

クラスターのサイズは、更新中に変更される場合があります。詳細については、「クラスター容量のサイズと更新」を参照してください。

更新ポリシー: この設定が変更された場合、更新は許可されません。

CapacityReservationTarget
注記

CapacityReservationTarget バージョン 3.3.0 AWS ParallelCluster で が追加されました。

CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

キューのコンピューティングリソースのオンデマンドキャパシティ予約を指定します。

CapacityReservationId (オプションString)

キューのコンピューティングリソースを対象とする既存のキャパシティ予約の ID。ID は、ML の ODCR またはキャパシティブロックを参照できます

予約では、インスタンスが使用するのと同じプラットフォームを使用する必要があります。例えば、インスタンスを rhel8 で実行する場合、キャパシティ予約は Red Hat Enterprise Linux プラットフォームで実行する必要があります。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「サポートされているプラットフォーム」を参照してください。

注記

クラスター設定に Instances を含める場合、このキューレベルの CapacityReservationId 設定を設定から除外する必要があります。

CapacityReservationResourceGroupArn (オプションString)

キューのコンピューティングリソースのキャパシティ予約のサービスリンクグループとして機能するリソースグループの Amazon リソースネーム (ARN)。 AWS ParallelCluster は、次の条件に基づいて、リソースグループから最も適切なキャパシティ予約を識別して使用します。

  • PlacementGroup が / SlurmQueues Networkingまたは SlurmQueues /ComputeResources/ で有効になっている場合Networking、コンピューティングリソースが存在する場合は、 はコンピューティングリソースPlacementGroupのインスタンスタイプ と をターゲットとするリソースグループ AWS ParallelCluster を選択します。

    PlacementGroup は、ComputeResources で定義されているインスタンスタイプの 1 つをターゲットにしている必要があります。

  • PlacementGroup / Networkingまたは SlurmQueues /ComputeResources/ SlurmQueues で が有効になっていない場合Networking、コンピューティングリソースが存在する場合、 はコンピューティングリソースのインスタンスタイプのみを対象とするリソースグループ AWS ParallelCluster を選択します。

リソースグループには、キューのすべてのコンピューティングリソースとアベイラビリティーゾーン間のアベイラビリティーゾーンに予約されているインスタンスタイプごとに少なくとも 1 つの ODCR があることが必要です。詳細については、「ODCR (オンデマンドキャパシティ予約) を使用してインスタンスを起動する」を参照してください。

複数のサブネットの設定要件の詳細については、「Networking」/「SubnetIds」を参照してください。

注記

AWS ParallelCluster バージョン 3.4.0 では、複数のアベイラビリティーゾーンが追加されています。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

CapacityType (オプションString)

Slurm キューが使用するコンピューティングリソースのタイプ。サポートされている値は ONDEMAND または SPOT です。デフォルト値は、ONDEMANDです。

注記

CapacityTypeSPOT に設定した場合、アカウントに AWSServiceRoleForEC2Spot サービスにリンクされたロールがある必要があります。このロールは、次の AWS CLI コマンドを使用して作成できます。

$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「スポットインスタンスリクエスト向けのサービスにリンクされたロール」を参照してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

AllocationStrategy (オプションString)

Instances で定義されているすべてのコンピューティングリソースの配分戦略を指定します。

有効な値: lowest-price | capacity-optimized

デフォルト: lowest-price

lowest-price
  • CapacityType = ONDEMAND を使用すると、EC2 フリート は料金に従って順序を決定し、最低価格のインスタンスを最初に起動します。

  • CapacityType = SPOT を使用すると、EC2 フリートは、利用可能な容量のある最低価格のスポットインスタンスプールからインスタンスを起動します。必要な容量を満たす前にプールの容量が不足した場合、EC2 フリートは、インスタンスを起動することによりリクエストを満たします。特に、EC2 フリートは、利用可能な容量のある最低価格のスポットインスタンスプールからインスタンスを起動します。EC2 フリートはいくつかの異なるプールからスポットインスタンスを起動することがあります。

  • を設定した場合CapacityType = CAPACITY_BLOCK、割り当て戦略がないため、AllocationStrategyパラメータを設定できません。

capacity-optimized
  • CapacityType = ONDEMAND を設定した場合、capacity-optimized は使用できません。

  • CapacityType = SPOT を設定した場合、EC2 フリートは、起動するインスタンス数に最適な容量を持つスポットインスタンスプールからインスタンスを起動します。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

注記

AllocationStrategy は AWS ParallelCluster バージョン 3.3.0 からサポートされています。

JobExclusiveAllocation (オプションString)

true に設定した場合、Slurm パーティションの OverSubscribe フラグは EXCLUSIVE に設定されます。OverSubscribe=EXCLUSIVE の場合、パーティションのジョブは割り当てられたすべてのノードに排他的にアクセスできます。詳細については、「Slurm ドキュメント」の「EXCLUSIVE」を参照してください。

有効な値: true | false

デフォルト: false

更新ポリシー: この設定は、更新中に変更できます。

注記

JobExclusiveAllocation は AWS ParallelCluster バージョン 3.7.0 からサポートされています。

CustomSlurmSettings (オプションDict)

カスタム Slurm パーティション (キュー) 構成設定を定義します。

キュー (パーティション) に適用されるカスタム Slurm 設定パラメータのキーと値のペアのディクショナリを指定します。

Param1: Value1 などの各個別のキーと値のペアは、Param1=Value1 の形式で Slurm パーティション設定行の最後に個別に追加されます。

CustomSlurmSettings の拒否リストに記載されていない Slurm 設定パラメータのみ指定できます。拒否リストの Slurm 設定パラメータの詳細については、「CustomSlurmSettings で拒否リストに記載されている Slurm 設定パラメータ」を参照してください。

AWS ParallelCluster は、パラメータが拒否リストに含まれているかどうかのみをチェックします。 AWS ParallelCluster はカスタムSlurm設定パラメータの構文またはセマンティクスを検証しません。カスタム Slurm 設定パラメータはお客様の責任で検証していただく必要があります。無効なカスタム Slurm 設定パラメータは、クラスターの作成や更新の失敗につながる Slurm デーモンの障害を引き起こす可能性があります。

でカスタムSlurm設定パラメータを指定する方法の詳細については、 AWS ParallelCluster「」を参照してくださいSlurm 設定のカスタマイズ

Slurm 設定パラメータに関する詳細については、「Slurm ドキュメント」の「slurm.conf」を参照してください。

更新ポリシー: この設定は、更新中に変更できます。

注記

CustomSlurmSettings は AWS ParallelCluster バージョン 3.6.0 からサポートされています。

Tags (オプション、[文字列])

タグのキーと値のペアのリスト。ComputeResource タグは、Tags セクション または SlurmQueues/Tags で指定された重複するタグを上書きします。

Key (オプションString)

タグキー。

Value (オプションString)

タグ値。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

HealthChecks (オプション)

キューのすべてのコンピューティングリソースのコンピューティングノードのヘルスチェックを指定します。

Gpu (オプション)

キューのすべてのコンピューティングリソースの GPU のヘルスチェックを指定します。

注記

AWS ParallelCluster はHealthChecks、ARM オペレーティングシステムを使用するノードGpuで / alinux2 をサポートしていません。これらのプラットフォームは NVIDIA データセンター GPUマネージャー (DCGM) をサポートしていません。

Enabled (オプションBoolean)

がコンピューティングノードで GPU ヘルスチェック AWS ParallelCluster を実行するかどうか。デフォルトは false です。

Gpu ヘルスチェックの動作
  • Gpu/Enabledtrue に設定されている場合、 AWS ParallelCluster はキューのコンピューティングリソースで GPU ヘルスチェックを実行します。

  • Gpu ヘルスチェックはコンピューティングリソースで GPU ヘルスチェックを実行して、GPU のパフォーマンスが低下したノードでのジョブ送信を防止します。

  • コンピューティングノードが Gpu ヘルスチェックに失敗すると、コンピューティングノードのステータスは DRAIN に変わります。このノードで新しいジョブは開始されません。既存のジョブは完了まで実行されます。実行中のジョブがすべて完了すると、コンピューティングノードが動的ノードの場合は終了し、静的ノードの場合は置き換えられます。

  • Gpu ヘルスチェックの所要時間は、選択したインスタンスタイプ、インスタンスの GPU の数、および Gpu ヘルスチェックのターゲットの数 (ジョブ GPU ターゲットの数と同じ) によって異なります。8 つの GPU を持つインスタンスの場合、一般的な所要時間は 3 分未満です。

  • サポートされていないインスタンスで Gpu ヘルスチェックを実行すると終了し、ジョブはコンピューティングノードで実行されます。例えば、インスタンスが GPU を使用していない場合や、インスタンスが GPU を使用していても NVIDIA GPU ではない場合、ヘルスチェックは終了し、ジョブはコンピューティングノードで実行されます。NVIDIA GPU のみがサポートされています。

  • Gpu ヘルスチェックは、dcgmi ツールを使用してノードのヘルスチェックを実行し、次の手順を実行します。

    ノードで Gpu ヘルスチェックが開始される場合。

    1. nvidia-dcgm および nvidia-fabricmanager サービスが実行中かどうかを検出します。

    2. これらのサービスが実行されていない場合、Gpu ヘルスチェックによって開始されます。

    3. 永続化モードが有効になっているかどうかを検出します。

    4. 永続化モードが有効になっていない場合は、Gpu ヘルスチェックによって有効になります。

    ヘルスチェックの終了時に、Gpu ヘルスチェックはこれらのサービスとリソースの初期状態を復元します。

  • ジョブが特定のノード GPU セットに割り当てられている場合、Gpu ヘルスチェックはその特定のセットでのみ実行されます。それ以外の場合は、ノードのすべての GPU で Gpu ヘルスチェックが実行されます。

  • コンピューティングノードが同時に 2 つ以上の Gpu ヘルスチェックのリクエストを受け取った場合、最初のヘルスチェックのみが実行され、他はスキップされます。これは、ノード GPU をターゲットとするヘルスチェックにも当てはまります。この状況に関する追加情報については、ログファイルを確認できます。

  • 特定のコンピューティングノードのヘルスチェックログは /var/log/parallelcluster/slurm_health_check.log ファイルで使用可能です。ファイルは CloudWatch、クラスター CloudWatch ロググループの Amazon で使用できます。このロググループには、次の情報があります。

    • サービスおよび永続化モードの有効化と無効化を含め、Gpu ヘルスチェックによって実行されたアクションの詳細。

    • GPU の識別子、シリアル ID、および UUID。

    • ヘルスチェックの出力。

更新ポリシー: この設定は、更新中に変更できます。

注記

HealthChecks は、 AWS ParallelCluster バージョン 3.6.0 以降でサポートされています。

Networking

(必須) Slurm キューのネットワーク設定を定義します。

Networking: SubnetIds: - string AssignPublicIp: boolean SecurityGroups: - string AdditionalSecurityGroups: - string PlacementGroup: Enabled: boolean Id: string Name: string Proxy: HttpProxyAddress: string

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Networking のプロパティ
SubnetIds (必須)[String])

Slurm キューをプロビジョニングする既存のサブネットの ID。

SlurmQueues/ComputeResources/InstanceType のインスタンスタイプを設定する場合、1 つのサブネットのみを定義できます。

SlurmQueues/ComputeResources/Instances のインスタンスタイプを設定する場合、単一のサブネットまたは複数のサブネットを定義できます。

複数のサブネットを使用する場合、キューに定義されるすべてのサブネットは同じ VPC 内にあり、各サブネットは個別のアベイラビリティーゾーン (AZ) にある必要があります。

例えば、キューに subnet-1 と subnet-2 を定義するとします。

subnet-1subnet-2 の両方を AZ-1 にすることはできません。

subnet-1 は AZ-1 に、subnet-2 は AZ-2 にすることができます。

1 つのインスタンスタイプのみを設定し、また複数のサブネットを使用する場合、InstanceType ではなく Instances でインスタンスタイプを定義します。

例えば、ComputeResources/InstanceType = instance.type の代わりに ComputeResources/Instances/InstanceType = instance.type を定義します。

注記

Elastic Fabric Adapter (EFA) は、異なるアベイラビリティーゾーン間ではサポートされていません。

複数のアベイラビリティーゾーンを使用すると、ストレージネットワーキングのレイテンシーが増加し、また inter-AZ のデータ転送コストが増加する可能性があります。例えば、インスタンスが異なる AZ に配置されているファイルストレージにアクセスする場合に発生することがあります。詳細については、「同一の AWS リージョンでのデータ転送」を参照してください。

クラスターを更新して、単一のサブネットから複数のサブネットを使用するように変更する。
  • クラスターのサブネット定義が、単一のサブネットと AWS ParallelCluster マネージド FSx for Lustre ファイルシステムで定義されているとします。続いて、更新されたサブネット ID 定義を使用してこのクラスターを直接更新することはできません。クラスターを更新するには、まずマネージドファイルシステムを外部ファイルシステムに変更する必要があります。詳細については、「AWS ParallelCluster マネージドストレージの外部ストレージへの変換」を参照してください。

  • 追加するように定義された複数のサブネットのすべての AZ に EFS マウントターゲットが存在しない場合、クラスターのサブネット定義が単一のサブネットと外部の Amazon EFS ファイルシステムで定義されているとします。続いて、更新されたサブネット ID 定義を使用してこのクラスターを直接更新することはできません。クラスターを更新するか、クラスターを作成するには、まず定義した複数のサブネットのすべての AZ のマウントターゲットをすべて作成する必要があります。

CapacityReservationResourceGroupArn で定義されているアベイラビリティーゾーンとクラスターキャパシティ予約:
  • 定義済みのキャパシティ予約のリソースグループおよびキューに定義されている一連のインスタンスタイプとアベイラビリティーゾーンの対象となる一連のインスタンスタイプとアベイラビリティーゾーンが重複していない場合、クラスターを作成することはできません。

  • 定義されたキャパシティ予約リソースグループの対象となるインスタンスタイプとアベイラビリティーゾーンのセットと、キューに定義されたインスタンスタイプとアベイラビリティ AWS ParallelCluster ーゾーンのセットの間に部分的な重複がある場合は、クラスターを作成できます。 は、このケースの部分的な重複に関する警告メッセージを送信します。

  • 詳細については、「ODCR (オンデマンドキャパシティ予約) を使用してインスタンスを起動する」を参照してください。

注記

AWS ParallelCluster バージョン 3.4.0 では、複数のアベイラビリティーゾーンが追加されています。

警告

この警告は、バージョン 3.3.1. AWS ParallelCluster version 3.3.1 より前のすべての 3.x.y AWS ParallelCluster バージョンに適用されます。このパラメータを変更しても影響を受けません。

バージョン AWS ParallelCluster 3.3.1 より前の 3 つのバージョンの場合:

このパラメータを変更してクラスターを更新すると、新しいマネージド FSx for Lustre ファイルシステムが作成され、既存のマネージド FSx for Lustre ファイルシステムは既存のデータを保持することなく削除されます。その結果、データの損失が発生します。データを保持したい場合は、先に進む前に、必ず既存の FSx for Lustre ファイルシステムからデータをバックアップしてください。詳細については、「FSx for Lustre ユーザーガイド」の「Working with backups」を参照してください。

新しいサブネット値を追加する場合は、更新ポリシー: この設定は、更新中に変更できます。

サブネット値を削除する場合は、更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

AssignPublicIp (オプションString)

Slurm キューのノードにパブリック IP アドレスを作成または割り当てます。サポートされている値は、true および false です。指定したサブネットによってデフォルト値が決定されます。パブリック IP を持つサブネットは、デフォルトでパブリック IP アドレスが割り当てられます。

p4d または hpc6idインスタンスタイプ、または複数のネットワークインターフェイスまたはネットワークインターフェイスカードを持つ別のインスタンスタイプを定義する場合は、パブリックアクセスを提供するtrueように HeadNode // Networking ElasticIpを に設定する必要があります。 AWS パブリック IPsは、単一のネットワークインターフェイスで起動されたインスタンスにのみ割り当てることができます。この場合、クラスターコンピューティングノードへのパブリックアクセスを提供するのに、NAT ゲートウェイを使用することをお勧めします。この場合は、AssignPublicIpfalse に設定します。IP アドレスに関する詳細については、「Amazon EC2 Linux インスタンス用ユーザーガイド」の「インスタンス起動時のパブリック IPv4 アドレスの割り当て」を参照してください。

更新ポリシー: この設定が変更された場合、更新は許可されません。

SecurityGroups (オプション[String])

Slurm キューに使用するセキュリティグループのリスト。セキュリティグループが指定されていない場合は、 によってセキュリティグループ AWS ParallelCluster が作成されます。

セキュリティグループがSharedStorageシステムに正しく設定されていることを確認します。

警告

この警告は、バージョン 3.3.0.version 3.3.0 より前のすべての 3.x .y AWS ParallelCluster AWS ParallelCluster バージョンに適用されます。このパラメータを変更しても影響を受けません。

バージョン AWS ParallelCluster 3.3.0 より前の 3 つのバージョンの場合:

このパラメータを変更してクラスターを更新すると、新しいマネージド FSx for Lustre ファイルシステムが作成され、既存のマネージド FSx for Lustre ファイルシステムは既存のデータを保持することなく削除されます。その結果、データの損失が発生します。データを保持したい場合は、必ず既存の FSx for Lustre ファイルシステムからデータをバックアップしてください。詳細については、「FSx for Lustre ユーザーガイド」の「Working with backups」を参照してください。

警告

コンピューティングインスタンスに対して Efa を有効にする場合、EFA 対応のインスタンスが、インバウンドおよびアウトバウンドのトラフィックをすべて許可するセキュリティグループのメンバーであることを確認してください。

更新ポリシー: この設定は、更新中に変更できます。

AdditionalSecurityGroups (オプション[String])

Slurm キューに使用する追加のセキュリティグループのリスト。

更新ポリシー: この設定は、更新中に変更できます。

PlacementGroup (オプション)

Slurm キューの配置グループ設定を指定します。

PlacementGroup: Enabled: boolean Id: string Name: string

更新ポリシー: マネージドプレースメントグループを削除するには、すべてのコンピューティングノードを停止する必要があります。この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Enabled (オプションBoolean)

Slurm キューに配置グループを使用するかどうかを示します。デフォルトは false です。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Id (オプションString)

Slurm キューが使用する既存のクラスタープレイスメントグループのプレースメントグループ名です。ID ではなくプレイスメントグループの名前を必ず指定してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Name (オプションString)

Slurm キューが使用する既存のクラスタープレイスメントグループのプレースメントグループ名です。ID ではなくプレイスメントグループの名前を必ず指定してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

注記
Proxy (オプション)

Slurm キューのプロキシ設定を指定します。

Proxy: HttpProxyAddress: string

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

HttpProxyAddress (オプションString)

Slurm キューの HTTP または HTTPS のプロキシサーバーを定義します。通常は https://x.x.x.x:8080 です。

デフォルト値はありません。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Image

(オプション) Slurm キューに使用するイメージを指定します。すべてのノードに同じ AMI を使用するには、セクション の ImageCustomAmi設定を使用します。

Image: CustomAmi: string

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Image プロパティ
CustomAmi (オプションString)

デフォルトの AMI ではなく、Slurm キューに使用する AMI です。pcluster CLI コマンドを使用して、デフォルトの AMI のリストを表示できます。

注記

AMI は、ヘッドノードで使用されるのと同じオペレーティングシステムに基づいている必要があります。

pcluster list-official-images

カスタム AMI の起動に追加のアクセス許可が必要な場合は、ヘッドノードポリシーにそれらのアクセス許可を追加する必要があります。

例えば、カスタム AMI に暗号化されたスナップショットが関連付けられている場合、ヘッドノードポリシーに次の追加のポリシーが必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<AWS_REGION>:<AWS_ACCOUNT_ID>:key/<AWS_KMS_KEY_ID>" ] } ] }

カスタム AMI 検証の警告のトラブルシューティングについては、「カスタム AMI の問題のトラブルシューティング」を参照してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

ComputeResources

(必須) Slurm キューの ComputeResources 設定を定義します。

注記

クラスターのサイズは、更新中に変更される場合があります。詳細については、「クラスター容量のサイズと更新」を参照してください。

ComputeResources: - Name: string InstanceType: string Instances: - InstanceType: string MinCount: integer MaxCount: integer DynamicNodePriority: integer StaticNodePriority: integer SpotPrice: float DisableSimultaneousMultithreading: boolean SchedulableMemory: integer HealthChecks: Gpu: Enabled: boolean Efa: Enabled: boolean GdrSupport: boolean CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string Networking: PlacementGroup: Enabled: boolean Name: string CustomSlurmSettings: dict Tags: - Key: string Value: string

更新ポリシー:このリスト値の設定では、更新中に新しい値を追加することができ、既存の値を削除する場合はコンピューティングフリートを停止する必要があります。

ComputeResources のプロパティ
Name (必須)String)

Slurm キューのコンピューティング環境の名前。名前の最大長は 25 文字です。

更新ポリシー: この設定が変更された場合、更新は許可されません。

InstanceType (必須)String)

この Slurm コンピューティングリソースで使用されるインスタンスタイプ。クラスターのすべてのインスタンスタイプは、同じプロセッサアーキテクチャを使用している必要があります。インスタンスは x86_64 または arm64 のアーキテクチャのいずれかを使用できます。

クラスター設定では、 InstanceTypeまたは インスタンス のいずれかを定義する必要があります。両方が定義されている場合、 AWS ParallelCluster 失敗します。

InstanceType を定義する場合、複数のサブネットを定義することはできません。1 つのインスタンスタイプのみを設定し、また複数のサブネットを使用する場合、InstanceType ではなく Instances のインスタンスタイプを定義します。詳細については、「Networking」/「SubnetIds」を参照してください。

p4d または hpc6idインスタンスタイプ、または複数のネットワークインターフェイスまたはネットワークインターフェイスカードを持つ別のインスタンスタイプを定義する場合は、「」の説明に従ってプライベートサブネットでコンピューティングインスタンスを起動する必要があります2 つのサブネットを使用する AWS ParallelCluster。 AWS パブリック IP は、単一のネットワークインターフェイスで起動されるインスタンスにのみ割り当てることができます。 IPs 詳細については、「Amazon EC2 Linux インスタンス用ユーザーガイド」の「インスタンス起動時のパブリック IPv4 アドレスの割り当て」を参照してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

Instances (必須)

コンピューティングリソースのインスタンスタイプのリストを指定します。インスタンスタイプのリストの配分戦略を指定するには、「AllocationStrategy」を参照してください。

クラスター設定で、InstanceType または Instances のいずれかを定義する必要があります。両方が定義されていると、 AWS ParallelCluster は失敗します。

詳細については、「Slurm による複数のインスタンスタイプの割り当て」を参照してください。

Instances: - InstanceType: string
注記

AWS ParallelCluster バージョン 3.7.0 以降では、インスタンス で複数のインスタンスタイプを設定すると、 を有効にEnableMemoryBasedSchedulingできます。

AWS ParallelCluster バージョン 3.2.0 から 3.6.x では、インスタンス EnableMemoryBasedScheduling複数のインスタンスタイプを設定した場合、 を有効にすることはできません。

更新ポリシー:このリスト値の設定では、更新中に新しい値を追加することができ、既存の値を削除する場合はコンピューティングフリートを停止する必要があります。

InstanceType (必須)String)

この Slurm コンピューティングリソースで使用するインスタンスタイプ。クラスター内のすべてのインスタンスタイプは、x86_64 または arm64 のいずれかの同じプロセッサアーキテクチャを使用する必要があります。

Instances に一覧表示されているインスタンスタイプには、次が必要です。

  • 同じ数の vCPUs、または DisableSimultaneousMultithreadingtrue に設定している場合は同じ数のコア。

  • 同じ製造元で同じ数のアクセラレーター。

  • Efa/Enabledtrue に設定されている場合、EFA がサポートされます。

Instances に一覧表示されているインスタンスタイプには、次があります。

  • さまざまな量のメモリ。

    この場合、最小メモリが使用可能な Slurm リソースとして設定されます。

    注記

    AWS ParallelCluster バージョン 3.7.0 以降では、インスタンス で複数のインスタンスタイプを設定すると、 を有効にEnableMemoryBasedSchedulingできます。

    AWS ParallelCluster バージョン 3.2.0 から 3.6.x では、インスタンス EnableMemoryBasedScheduling複数のインスタンスタイプを設定した場合、 を有効にすることはできません。

  • さまざまなネットワークカード。

    この場合、コンピューティングリソースに設定されるネットワークインターフェイスの数は、ネットワークカードの数が最小のインスタンスタイプによって定義されます。

  • さまざまなネットワーク帯域幅。

  • さまざまなインスタンスストアのサイズ。

p4d または hpc6idインスタンスタイプ、または複数のネットワークインターフェイスまたはネットワークインターフェイスカードを持つ別のインスタンスタイプを定義する場合は、「」の説明に従って、プライベートサブネットでコンピューティングインスタンスを起動する必要があります2 つのサブネットを使用する AWS ParallelCluster。 AWS パブリック IP は、単一のネットワークインターフェイスで起動されたインスタンスにのみ割り当てることができます。 IPs 詳細については、「Amazon EC2 Linux インスタンス用ユーザーガイド」の「インスタンス起動時のパブリック IPv4 アドレスの割り当て」を参照してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

注記

Instances は、 AWS ParallelCluster バージョン 3.3.0 以降でサポートされています。

MinCount (オプションInteger)

Slurm コンピューティングリソースが使用するインスタンス数の最小値。デフォルトは 0 です。

注記

クラスターのサイズは、更新中に変更される場合があります。詳細については、「クラスター容量のサイズと更新」を参照してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

MaxCount (オプションInteger)

Slurm コンピューティングリソースが使用する最大インスタンス数。デフォルトは 10 です。

を使用する場合CapacityType = CAPACITY_BLOCK、キャパシティブロック予約のすべてのインスタンス部分は静的ノードとして管理されるため、 は 0 MinCount以上MaxCountである必要があります。

クラスターの作成時に、ヘッドノードはすべての静的ノードの準備が整うのを待ってから、クラスターの作成の成功を知らせます。ただし、 を使用する場合CapacityType = CAPACITY_BLOCK、キャパシティブロックに関連付けられたコンピューティングリソースのノード部分は、このチェックでは考慮されません。クラスターは、設定されたすべてのキャパシティブロックがアクティブでなくても作成されます。

注記

クラスターのサイズは、更新中に変更される場合があります。詳細については、「クラスター容量のサイズと更新」を参照してください。

DynamicNodePriority (オプションInteger)

キューコンピューティングリソースの動的ノードの優先度。優先度は、コンピューティングリソースの動的ノードの Slurm ノード Weight 設定パラメータにマッピングされます。デフォルト値は、1000です。

Slurm は、最初に Weight 値が最も低いノードを優先します。

警告

Slurm パーティション (キュー) でさまざまな Weight 値を多く使用すると、キューのジョブスケジューリングのレートが遅くなる可能性があります。

AWS ParallelCluster バージョン 3.7.0 より前のバージョンでは、静的ノードと動的ノードの両方に同じデフォルトの重み が割り当てられていました1。この場合、静的および動的ノードの命名スキーマにより、Slurm はアイドル状態の静的ノードよりもアイドル状態の動的ノードを優先することがあります。他のすべてが等しい場合は、Slurm は名前のアルファベット順にノードをスケジュールします。

注記

DynamicNodePriority バージョン 3.7.0 AWS ParallelCluster で が追加されました。

更新ポリシー: この設定は、更新中に変更できます。

StaticNodePriority (オプションInteger)

キューコンピューティングリソースの静的ノードの優先度。優先度は、コンピューティングリソースの静的ノードの Slurm ノード Weight 設定パラメータにマッピングされます。デフォルト値は、1です。

Slurm は、最初に Weight 値が最も低いノードを優先します。

警告

Slurm パーティション (キュー) でさまざまな Weight 値を多く使用すると、キューのジョブスケジューリングのレートが遅くなる可能性があります。

注記

StaticNodePriority バージョン 3.7.0 AWS ParallelCluster で が追加されました。

更新ポリシー: この設定は、更新中に変更できます。

SpotPrice (オプションFloat)

任意のインスタンスが起動する前に、EC2 スポットインスタンスに支払われる上限価格です。デフォルトの値はオンデマンドの料金です。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

DisableSimultaneousMultithreading (オプションBoolean)

true の場合、Slurm キューのノードでのマルチスレッドは無効になります。デフォルト値は、falseです。

すべてのインスタンスタイプのマルチスレッドを無効にできるわけではありません。マルチスレッドの無効化をサポートするインスタンスタイプのリストについては、Amazon EC2 ユーザーガイド」の「インスタンスタイプごとの各 CPU コアの CPU コアとスレッド」を参照してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

SchedulableMemory (オプションInteger)

コンピューティングリソースのコンピューティングノードの Slurm パラメータ RealMemory で設定されるメモリの量 (MiB)。SlurmSettings/EnableMemoryBasedScheduling が有効になっている場合、この値はジョブに使用できるノードのメモリの上限です。デフォルト値は、Amazon EC2 インスタンスタイプ にリストされ、Amazon EC2 API DescribeInstanceタイプ によって返されるメモリの 95% です。GiB で指定された値が MiB に変換されていることを確認してください。

サポートされる値: 1-EC2Memory

EC2Memory は、Amazon EC2 インスタンスタイプ にリストされ、Amazon EC2 API タイプ によって返されるメモリ (MiB DescribeInstance単位) です。 Amazon EC2 GiB で指定された値が MiB に変換されていることを確認してください。

このオプションは、SlurmSettings/EnableMemoryBasedScheduling が有効になっている場合、最も関連性が高くなります。詳細については、「Slurm メモリベースのスケジューリング」を参照してください。

注記

SchedulableMemory は AWS ParallelCluster バージョン 3.2.0 からサポートされています。

バージョン 3.2.0 以降、デフォルトでは、 Slurmはコンピューティングノード AWS ParallelCluster RealMemoryを Amazon EC2 API によって返されるメモリの 95% に設定しますDescribeInstanceTypes。この設定は EnableMemoryBasedScheduling の値とは無関係です。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

HealthChecks (オプション)

コンピューティングリソースのヘルスチェックを指定します。

Gpu (オプション)

コンピューティングリソースの GPU ヘルスチェックを指定します。

Enabled (オプションBoolean)

がキュー内のリソースの計算で GPU ヘルスチェック AWS ParallelCluster を実行するかどうか。デフォルトは false です。

注記

AWS ParallelCluster はHealthChecks、ARM オペレーティングシステムを使用するノードGpuで / alinux2 をサポートしていません。これらのプラットフォームは NVIDIA データセンター GPUマネージャー (DCGM) をサポートしていません。

Gpu ヘルスチェックの動作
  • Gpu / が に設定されている場合trueEnabledはコンピューティングリソースに対してヘルス GPU ヘルスチェック AWS ParallelCluster を実行します。

  • Gpu ヘルスチェックはコンピューティングリソースでヘルスチェックを実行して、GPU のパフォーマンスが低下したノードでのジョブ送信を防止します。

  • コンピューティングノードが Gpu ヘルスチェックに失敗すると、コンピューティングノードのステータスは DRAIN に変わります。このノードで新しいジョブは開始されません。既存のジョブは完了まで実行されます。実行中のジョブがすべて完了すると、コンピューティングノードが動的ノードの場合は終了し、静的ノードの場合は置き換えられます。

  • Gpu ヘルスチェックの所要時間は、選択したインスタンスタイプ、インスタンスの GPU の数、および Gpu ヘルスチェックのターゲットの数 (ジョブ GPU ターゲットの数と同じ) によって異なります。8 つの GPU を持つインスタンスの場合、一般的な所要時間は 3 分未満です。

  • サポートされていないインスタンスで Gpu ヘルスチェックを実行すると終了し、ジョブはコンピューティングノードで実行されます。例えば、インスタンスが GPU を使用していない場合や、インスタンスが GPU を使用していても NVIDIA GPU ではない場合、ヘルスチェックは終了し、ジョブはコンピューティングノードで実行されます。NVIDIA GPU のみがサポートされています。

  • Gpu ヘルスチェックは、dcgmi ツールを使用してノードのヘルスチェックを実行し、次の手順を実行します。

    ノードで Gpu ヘルスチェックが開始される場合。

    1. nvidia-dcgm および nvidia-fabricmanager サービスが実行中かどうかを検出します。

    2. これらのサービスが実行されていない場合、Gpu ヘルスチェックによって開始されます。

    3. 永続化モードが有効になっているかどうかを検出します。

    4. 永続化モードが有効になっていない場合は、Gpu ヘルスチェックによって有効になります。

    ヘルスチェックの終了時に、Gpu ヘルスチェックはこれらのサービスとリソースの初期状態を復元します。

  • ジョブが特定のノード GPU セットに割り当てられている場合、Gpu ヘルスチェックはその特定のセットでのみ実行されます。それ以外の場合は、ノードのすべての GPU で Gpu ヘルスチェックが実行されます。

  • コンピューティングノードが同時に 2 つ以上の Gpu ヘルスチェックのリクエストを受け取った場合、最初のヘルスチェックのみが実行され、他はスキップされます。これは、ノード GPU をターゲットとするヘルスチェックにも当てはまります。この状況に関する追加情報については、ログファイルを確認できます。

  • 特定のコンピューティングノードのヘルスチェックログは /var/log/parallelcluster/slurm_health_check.log ファイルで使用可能です。このファイルは CloudWatch、クラスター CloudWatch ロググループの Amazon で使用できます。このロググループには、以下があります。

    • サービスおよび永続化モードの有効化と無効化を含め、Gpu ヘルスチェックによって実行されたアクションの詳細。

    • GPU の識別子、シリアル ID、および UUID。

    • ヘルスチェックの出力。

更新ポリシー: この設定は、更新中に変更できます。

注記

HealthChecks は、 AWS ParallelCluster バージョン 3.6.0 以降でサポートされています。

Efa (オプション)

Slurm キュー内のノードの EFA (Elastic Fabric Adapter) 設定を指定します。

Efa: Enabled: boolean GdrSupport: boolean

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Enabled (オプションBoolean)

EFA (Elastic Fabric Adapter) が有効であることを指定します。EFA をサポートする EC2 インスタンスのリストを表示するには、「Linux インスタンス用の Amazon EC2 ユーザーガイド」の「サポートされるインスタンスタイプ」を参照してください。詳細については、「Elastic Fabric Adapter」を参照してください。クラスター SlurmQueues/Networking/PlacementGroup を使用して、インスタンス間のレイテンシーを最小限に抑えることをお勧めします。

デフォルト値は、falseです。

注記

Elastic Fabric Adapter (EFA) は、異なるアベイラビリティーゾーン間ではサポートされていません。詳細については、「」を参照してくださいSubnetIds

警告

でカスタムセキュリティグループを定義する場合はSecurityGroups、EFA 対応インスタンスが、それ自体へのすべてのインバウンドトラフィックとアウトバウンドトラフィックを許可するセキュリティグループのメンバーであることを確認してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

GdrSupport (オプションBoolean)

(オプション) AWS ParallelCluster バージョン 3.0.2 より、この設定は無効となりました。Elastic Fabric Adapter (EFA )による GPUDirect RDMA (リモートディレクトメモリアクセス) のサポートは、Slurm コンピューティングリソースのインスタンスタイプとオペレーティングシステムでサポートされていれば、常に有効です。

注記

AWS ParallelCluster バージョン 3.0.0 から 3.0.1: GPUDirect RDMA のサポートがSlurmコンピューティングリソースに対して有効になっています。GPUDirect RDMA のサポートは、特定のオペレーティングシステム上の特定のインスタンスタイプ (p4d.24xlarge) でサポートされています (Osalinux2centos7ubuntu1804、またはubuntu2004)。デフォルト値は false です。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

CapacityReservationTarget
CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

コンピューティングリソースに使用するオンデマンドキャパシティ予約を指定します。

CapacityReservationId (オプションString)

キューのコンピューティングリソースを対象とする既存のキャパシティ予約の ID。ID は、ML の ODCR またはキャパシティブロックを参照できます

このパラメータがコンピューティングリソースレベルで指定されている場合、 InstanceType はオプションで、予約から自動的に取得されます。

CapacityReservationResourceGroupArn (オプションString)

コンピューティングリソースのキャパシティ予約のサービスリンクグループとして機能するリソースグループの Amazon リソースネーム (ARN) を示します。 AWS ParallelCluster は、グループから最も適切なキャパシティ予約を識別して使用します。リソースグループには、コンピューティングリソースに一覧表示されているインスタンスタイプごとに少なくとも 1 つの ODCR があることが必要です。詳細については、「ODCR (オンデマンドキャパシティ予約) を使用してインスタンスを起動する」を参照してください。

  • PlacementGroup が / SlurmQueues Networkingまたは SlurmQueues /ComputeResources/ で有効になっている場合Networking、インスタンスタイプと、存在する場合はコンピューティングリソースPlacementGroupをターゲットとするリソースグループ AWS ParallelCluster を選択します。

    PlacementGroup は、ComputeResources で定義されているインスタンスタイプの 1 つをターゲットにしている必要があります。

  • PlacementGroup / Networkingまたは SlurmQueues /SlurmQueuesComputeResources/ で が有効になっていない場合Networking、 はコンピューティングリソースのインスタンスタイプのみを対象とするリソースグループが存在する場合はそれ AWS ParallelCluster を選択します。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

注記

CapacityReservationTarget バージョン 3.3.0 で AWS ParallelCluster が追加されます。

Networking
Networking: PlacementGroup: Enabled: boolean Name: string

更新ポリシー: マネージドプレースメントグループを削除するには、すべてのコンピューティングノードを停止する必要があります。この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

PlacementGroup (オプション)

コンピューティングリソースの配置グループ設定を指定します。

Enabled (オプションBoolean)

コンピューティングリソースに配置グループを使用するかどうかを示します。

  • Name を定義せずに true に設定すると、そのコンピューティングリソースには SlurmQueues/Networking/PlacementGroup 設定に関係なく、独自のマネージドプレイスメントグループが割り当てられます。

  • Name を定義して true に設定すると、そのコンピューティングリソースには SlurmQueues/Networking/PlacementGroup 設定に関係なく、名前付きのプレイスメントグループが割り当てられます。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Name (オプションString)

コンピューティングリソースに使用される既存のクラスタープレイスメントグループのプレースメントグループ名です。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

注記
  • PlacementGroup/Enabled の両方と Name が設定されていない場合、それぞれの値はデフォルトで SlurmQueues/Networking/PlacementGroup 設定になります。

  • ComputeResources バージョン 3Networking.3.0 で // AWS ParallelCluster が追加されPlacementGroupました。

CustomSlurmSettings (オプションDict)

(オプション) カスタム Slurm ノード (コンピューティングリソース) の設定を定義します。

Slurm ノード (コンピューティングリソース) に適用されるカスタム Slurm 設定パラメータのキーと値のペアのディクショナリを指定します。

Param1: Value1 などの各個別のキーと値のペアは、Param1=Value1 の形式で Slurm ノードの設定行の最後に個別に追加されます。

CustomSlurmSettings の拒否リストに記載されていない Slurm 設定パラメータのみ指定できます。拒否リストの Slurm 設定パラメータの詳細については、「CustomSlurmSettings で拒否リストに記載されている Slurm 設定パラメータ」を参照してください。

AWS ParallelCluster は、パラメータが拒否リストに含まれているかどうかのみをチェックします。 AWS ParallelCluster はカスタムSlurm設定パラメータの構文またはセマンティクスを検証しません。カスタム Slurm 設定パラメータはお客様の責任で検証していただく必要があります。無効なカスタム Slurm 設定パラメータは、クラスターの作成や更新の失敗につながる Slurm デーモンの障害を引き起こす可能性があります。

でカスタムSlurm設定パラメータを指定する方法の詳細については、 AWS ParallelCluster「」を参照してくださいSlurm 設定のカスタマイズ

Slurm 設定パラメータに関する詳細については、「Slurm ドキュメント」の「slurm.conf」を参照してください。

更新ポリシー: この設定は、更新中に変更できます。

注記

CustomSlurmSettings は AWS ParallelCluster バージョン 3.6.0 からサポートされています。

Tags (オプション、[文字列])

タグのキーと値のペアのリスト。ComputeResource タグは、Tags セクション または SlurmQueues/Tags で指定された重複するタグを上書きします。

Key (オプションString)

タグキー。

Value (オプションString)

タグ値。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

ComputeSettings

(必須) Slurm キューの ComputeSettings 設定を定義します。

ComputeSettings のプロパティ

Slurm キュー内のノードの ComputeSettings のプロパティを指定します。

ComputeSettings: LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

LocalStorage (オプション)

Slurm キュー内のノードの LocalStorage のプロパティを指定します。

LocalStorage: RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer EphemeralVolume: MountDir: string

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

RootVolume (オプション)

Slurm キューのノードのルートボリュームの詳細を指定します。

RootVolume: Size: integer Encrypted: boolean VolumeType: string Iops: integer Throughput: integer

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Size (オプションInteger)

Slurm キューのノードのルートボリュームサイズをギビバイト (GiB) で指定します。デフォルトのサイズは AMI から取得されます。異なるサイズを使用するには、AMI が growroot をサポートしている必要があります。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Encrypted (オプションBoolean)

true の場合、Slurm キューのノードのルートボリュームが暗号化されます。デフォルト値は、falseです。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

VolumeType (オプションString)

Slurm キュー内のノードの Amazon EBS ボリュームタイプを指定します。サポートされている値は gp2gp3io1io2sc1st1 および standard です。デフォルト値は、gp3です。

詳細については、「Amazon EC2 ユーザーガイド」の「Amazon EBS ボリュームの種類」を参照してください。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Iops (オプションBoolean)

io1io2 および gp3 タイプボリュームの IOPS の数を定義します。

デフォルト値、対応値、volume_iopsvolume_size の比率は、VolumeTypeSize で異なります。

VolumeType = io1

デフォルト Iops = 100

サポートする値 Iops = 100 — 64000 †

最大 volume_iops/volume_size 比率 = 50 IOPS/GiB。5000 IOPS には、少なくとも 100 GiB の volume_size が必要です。

VolumeType = io2

デフォルト Iops = 100

サポートする値 Iops = 100 — 64000 (io2 Block Express ボリュームの場合は 256000) †

最大 Iops/Size 比率 = 500 IOPS/GiB。5000 IOPS には、少なくとも 10 GiB の Size が必要です。

VolumeType = gp3

デフォルト Iops = 3000

サポートする値 Iops = 3,000–16,000 †

IOPS が 3,000 を超えるボリュームの場合、Size に対する Iops の最大レート = GiB あたり 500 IOPS。

† 最大 IOPS は、32,000 IOPS 以上でプロビジョニングされ、Nitro System で構築されたインスタンスにのみ保証されます。他のインスタンスは、最大 32,000 IOPS までです。ボリュームを変更しない限り、以前の io1 ボリュームはパフォーマンスが完全にはならないことがあります。io2Block Express ボリュームは、R5b インスタンスタイプで最大 256000 までの volume_iops 値をサポートします。詳細については、「Amazon EC2 ユーザーガイド」のio2「Block Express ボリューム」を参照してください。 Amazon EC2

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Throughput (オプションInteger)

gp3 ボリュームタイプのスループットを MiB/秒で定義します。この設定は、VolumeTypegp3 の場合のみ有効です。デフォルト値は、125です。サポートされる値: 125 — 1000 MIB/秒

ThroughputIops の比率は 0.25 以下にします。最大のスループットである 1000 MiB/秒を実現するためには、Iops の設定を 4000 以上にする必要があります。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

EphemeralVolume (オプションBoolean)

エフェメラルボリュームの設定を指定します。エフェメラルボリュームは、すべてのインスタンスストアボリュームを、ext4 ファイルシステムでフォーマットされた 1 つの論理ボリュームにまとめることで作成されます。デフォルトは /scratch です。インスタンスタイプにインスタンスストアボリュームがない場合、エフェメラルボリュームは作成されません。詳細については、「Amazon EC2 Linux インスタンス用ユーザーガイド」の「インスタンスストアボリューム」を参照してください。

EphemeralVolume: MountDir: string

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

MountDir (オプションString)

Slurm キューの各ノードのエフェメラルボリュームのマウントディレクトリ。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

CustomActions

(Optional) Slurm キュー内のノードで実行するカスタムスクリプトを指定します。

CustomActions: OnNodeStart: Sequence: - Script: string Args: - string Script: string Args: - string OnNodeConfigured: Sequence: - Script: string Args: - string Script: string Args: - string

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

CustomActions プロパティ
OnNodeStart (オプションString)

ノードデプロイのブートストラップアクションが開始される前に Slurm キューのノードで実行する一連のスクリプトまたは単一のスクリプトを指定します。 AWS ParallelCluster は、単一のスクリプトと同じカスタムアクション用の Sequence の両方を含めることはサポートしていません。詳細については、「カスタムブートストラップアクション」を参照してください。

Sequence (オプション)

実行するスクリプトのリスト。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Script (必須)String)

単一のスクリプトに使用するファイル。ファイルパスは https:// または s3:// で始まる必要があります。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Args (オプション[String])

単一のスクリプトに渡す引数のリスト。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

OnNodeConfigured (オプションString)

ノードのブートストラップアクションが完了した後に Slurm キューのノードで実行する一連のスクリプトまたは単一のスクリプトを指定します。 AWS ParallelCluster は、単一のスクリプトと同じカスタムアクション用の Sequence の両方を含めることはサポートしていません。詳細については、「カスタムブートストラップアクション」を参照してください。

Sequence (オプション)

実行するスクリプトのリスト。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Script (必須)String)

単一のスクリプトに使用するファイル。ファイルパスは https:// または s3:// で始まる必要があります。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

Args (オプション[String])

単一のスクリプトに渡す引数のリスト。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

注記

Sequence バージョン 3 AWS ParallelCluster .6.0 以降、 が追加されました。を指定するとSequence、カスタム action. AWS ParallelCluster continues の複数のスクリプトを一覧表示して、 を含めずに 1 つのスクリプトでカスタムアクションの設定をサポートできますSequence

AWS ParallelCluster は、同じカスタムアクションSequenceに 1 つのスクリプトと の両方を含めることをサポートしていません。

Iam

(オプション) Slurm キューのオプションの IAM 設定を定義します。

Iam: S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string AdditionalIamPolicies: - Policy: string InstanceProfile: string InstanceRole: string

更新ポリシー: この設定は、更新中に変更できます。

Iam プロパティ
InstanceProfile (オプションString)

Slurm キューのデフォルトのインスタンスロールまたはインスタンスプロファイルをオーバーライドするインスタンスプロファイルを指定します。InstanceProfile および InstanceRole の両方を指定することはできません。形式は arn:${Partition}:iam::${Account}:instance-profile/${InstanceProfileName} です。

これを指定すると、S3AccessAdditionalIamPolicies の設定を指定することはできません。

AWS ParallelCluster に追加された機能は新しいアクセス許可を必要とすることが多いため、S3AccessAdditionalIamPolicies の設定のいずれかまたは両方を指定することをお勧めします。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

InstanceRole (オプションString)

Slurm キューのデフォルトのインスタンスロールやインスタンスプロファイルを上書きするインスタンスロールを指定します。InstanceProfile および InstanceRole の両方を指定することはできません。形式は arn:${Partition}:iam::${Account}:role/${RoleName} です。

これを指定すると、S3AccessAdditionalIamPolicies の設定を指定することはできません。

AWS ParallelCluster に追加された機能は新しいアクセス許可を必要とすることが多いため、S3AccessAdditionalIamPolicies の設定のいずれかまたは両方を指定することをお勧めします。

更新ポリシー: この設定は、更新中に変更できます。

S3Access (オプション)

Slurm キューのバケットを指定します。これは、Slurm キューのバケットに指定されたアクセスを許可するポリシーを生成するために使用されます。

これを指定すると、InstanceProfileInstanceRole の設定を指定することはできません。

AWS ParallelCluster に追加された機能は新しいアクセス許可を必要とすることが多いため、S3AccessAdditionalIamPolicies の設定のいずれかまたは両方を指定することをお勧めします。

S3Access: - BucketName: string EnableWriteAccess: boolean KeyName: string

更新ポリシー: この設定は、更新中に変更できます。

BucketName (必須)String)

バケットの名前。

更新ポリシー: この設定は、更新中に変更できます。

KeyName (オプションString)

バケットのキーです。デフォルト値は、*です。

更新ポリシー: この設定は、更新中に変更できます。

EnableWriteAccess (オプションBoolean)

バケットに対して書き込みアクセスが可能かどうかを示す。

更新ポリシー: この設定は、更新中に変更できます。

AdditionalIamPolicies (オプション)

Amazon EC2 の IAM ポリシーの Amazon リソースネーム (ARN) のリストを指定します。このリストは、 で必要なアクセス許可に加えて、Slurmキューに使用されるルートロールにアタッチされます AWS ParallelCluster。

IAM ポリシー名とその ARN が異なります。名前を使用することはできません。

これを指定すると、InstanceProfileInstanceRole の設定を指定することはできません。

AWS ParallelCluster が必要とするパーミッションに AdditionalIamPolicies が追加され、InstanceRole には必要なパーミッションがすべて含まれている必要があるため、AdditionalIamPolicies を使用することをお勧めします。必要な権限は、機能が追加されるにつれ、リリースごとに変更されることがよくあります。

デフォルト値はありません。

AdditionalIamPolicies: - Policy: string

更新ポリシー: この設定は、更新中に変更できます。

Policy (必須)[String])

IAM ポリシーの一覧。

更新ポリシー: この設定は、更新中に変更できます。

SlurmSettings

(オプション) クラスター全体に適用される Slurm の設定を定義します。

SlurmSettings: ScaledownIdletime: integer QueueUpdateStrategy: string EnableMemoryBasedScheduling: boolean CustomSlurmSettings: [dict] CustomSlurmSettingsIncludeFile: string Database: Uri: string UserName: string PasswordSecretArn: string Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean

SlurmSettings プロパティ

ScaledownIdletime (オプションInteger)

ジョブがなく、Slurm ノードが終了する時間 (分単位) を定義します。

デフォルト値は、10です。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

MungeKeySecretArn (オプションString)

Slurm クラスターで使用される base64 でエンコードされた m"" キーを含むプレーンテキストの AWS Secrets Manager シークレットの Amazon リソースネーム (ARN)。この m"" キーは、Slurm クライアントコマンドとリモートサーバーとして機能する Slurm デーモン間の RPC 呼び出しを認証するために使用されます。が指定され MungeKeySecretArn ていない場合、 はクラスターのランダムな m"" キー AWS ParallelCluster を生成します。

注記

MungeKeySecretArn は、 バージョン 3.8.0 以降で AWS ParallelCluster サポートされています。

警告

MungeKeySecretArn が既存のクラスターに新しく追加された場合、 ParallelClusterロールバック時または後で を削除しても、 は以前の m" キーを復元しません MungeKeySecretArn。代わりに、新しいランダムな m"" キーが生成されます。

AWS ParallelCluster ユーザーがその特定のシークレットリソース DescribeSecretに対する へのアクセス許可を持っている場合、 MungeKeySecretArn は検証済みです。 MungeKeySecretArn は、次の場合に有効です。

  • 指定されたシークレットが存在し、

  • シークレットはプレーンテキストで、有効な base64 でエンコードされた文字列が含まれています。

  • デコードされたバイナリ m" キーのサイズは 256~8192 ビットです。

pcluster ユーザーの IAM ポリシーに が含まれていない場合 DescribeSecret、 MungeKeySecretArn は検証されず、警告メッセージが表示されます。詳細については、「AWS ParallelCluster pcluster 基本ユーザーポリシー」を参照してください。

を更新するときは MungeKeySecretArn、コンピューティングフリートとすべてのログインノードを停止する必要があります。

シークレット ARN のシークレット値が ARN が同じまま変更された場合、クラスターは新しい m" キーで自動的に更新されません。シークレット ARN の新しい m"" キーを使用するには、コンピューティングフリートとログインノードを停止してから、ヘッドノードから次のコマンドを実行する必要があります。

sudo /opt/parallelcluster/scripts/slurm/update_munge_key.sh

コマンドの実行後、コンピューティングフリートとログインノードの両方を再開できます。新しくプロビジョニングされたコンピューティングノードとログインノードは、新しい m" キーを使用して自動的に開始されます。

base64 でエンコードされたカスタム m" キーを生成するには、m" ソフトウェアと共に配布された m"key ユーティリティを使用し、OS で一般公開されている base64 ユーティリティを使用してエンコードします。または、bash を使用します (bs パラメータを 32 から 1024 の間で設定してください)

dd if=/dev/random bs=128 count=1 2>/dev/null | base64 -w 0

または Python を次のように指定します。

import random import os import base64 # key length in bytes key_length=128 base64.b64encode(os.urandom(key_length)).decode("utf-8")

更新ポリシー: 新しい更新ポリシーとコンピューティングフリートおよびログインノードが停止しました (誤って 3.7.0 に追加されていません)。

QueueUpdateStrategy (オプションString)

次の更新ポリシーを持つ SlurmQueues セクションパラメータの置換戦略を指定します。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートが停止しているか、QueueUpdateStrategy が設定されている必要があります。

QueueUpdateStrategy 値は、クラスター更新プロセスが開始するときにのみ使用されます。

有効な値: COMPUTE_FLEET_STOP | DRAIN | TERMINATE

デフォルト値: COMPUTE_FLEET_STOP

DRAIN

パラメータ値が変更されたキューのノードは DRAINING に設定されます。このステータスのノードは新しいジョブを受け入れず、実行中のジョブは継続し、完了します。

ノードが idle (DRAINED) になった後、ノードが静的な場合はノードが置き換えられ、動的な場合は終了します。パラメータ値が変更されていない他のキューの他のノードは影響を受けません。

この戦略でパラメータ値が変更されたキューノードをすべて置き換えるのに必要な時間は、実行中のワークロードによって異なります。

COMPUTE_FLEET_STOP

QueueUpdateStrategy パラメータのデフォルト値。この設定で SlurmQueues セクションのパラメータを更新する場合、クラスターの更新を実行する前にコンピューティングフリートを停止する必要があります。

$ pcluster update-compute-fleet --status STOP_REQUESTED
TERMINATE

パラメータ値が変更されたキューでは、実行中のジョブは終了し、ノードの電源はすぐにオフになります。

静的ノードは置き換えられ、動的ノードは終了します。

パラメータ値が変更されていない他のキューの他のノードは影響を受けません。

更新ポリシー: この設定は、更新中には分析されません。

注記

QueueUpdateStrategy は AWS ParallelCluster バージョン 3.2.0 からサポートされています。

EnableMemoryBasedScheduling (オプションBoolean)

true の場合、Slurm でメモリベースのスケジューリングが有効になります。詳細については、「SlurmQueues」/「ComputeResources」/「SchedulableMemory」を参照してください。

デフォルト値は、falseです。

警告

メモリベースのスケジューリングを有効にすると、Slurm スケジューラがジョブとノードの割り当てを処理する方法に影響します。

詳細については、「Slurm メモリベースのスケジューリング」を参照してください。

注記

EnableMemoryBasedScheduling は AWS ParallelCluster バージョン 3.2.0 からサポートされています。

注記

AWS ParallelCluster バージョン 3.7.0 以降では、インスタンス で複数のインスタンスタイプを設定すると、 を有効にEnableMemoryBasedSchedulingできます。

AWS ParallelCluster バージョン 3.2.0 から 3.6.x では、インスタンス EnableMemoryBasedScheduling複数のインスタンスタイプを設定した場合、 を有効にすることはできません。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

CustomSlurmSettings (オプション[Dict])

クラスター全体に適用されるカスタム Slurm 設定を定義します。

AWS ParallelCluster が生成する slurm.conf ファイルの末尾に追加するキーと値のペアの Slurm 設定ディクショナリのリストを指定します。

リスト内の各ディクショナリは、Slurm 設定ファイルに追加される個別の行として表示されます。指定するパラメータはシンプルにすることも複雑にすることもできます

次の例に示すように、シンプルなパラメータは 1 つのキーペアで構成されます。

- Param1: 100 - Param2: "SubParam1,SubParam2=SubValue2"

Slurm 設定でレンダリングされた例。

Param1=100 Param2=SubParam1,SubParam2=SubValue2

複雑な Slurm 設定パラメータは、次の例に示すように、スペースで区切られた複数のキーと値のペアで構成されます。

- NodeName: test-nodes[1-10] CPUs: 4 RealMemory: 4196 ... # other node settings - NodeSet: test-nodeset Nodes: test-nodes[1-10] ... # other nodeset settings - PartitionName: test-partition Nodes: test-nodeset ... # other partition settings

Slurm 設定でレンダリングされた例。

NodeName=test-nodes[1-10] CPUs=4 RealMemory=4196 ... # other node settings NodeSet=test-nodeset Nodes=test-nodes[1-10] ... # other nodeset settings PartitionName=test-partition Nodes=test-nodeset ... # other partition settings
注記

カスタム Slurm ノードの名前には、-st- または -dy- のパターンを含めないでください。これらのパターンは AWS ParallelClusterが管理するノードのために予約されています。

CustomSlurmSettings のカスタム Slurm 設定パラメータを指定する場合、CustomSlurmSettingsIncludeFile のカスタム Slurm 設定パラメータは指定できません。

CustomSlurmSettings の拒否リストに記載されていない Slurm 設定パラメータのみ指定できます。拒否リストの Slurm 設定パラメータの詳細については、「CustomSlurmSettings で拒否リストに記載されている Slurm 設定パラメータ」を参照してください。

AWS ParallelCluster は、パラメータが拒否リストに含まれているかどうかのみをチェックします。 AWS ParallelCluster はカスタムSlurm設定パラメータの構文またはセマンティクスを検証しません。カスタム Slurm 設定パラメータはお客様の責任で検証していただく必要があります。無効なカスタム Slurm 設定パラメータは、クラスターの作成や更新の失敗につながる Slurm デーモンの障害を引き起こす可能性があります。

でカスタムSlurm設定パラメータを指定する方法の詳細については、 AWS ParallelCluster「」を参照してくださいSlurm 設定のカスタマイズ

Slurm 設定パラメータに関する詳細については、「Slurm ドキュメント」の「slurm.conf」を参照してください。

更新ポリシー: この設定は、更新中に変更できます。

注記

CustomSlurmSettings は AWS ParallelCluster バージョン 3.6.0 からサポートされています。

CustomSlurmSettingsIncludeFile (オプションString)

クラスター全体に適用されるカスタム Slurm 設定を定義します。

AWS ParallelCluster が生成する slurm.conf ファイルの末尾に追加するカスタム Slurm 設定パラメータで構成されるカスタム Slurm ファイルを指定します。

ファイルへのパスを含める必要があります。パスは https:// または s3:// で始まる必要があります。

CustomSlurmSettingsIncludeFile のカスタム Slurm 設定パラメータを指定する場合、CustomSlurmSettings のカスタム Slurm 設定パラメータは指定できません。

注記

カスタム Slurm ノードの名前には、-st- または -dy- のパターンを含めないでください。これらのパターンは AWS ParallelClusterが管理するノードのために予約されています。

CustomSlurmSettingsIncludeFile の拒否リストに記載されていない Slurm 設定パラメータのみ指定できます。拒否リストの Slurm 設定パラメータの詳細については、「CustomSlurmSettings で拒否リストに記載されている Slurm 設定パラメータ」を参照してください。

AWS ParallelCluster は、パラメータが拒否リストに含まれているかどうかのみをチェックします。 AWS ParallelCluster はカスタムSlurm設定パラメータの構文またはセマンティクスを検証しません。カスタム Slurm 設定パラメータはお客様の責任で検証していただく必要があります。無効なカスタム Slurm 設定パラメータは、クラスターの作成や更新の失敗につながる Slurm デーモンの障害を引き起こす可能性があります。

でカスタムSlurm設定パラメータを指定する方法の詳細については、 AWS ParallelCluster「」を参照してくださいSlurm 設定のカスタマイズ

Slurm 設定パラメータに関する詳細については、「Slurm ドキュメント」の「slurm.conf」を参照してください。

更新ポリシー: この設定は、更新中に変更できます。

注記

CustomSlurmSettings は AWS ParallelCluster バージョン 3.6.0 からサポートされています。

Database

(オプション) クラスターの Slurm アカウンティングを有効にする設定を定義します。詳細については、「Slurm による アカウンティング AWS ParallelCluster」を参照してください。

Database: Uri: string UserName: string PasswordSecretArn: string

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

Database のプロパティ

Uri (必須)String)

Slurm アカウンティングのバックエンドとして使用されるデータベースサーバーのアドレス。この URI は host:port の形式である必要があり、mysql:// などのスキームを含めないでください。ホストは IP アドレス、またはヘッドノードにより解決される DNS 名のいずれかです。ポートが指定されていない場合は、 AWS ParallelCluster は MySQL のデフォルトのポート 3306 を使用します。

AWS ParallelCluster は、アSlurmカウンティングデータベースをクラスターにブートストラップし、データベースにアクセスする必要があります。

データベースは、次が発生する前にアクセスできる必要があります。

  • クラスターが作成される。

  • クラスターの更新により Slurm アカウンティングが有効になる。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

UserName (必須)String)

データベースへの接続、アカウンティングログの書き込み、およびクエリの実行に Slurm が使用する ID。ユーザーは、データベースに対する読み込みと書き込みの両方のアクセス許可を持っている必要があります。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

PasswordSecretArn (必須)String)

プレーンテキストのパスワードを含む AWS Secrets Manager シークレットの Amazon UserName リソースネーム (ARN)。このパスワードは、データベースサーバーでの認証のために UserName および Slurm アカウンティングと共に使用されます。

注記

AWS Secrets Manager コンソールを使用してシークレットを作成する場合は、「その他のタイプのシークレット」を選択し、プレーンテキストを選択し、パスワードテキストのみをシークレットに含めます。

AWS Secrets Manager を使用してシークレットを作成する方法の詳細については、「 シーAWS Secrets Manager クレットの作成」を参照してください。

ユーザーが に対するアクセス許可を持っている場合DescribeSecretPasswordSecretArnは検証されます。 PasswordSecretArnは、指定されたシークレットが存在する場合に有効です。ユーザーの IAM ポリシーに DescribeSecret が含まれていない場合、PasswordSecretArn は検証されず、警告メッセージが表示されます。詳細については、「AWS ParallelCluster pcluster 基本ユーザーポリシー」を参照してください。

PasswordSecretArn を更新するとき、コンピューティングフリートを停止する必要があります。シークレットの値が変更され、シークレット ARN が変更されていない場合、自動的に新しいデータベースパスワードでクラスターが更新されることはありません。クラスターを新しいシークレット値に更新するには、コンピューティングフリートを停止した後、ヘッドノードから次のコマンドを実行します。

$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
警告

アカウンティングデータの損失を回避するため、コンピューティングフリートが停止している場合にのみデータベースパスワードを変更することをお勧めします。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

DatabaseName (オプションString)

Slurm 会計に使用するデータベースサーバー上のデータベースの名前 (Uri パラメータで定義)。

データベースの名前には、小文字、数字、アンダースコアを含めることができます。名前は 64 文字以下にする必要があります。

このパラメータは、slurmdbd.conf の StorageLocパラメータにマッピングされます。

が指定されていない場合、 DatabaseNameはクラスターの名前 ParallelCluster を使用して の値を定義しますStorageLoc

の更新DatabaseNameは許可されますが、以下の考慮事項があります。

  • という名前のデータベース DatabaseName がデータベースサーバーにまだ存在しない場合、slurmdbd によって作成されます。必要に応じて新しいデータベースを再設定する (例えば、クラスター、アカウント、ユーザー、関連付け、QOSsのはお客様の責任となります。

  • という名前のデータベースがデータベースサーバーに DatabaseName すでに存在する場合、slurmdbd はそれを Slurm の会計機能に使用します。

更新ポリシー: この設定を更新で変更するためには、コンピューティングフリートを停止する必要があります。

注記

リリース 3.3.0 以降、Database が追加されます。

Dns

(オプション) クラスター全体に適用される Slurm の設定を定義します。

Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean

Dns プロパティ

DisableManagedDns (オプションBoolean)

true の場合、クラスターの DNS エントリは作成されず、Slurm ノード名は解決できません。

デフォルトでは、 は起動時にノードが登録される Route 53 ホストゾーン AWS ParallelCluster を作成します。デフォルト値は、falseです。DisableManagedDns が に設定されている場合true、ホストゾーンは によって作成されません AWS ParallelCluster。

この設定を使用してインターネットにアクセスできないサブネットにクラスターをデプロイする方法については、「インターネットアクセスのない 1 つのサブネット内の AWS ParallelCluster」を参照してください。

警告

クラスターが正常に動作するためには、名前解決システムが必要です。DisableManagedDnstrue に設定した場合、名前解決システムを指定する必要があります。EC2 のデフォルト DNS を使用するには、UseEc2Hostnamestrue に設定します。または、独自の DNS リゾルバーを設定し、インスタンスの起動時に確実にノード名が登録されるようにしてください。例えば、CustomActions/OnNodeStart を設定することにより、これを行うことができます。

更新ポリシー: この設定が変更された場合、更新は許可されません。

HostedZoneId (オプションString)

クラスターの DNS 名前解決に使用するカスタム Route 53 ホストゾーン ID を定義します。指定すると、指定されたホストゾーンにクラスターノード AWS ParallelCluster を登録し、マネージドホストゾーンは作成しません。

更新ポリシー: この設定が変更された場合、更新は許可されません。

UseEc2Hostnames (オプションBoolean)

true の場合、クラスターコンピューティングノードはデフォルトの EC2 ホスト名を使用して設定されます。Slurm NodeHostName もこの情報で更新されます。デフォルトは false です。

この設定を使用してインターネットにアクセスできないサブネットにクラスターをデプロイする方法については、「インターネットアクセスのない 1 つのサブネット内の AWS ParallelCluster」を参照してください。

注記

この注記は、 AWS ParallelCluster バージョン 3.3.0 以降は関係ありません。

3.3.0 より前の AWS ParallelCluster サポートされているバージョンの場合:

UseEc2Hostnames が に設定されている場合true、Slurm 設定ファイルは および epilogスクリプトで AWS ParallelCluster prolog設定されます。

  • prolog が実行されると、各ジョブが割り当てられるときにコンピューティングノードの /etc/hosts にノード情報が追加されます。

  • epilog が実行されると、prolog によって書き込まれた内容がクリーンアップされます。

カスタム prolog または epilog スクリプトを追加するには、/opt/slurm/etc/pcluster/prolog.d/ または /opt/slurm/etc/pcluster/epilog.d/ フォルダにそれぞれ追加します。

更新ポリシー: この設定が変更された場合、更新は許可されません。