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 ExternalSlurmdbd: boolean Host: string Port: integer 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 プログラムの実行を再開します。また、デフォルトで 1000 インスタンスである実行あたりのデフォルトの RunInstances リソースアカウント制限をはるかに超えてスケールすることはできません。詳細については、Amazon EC2 API スロットリングドキュメントを参照してください。

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

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

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

AwsBatchQueues

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

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)

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

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

SpotBidPercentage (オプションFloat)

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

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

SlurmQueues

(オプション) の設定 Slurm queue. このセクションは、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 queue.

注記

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

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

CapacityReservationTarget
注記

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

CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

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

CapacityReservationId (オプションString)

キューのコンピューティングリソースを対象とする既存のキャパシティ予約の ID。ID は、ML の ODCRまたはキャパシティブロックを参照できます。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html

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

注記

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

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

CapacityReservationResourceGroupArn (オプションString)

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

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

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

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

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

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

注記

AWS ParallelCluster バージョン 3.4.0 に複数のアベイラビリティーゾーンが追加されました。

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

CapacityType (オプションString)

が使用するコンピューティングリソースのタイプ Slurm キューは を使用します。サポートされている値はONDEMAND、、SPOTまたは ですCAPACITY_BLOCK。デフォルト値は 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 | price-capacity-optimized

デフォルト: lowest-price

lowest-price
  • を使用する場合CapacityType = ONDEMAND、Amazon Fleet EC2 は料金を使用して注文を決定し、最も低価格のインスタンスを最初に起動します。

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

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

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

  • を設定するとCapacityType = SPOT、Amazon EC2Fleet は起動するインスタンスの数に最適な容量を持つインスタンスをスポットインスタンスプールから起動します。

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

  • を設定するとCapacityType = SPOT、Amazon Fleet EC2 は起動するインスタンスの数に対してキャパシティーの可用性が最も高いプールを識別します。つまり、短期的に中断の可能性が最も低いと思われるプールからスポットインスタンスをリクエストすることになります。その後、Amazon EC2 Fleet は、これらのプールの最低料金からスポットインスタンスをリクエストします。

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

注記

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

JobExclusiveAllocation (オプションString)

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

有効な値: true | false

デフォルト: false

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

注記

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

CustomSlurmSettings (オプションDict)

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

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

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

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

AWS ParallelCluster は、パラメータが拒否リストにあるかどうかのみをチェックします。 AWS ParallelCluster はカスタムを検証しません Slurm 設定パラメータの構文またはセマンティクス。カスタムを検証する責任はユーザーにあります Slurm 設定パラメータ。無効なカスタム Slurm 設定パラメータは、Slurm クラスターの作成と更新の失敗につながる可能性のあるデーモンの失敗。

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

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

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

注記

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

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

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

Key (オプションString)

タグキー。

Value (オプションString)

タグ値。

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

