

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

# PCS でのカスタム Slurm AWS 設定の設定
<a name="slurm-custom-settings"></a>

カスタム Slurm 設定を使用して、クラスター、キュー、コンピューティングノードグループのリソース全体で追加の Slurm パラメータを設定します。このリリースでは、キューリソースでの Slurm 設定のサポートが追加され、パーティション固有の動作をきめ細かく制御できるようになりました。

## カスタム Slurm 設定の利点
<a name="custom-settings-benefits"></a>

カスタム Slurm 設定では、PCS AWS ベースの HPC 環境を詳細に制御できます。quality-of-service設定とプリエンプションポリシーを使用して、詳細なアカウンティングを実装し、アクセスコントロールを適用し、ワークロードの実行を最適化できます。これらの機能により、重要なジョブは効率的なクラスター使用率を維持しながら、必要なリソースを受け取ることができます。GPU アクセラレーションワークロードの管理、公平配分スケジューリングの実装、ジョブのライフサイクルの制御のいずれであっても、カスタム設定は HPC インフラストラクチャを運用要件と研究目標に合わせるのに役立ちます。

## カスタム設定の構成
<a name="custom-settings-configuration"></a>

カスタム Slurm 設定は、リソースの作成時に AWS コンソール、CLI、または SDKs を介して設定することも、更新オペレーションを通じて後で変更することもできます。

------
#### [ AWS マネジメントコンソール ]

任意のリソースタイプ (クラスター、キュー、またはコンピューティングノードグループ) の作成または編集ページの**追加のスケジューラ設定**に移動します。

**新しい設定を追加するには**

1. **新しい設定の追加** を選択します。