HealthChecks (オプション

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

Gpu (オプション

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

注記

AWS ParallelCluster は、alinux2ARMオペレーティングシステムを使用するノードGpuHealthChecks / をサポートしていません。これらのプラットフォームは NVIDIA Data Center GPU Manager (DCGM) をサポートしていません。

Enabled (オプションBoolean)

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

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

  • Gpu ヘルスチェックは、コンピューティングリソースのGPUヘルスチェックを実行して、 が劣化したノードへのジョブの送信を防ぎますGPU。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注記

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

Networking

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

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

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

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

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

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 リージョンでのデータ転送」を参照してください。

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

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

で定義されているアベイラビリティーゾーンとクラスターキャパシティーの予約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 つのバージョンの場合:

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

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

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

AssignPublicIp (オプションString)

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

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

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

SecurityGroups (オプション[String])

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

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

警告

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

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

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

警告

コンピューティングインスタンスで Efa を有効にする場合は、EFA有効なインスタンスが、それ自体へのすべてのインバウンドトラフィックとアウトバウンドトラフィックを許可するセキュリティグループのメンバーであることを確認します。

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

AdditionalSecurityGroups (オプション[String])

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

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

PlacementGroup (オプション

のプレイスメントグループ設定を指定します。Slurm queue.

PlacementGroup: Enabled: boolean Id: string Name: string

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

Enabled (オプションBoolean)

プレイスメントグループが に使用されるかどうかを示します。Slurm queue. デフォルト: false

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

Id (オプションString)

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

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

Name (オプションString)

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

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

注記
Proxy (オプション

のプロキシ設定を指定します。Slurm queue.

Proxy: HttpProxyAddress: string

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

HttpProxyAddress (オプションString)

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

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

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

Image

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

Image: CustomAmi: string

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

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

AMI に使用する Slurm デフォルトの の代わりにキュー。 AMIsを使用できます。pcluster CLI デフォルトの のリストを表示するコマンドAMIs。

注記

は、ヘッドノードで使用されるのと同じオペレーティングシステムに基づいて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

(必須) ComputeResourcesの設定を定義します。Slurm queue.

注記

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

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

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

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、または DisableSimultaneousMultithreadingが に設定されている場合はtrue同じ数のコア。

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

  • EFA は、 / Efa が にEnabled設定されている場合、 をサポートしていますtrue

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

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

    この場合、最小メモリはコンシューマブルとして設定されます。Slurm リソース。

    注記

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

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

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

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

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

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

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

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

注記

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値を持つノードを最初に優先します。

警告

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

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

注記

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

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

StaticNodePriority (オプションInteger)

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

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

警告

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

注記

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

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

SpotPrice (オプションFloat)

インスタンスの起動前に Amazon EC2 スポットインスタンスに対して支払った最大料金。デフォルトの値はオンデマンドの料金です。

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

DisableSimultaneousMultithreading (オプションBoolean)

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

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

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

SchedulableMemory (オプションInteger)

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

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

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

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

注記

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

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

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

HealthChecks (オプション

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

Gpu (オプション

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

Enabled (オプションBoolean)

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

注記

AWS ParallelCluster は、alinux2ARMオペレーティングシステムを使用するノードGpuHealthChecks / をサポートしていません。これらのプラットフォームは NVIDIA Data Center GPU Manager (DCGM) をサポートしていません。

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

  • Gpu ヘルスチェックは、コンピューティングリソースでヘルスチェックを実行して、 が劣化したノードでジョブが送信されないようにしますGPU。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注記

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

Efa (オプション

のノードの Elastic Fabric Adapter (EFA) 設定を指定します。Slurm queue.

Efa: Enabled: boolean GdrSupport: boolean

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

Enabled (オプションBoolean)

Elastic Fabric Adapter (EFA) を有効にすることを指定します。をサポートする Amazon EC2インスタンスのリストを表示するにはEFA、「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 より、この設定は無効となりました。(GPUDirectRDMAリモート直接メモリアクセスEFA) の Elastic Fabric Adapter () のサポートは、 のインスタンスタイプでサポートされている場合、常に有効になります。Slurm コンピューティングリソースとオペレーティングシステム。

注記

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

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

CapacityReservationTarget
CapacityReservationTarget: CapacityReservationId: string CapacityReservationResourceGroupArn: string

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

CapacityReservationId (オプションString)

キューのコンピューティングリソースを対象とする既存のキャパシティ予約の ID。ID は、ML の ODCRまたはキャパシティブロックを参照できます。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html

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

CapacityReservationResourceGroupArn (オプションString)

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

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

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

  • / Networkingまたは SlurmQueues / SlurmQueues / ComputeResources で が有効になっていPlacementGroupない場合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 / Networking / PlacementGroupが AWS ParallelCluster バージョン 3.3.0 に追加されました。

CustomSlurmSettings (オプションDict)

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

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

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

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

AWS ParallelCluster は、パラメータが拒否リストにあるかどうかのみをチェックします。 AWS ParallelCluster はカスタムを検証しません Slurm 設定パラメータの構文またはセマンティクス。カスタムを検証する責任はユーザーにあります Slurm 設定パラメータ。無効なカスタム Slurm 設定パラメータは、Slurm クラスターの作成と更新の失敗につながる可能性のあるデーモンの失敗。

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

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

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

注記

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

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

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

Key (オプションString)

タグキー。

Value (オプションString)

タグ値。

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

ComputeSettings

(必須) ComputeSettingsの設定を定義します。Slurm queue.

ComputeSettings のプロパティ

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

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

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

LocalStorage (オプション

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

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

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

RootVolume (オプション

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

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

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

Size (オプションInteger)

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

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

Encrypted (オプションBoolean)

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

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

VolumeType (オプションString)

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

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

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

Iops (オプションBoolean)

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

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

VolumeType = io1

デフォルト Iops = 100

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

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

VolumeType = io2

デフォルト Iops = 100

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

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

VolumeType = gp3

デフォルト Iops = 3000

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

最大IopsSize比 = 3000 IOPSを超えるボリュームの場合、GiB IOPSあたり 500。

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

EphemeralVolume: MountDir: string

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

MountDir (オプションString)

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

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

CustomActions

(オプション) のノードで実行するカスタムスクリプトを指定します。Slurm queue.

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に対して 1 つのスクリプトと の両方を含めることをサポートしていません。詳細については、「カスタムブートストラップアクション」を参照してください。

Sequence (オプション

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

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

Script (必須)String)

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

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

Args (オプション[String])

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

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

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

OnNodeConfigured (オプションString)

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

Sequence (オプション

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

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

Script (必須)String)

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

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

Args (オプション[String])

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

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

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

注記

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

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

Iam

(オプション) のオプションIAMの設定を定義します。Slurm queue.

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

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

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

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

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

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

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

InstanceRole (オプションString)

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

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

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

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

S3Access (オプション

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

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

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

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

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

BucketName (必須)String)

バケットの名前。

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

KeyName (オプションString)

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

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

EnableWriteAccess (オプションBoolean)

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

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

AdditionalIamPolicies (オプション

Amazon のIAMポリシーの Amazon リソースネーム (ARNs) EC2 のリストを指定します。このリストは、 に使用されるルートロールにアタッチされます。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 ExternalSlurmdbd: Host: string Port: integer Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean

SlurmSettings プロパティ

ScaledownIdletime (オプションInteger)

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

デフォルト値は 10 です。

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

MungeKeySecretArn (オプションString)

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

注記

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

警告

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

AWS ParallelCluster ユーザーにその特定のシークレットリソース DescribeSecretに対する に対するアクセス許可がある場合、 MungeKeySecretArn は検証されます。 MungeKeySecretArn は、次の場合に有効です。

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

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

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

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

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

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

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

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

base64 でエンコードされたカスタム munge キーを生成するには、munge ソフトウェアで分散された mungekey ユーティリティを使用し、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")

更新ポリシー: NEW UPDATE POLICY WITH COMPUTE FLEET AND LOGIN NODES STOPPED (誤って 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 クラスター全体に適用される設定。

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

リスト内の各ディクショナリは、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が管理するノードのために予約されています。

カスタムを指定する場合 Slurm の設定パラメータCustomSlurmSettings。カスタムを指定しないでください Slurm の設定パラメータCustomSlurmSettingsIncludeFile

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

AWS ParallelCluster は、パラメータが拒否リストにあるかどうかのみをチェックします。 AWS ParallelCluster はカスタムを検証しません Slurm 設定パラメータの構文またはセマンティクス。カスタムを検証する責任はユーザーにあります。Slurm 設定パラメータ。無効なカスタム Slurm 設定パラメータは Slurm クラスターの作成と更新の失敗につながる可能性のあるデーモンの失敗。

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

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

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

注記

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

CustomSlurmSettingsIncludeFile (オプションString)

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

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

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

カスタムを指定する場合 Slurm の設定パラメータCustomSlurmSettingsIncludeFile。カスタムを指定しないでください Slurm の設定パラメータCustomSlurmSettings

注記

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

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

AWS ParallelCluster は、パラメータが拒否リストにあるかどうかのみをチェックします。 AWS ParallelCluster はカスタムを検証しません Slurm 設定パラメータの構文またはセマンティクス。カスタムを検証する責任はユーザーにあります。Slurm 設定パラメータ。無効なカスタム Slurm 設定パラメータは Slurm クラスターの作成と更新の失敗につながる可能性のあるデーモンの失敗。

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

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

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

注記

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

Database

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

Database: Uri: string UserName: string PasswordSecretArn: string

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

Database のプロパティ

Uri (必須)String)

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

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

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

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

  • Slurm アカウンティングは、クラスターの更新で有効になります。

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

UserName (必須)String)

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

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

PasswordSecretArn (必須)String)

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

注記

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

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

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

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

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

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

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

DatabaseName (オプションString)

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

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

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

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

の更新DatabaseNameは許可されますが、以下の点を考慮してください。

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

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

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

注記

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

ExternalSlurmdbd

(オプション) 有効にする設定を定義します。Slurm 外部 slurmdbd サーバーを使用したアカウンティング。詳細については、「」を参照してくださいSlurm による のアカウンティング AWS ParallelCluster

ExternalSlurmdbd: Host: string Port: integer

ExternalSlurmdbd のプロパティ

Host (必須 String

の外部 slurmdbd サーバーへのアドレス Slurm アカウント。ホストは、IP アドレスまたはヘッドノードによって解決可能なDNS名前のいずれかです。

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

Port (オプション Integer

slurmdbd サービスがリッスンするポート。デフォルト値は 6819 です。

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

Dns

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

Dns: DisableManagedDns: boolean HostedZoneId: string UseEc2Hostnames: boolean

Dns のプロパティ

DisableManagedDns (オプションBoolean)

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

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

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

警告

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

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

HostedZoneId (オプションString)

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

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

UseEc2Hostnames (オプションBoolean)

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

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

注記

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

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

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

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

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

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

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