1. ドロップダウンから**パラメータ**名を選択します (簡単なパラメータの説明が含まれます）。

1. 対応する値を指定します。

**カスタム設定の設定を解除するには**

1. 関連するパラメータと値のペアの横にある**削除**を選択します。

1. リソースを作成または更新します。

------
#### [ AWS CLI ]

カスタム設定をプログラムで管理するには、作成または更新オペレーションで `SlurmCustomSettings`フィールドを使用します。

**Example – クラスターの `Prolog`パラメータの更新**  

```
aws pcs update-cluster --cluster-identifier my-cluster \
--slurm-configuration \
'SlurmCustomSettings=[{parameterName=Prolog,parameterValue="/path/to/prolog.sh"}]'
```

**Example – クラスター`Default`の にキューを設定する**  

```
aws pcs update-queue \
    --cluster-identifier my-cluster \
    --queue-identifier my-queue \
    --slurm-configuration 'SlurmCustomSettings=[{parameterName=Default,parameterValue=YES}]'
```

**Example – コンピューティングノードグループ`Features`でのカスタム設定**  

```
aws pcs update-compute-node-group \
    --cluster-identifier my-cluster \
    --compute-node-group-identifier my-cng-1 \
    --slurm-configuration \
    'SlurmCustomSettings=[{parameterName=Features,parameterValue="gpu,nvme"}]'
```

------

## 検証とエラー処理
<a name="custom-settings-validation"></a>

AWS PCS は、カスタム Slurm 設定の多層検証プロセスを実装します。作成オペレーションと更新オペレーションの両方で、以下を含む同期検証を実行します。
+ フィールドレベルのチェック: 正しいデータ型、許容値、形式要件について個々の設定を検証します。たとえば、時間値が正しい Slurm 形式であることを確認し、ブール値は受け入れられた Slurm ブール表現を使用します。
+ コンテキスト対応の検証: 一部の設定は、より広範な設定コンテキストに対してチェックされます。たとえば、特定のパラメータは Slurm アカウンティングが有効になっている場合にのみ有効です。
+ 設定間の整合性: 相互に排他的なオプションが一緒に設定されておらず、相互依存する設定が正しく設定されていることを確認します。

検証が失敗すると、特定のエラーコード (InvalidInput など）、問題を説明する明確なエラーメッセージ、無効なフィールドのリスト、およびそれぞれのエラーの詳細`ValidationException`を含む が表示されます。

この初回検証中に多くの問題が発見されますが、設定間の複雑なやり取りは、設定を適用するときにのみ明らかになる場合があります。このような場合、オペレーションは失敗し、有益なエラーメッセージが表示され、部分的な変更はロールバックされます。

## 制限事項
<a name="custom-settings-limitations"></a>

AWS PCS は、サービスのセキュリティと運用の安定性を保護するための許可リストアプローチを実装しています。サービスアカウントのセキュリティを侵害したり、マネージドサービス機能を妨害したりする可能性のある設定は制限されます。ただし、お客様のニーズを継続的に評価し、お客様からのフィードバックに基づいて追加の設定のサポートを追加できます。

**Topics**
+ [カスタム Slurm 設定の利点](#custom-settings-benefits)
+ [カスタム設定の構成](#custom-settings-configuration)
+ [検証とエラー処理](#custom-settings-validation)
+ [制限事項](#custom-settings-limitations)
+ [PCS クラスターのカスタム Slurm AWS 設定](slurm-custom-settings-cluster.md)
+ [PCS コンピューティングノードグループのカスタム Slurm AWS 設定](slurm-custom-settings-cng.md)
+ [PCS キューのカスタム Slurm AWS 設定](slurm-custom-settings-queue.md)
+ [PCS でのカスタム Slurm AWS 設定のトラブルシューティング](slurm-custom-settings-troubleshooting.md)

# PCS クラスターのカスタム Slurm AWS 設定
<a name="slurm-custom-settings-cluster"></a>

クラスターレベルでは、次のカスタム Slurm 設定がサポートされています。
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageEnforce](https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageEnforce)
**重要**  
AWS PCS は、 のオプションの一部をサポートしています`AccountingStorageEnforce`。詳細については、「[PCS での Slurm AWS アカウンティング](slurm-accounting.md)」を参照してください。
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageTRES](https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStorageTRES)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStoreFlags](https://slurm.schedmd.com/slurm.conf.html#OPT_AccountingStoreFlags)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_DefMemPerCPU](https://slurm.schedmd.com/slurm.conf.html#OPT_DefMemPerCPU)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1](https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_EnforcePartLimits](https://slurm.schedmd.com/slurm.conf.html#OPT_EnforcePartLimits)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_FairShareDampeningFactor](https://slurm.schedmd.com/slurm.conf.html#OPT_FairShareDampeningFactor)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckInterval](https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckInterval)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckNodeState](https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckNodeState)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckProgram](https://slurm.schedmd.com/slurm.conf.html#OPT_HealthCheckProgram)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_JobRequeue](https://slurm.schedmd.com/slurm.conf.html#OPT_JobRequeue)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_LaunchParameters](https://slurm.schedmd.com/slurm.conf.html#OPT_LaunchParameters)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Licenses](https://slurm.schedmd.com/slurm.conf.html#OPT_Licenses)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_MinJobAge](https://slurm.schedmd.com/slurm.conf.html#OPT_MinJobAge)
**注記**  
AWS PCS は、 の最小値 5 秒をサポートします`MinJobAge`。
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_OverTimeLimit](https://slurm.schedmd.com/slurm.conf.html#OPT_OverTimeLimit)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptExemptTime](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptExemptTime)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptMode](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptMode)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptParameters](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptParameters)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptType](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptType)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityCalcPeriod](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityCalcPeriod)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityDecayHalfLife](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityDecayHalfLife)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityFavorSmall](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityFavorSmall)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityFlags](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityFlags)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityMaxAge](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityMaxAge)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityUsageResetPeriod](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityUsageResetPeriod)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightAge](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightAge)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightAssoc](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightAssoc)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightFairshare](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightFairshare)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightJobSize](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightJobSize)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightPartition](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightPartition)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightQOS](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightQOS)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightTRES](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityWeightTRES)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PrivateData](https://slurm.schedmd.com/slurm.conf.html#OPT_PrivateData)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1](https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PrologFlags](https://slurm.schedmd.com/slurm.conf.html#OPT_PrologFlags)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PropagatePrioProcess](https://slurm.schedmd.com/slurm.conf.html#OPT_PropagatePrioProcess)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PropagateResourceLimits](https://slurm.schedmd.com/slurm.conf.html#OPT_PropagateResourceLimits)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PropagateResourceLimitsExcept](https://slurm.schedmd.com/slurm.conf.html#OPT_PropagateResourceLimitsExcept)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_RequeueExit](https://slurm.schedmd.com/slurm.conf.html#OPT_RequeueExit)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_RequeueExitHold](https://slurm.schedmd.com/slurm.conf.html#OPT_RequeueExitHold)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_SchedulerParameters](https://slurm.schedmd.com/slurm.conf.html#OPT_SchedulerParameters)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters](https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_SrunPortRange](https://slurm.schedmd.com/slurm.conf.html#OPT_SrunPortRange)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TaskEpilog](https://slurm.schedmd.com/slurm.conf.html#OPT_TaskEpilog)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TaskPluginParam](https://slurm.schedmd.com/slurm.conf.html#OPT_TaskPluginParam)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TaskProlog](https://slurm.schedmd.com/slurm.conf.html#OPT_TaskProlog)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_UnkillableStepProgram](https://slurm.schedmd.com/slurm.conf.html#OPT_UnkillableStepProgram)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_UnkillableStepTimeout](https://slurm.schedmd.com/slurm.conf.html#OPT_UnkillableStepTimeout)

# PCS コンピューティングノードグループのカスタム Slurm AWS 設定
<a name="slurm-custom-settings-cng"></a>

コンピューティングノードグループレベルでは、次のカスタム Slurm 設定がサポートされています。
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_CpuSpecList](https://slurm.schedmd.com/slurm.conf.html#OPT_CpuSpecList)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Features](https://slurm.schedmd.com/slurm.conf.html#OPT_Features)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_MemSpecLimit](https://slurm.schedmd.com/slurm.conf.html#OPT_MemSpecLimit)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_RealMemory](https://slurm.schedmd.com/slurm.conf.html#OPT_RealMemory)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Weight](https://slurm.schedmd.com/slurm.conf.html#OPT_Weight)

# PCS キューのカスタム Slurm AWS 設定
<a name="slurm-custom-settings-queue"></a>

キューレベルでは、次のカスタム Slurm 設定がサポートされています。
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AllowAccounts](https://slurm.schedmd.com/slurm.conf.html#OPT_AllowAccounts)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_AllowQoS](https://slurm.schedmd.com/slurm.conf.html#OPT_AllowQoS)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_Default](https://slurm.schedmd.com/slurm.conf.html#OPT_Default)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_DefaultTime](https://slurm.schedmd.com/slurm.conf.html#OPT_DefaultTime)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_DenyAccounts](https://slurm.schedmd.com/slurm.conf.html#OPT_DenyAccounts)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_DenyQoS](https://slurm.schedmd.com/slurm.conf.html#OPT_DenyQoS)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_ExclusiveUser](https://slurm.schedmd.com/slurm.conf.html#OPT_ExclusiveUser)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_GraceTime](https://slurm.schedmd.com/slurm.conf.html#OPT_GraceTime)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_MaxTime](https://slurm.schedmd.com/slurm.conf.html#OPT_MaxTime)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_OverSubscribe](https://slurm.schedmd.com/slurm.conf.html#OPT_OverSubscribe)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_OverTimeLimit](https://slurm.schedmd.com/slurm.conf.html#OPT_OverTimeLimit)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptMode](https://slurm.schedmd.com/slurm.conf.html#OPT_PreemptMode)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityJobFactor](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityJobFactor)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityTier](https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityTier)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_QOS](https://slurm.schedmd.com/slurm.conf.html#OPT_QOS)
+ [https://slurm.schedmd.com/slurm.conf.html#OPT_TRESBillingWeights](https://slurm.schedmd.com/slurm.conf.html#OPT_TRESBillingWeights)

# PCS でのカスタム Slurm AWS 設定のトラブルシューティング
<a name="slurm-custom-settings-troubleshooting"></a>

Slurm カスタム設定で AWS PCS リソースを作成または更新するときにエラーが発生した場合は、ログ記録を使用して問題を診断して解決できます。

## 互換性のない Slurm カスタム設定のトラブルシューティング
<a name="slurm-custom-settings-incompatible-error"></a>

**問題:** クラスター、コンピューティングノードグループ、またはキューオペレーションを実行すると、次のようなエラーメッセージが表示されます。

```
{OPERATION} failed. The Slurm custom settings of the cluster might be incompatible. Check the settings and try again.
```

このエラーは、次のオペレーションで発生する可能性があります。
+ CreateCluster
+ CreateComputeNodeGroup
+ UpdateComputeNodeGroup
+ CreateQueue
+ UpdateQueue

**解決策:** ログ記録を有効にして特定の問題を理解し、互換性のない設定のトラブルシューティングを行います。

**互換性のない Slurm カスタム設定をトラブルシューティングするには**

1. クラスターがまだ存在しない場合は作成するか、既存のクラスターがログ記録を有効にできる状態であることを確認します。

1. クラスターのログ記録を有効にします。詳細な手順については、「[PCS AWS のログ記録とモニタリング](monitoring-overview.md)」を参照してください。
**注記**  
ログ記録は、クラスターの作成時に有効にできます。

1. ログを確認して、非互換性の原因となっている特定の Slurm 設定の問題を特定します。

1. ログ情報に基づいて互換性のないカスタム設定を修正し、オペレーションを再試行します。

サポートされている Slurm カスタム設定の詳細については、以下を参照してください。
+ [PCS クラスターのカスタム Slurm AWS 設定](slurm-custom-settings-cluster.md)
+ [PCS コンピューティングノードグループのカスタム Slurm AWS 設定](slurm-custom-settings-cng.md)
+ [PCS キューのカスタム Slurm AWS 設定](slurm-custom-settings-queue.md)