ポリシー構成について
ポリシー構成設定は、キューに登録されたジョブまたは実行中のジョブにリソースを割り当てる方法を制御します。 スケジュール モード を使用すると、大規模なバッチおよび MPI ワークロードまたはサービス ワークロードに対するリソース割り当てを最適化できます。 構成オプションを変更する方法については、「HPC ジョブ スケジューラ サービスの構成」を参照してください。
次の表は、2 つのスケジュール モードとその既定の構成をまとめたものです。
キュー | バランス | |
---|---|---|
説明 | キューの順序でジョブを開始し、要求された最大リソースを実行中のジョブに割り当てようとします。 - 優先順位の高いジョブをできるだけ早く完了する - ジョブに要求されたリソースの最大数を与えようとする - ジョブの実行時間を最小限に抑える - 優先順位の低いジョブのジョブ キューの待機時間が長い - 使用可能なリソースは、最初に実行中のジョブの最大リソース要求を満たすために使用され、次に新しいジョブを開始するために使用されます (アダプティブ リソースの割り当て (拡大/縮小) が有効になっている場合) |
最小リソース要件で、すべての受信ジョブをできるだけ早く開始しようとします。 追加のリソースが使用可能な場合は、優先順位に基づいてジョブを拡張します。 - すべての受信ジョブをできるだけ早く開始する - ジョブに最小限のリソースを与えることから始め、優先順位と要求されたリソースに基づいてバランスを取ることで、可能であればリソースを追加します - ジョブ キューの待機時間を最小限に抑える - ジョブの完了に時間がかかる - 実行中の優先度が高い場合でも、新しいジョブを開始するために、実行中のジョブからリソースを取得できます |
用に最適化された |
- 大規模な MPI ジョブとバッチ ジョブ - 実行時間の長いタスク - パラメトリック スイープ |
- サービス指向アーキテクチャ (SOA) ジョブやサービスの種類のアプリケーションなどの対話型ワークロード - 実行時間の短いタスク - パラメトリック スイープ |
その他の設定 |
-
プリエンプション 既定値: グレースフル プリエンプション アダプティブ リソースの割り当て (拡大/縮小) の 既定値: リソースの増減の両方が自動的に有効になります このトピック キュー モードの設定 を参照してください。 |
-
プリエンプション 既定値: 即時プリエンプション 注: プリエンプション設定は、HPC Pack 2012 Service Pack 1 (SP1) 以降のバランス モードでのみ構成できます。 以前のバージョンでは、バランス モードでは、プリエンプションは常にイミディエイトです。 - 優先度バイアス 既定値: 中バイアス - 再調整間隔の 既定値: 10 秒 このトピック バランスモードの設定を参照してください。 |
キュー モードの設定
キュー モードでは、HPC ジョブ スケジューラ サービスはキューの順序でジョブを開始し、要求された最大リソースを実行中のジョブに割り当てようとします。 次のセクションでは、キュー モードに関連付けられているプリエンプションとアダプティブ リソース割り当ての設定について説明します。
ジョブのプリエンプション
プリエンプションを使用すると、キューで待機している優先順位の高いジョブは、リソースを低い優先順位から離すことで、より早く開始 、既に実行されている ジョブが優先されます。 プリエンプション ポリシーで
手記
Preemptable ジョブ プロパティは、ジョブ テンプレートの管理者によって定義されます。 ジョブ テンプレートを使用して、割り込むことができるジョブの種類、または割り込み可能なジョブまたは準備不可能なジョブを送信できるユーザーのセットを定義します。 プリエンプテーブル は、HPC クラスター マネージャー、HPC ジョブ マネージャー、HPC PowerShell、または HPC コマンド ライン ツールを使用してジョブを送信するときに定義できません。 これは、選択したジョブ テンプレートで Preemptable ジョブ プロパティの有効な値として True と False の両方が指定されている場合にのみ、HPC API を使用して行うことができます。
キュー モードのプリエンプションには、次のオプションがあります。
グレースフル プリエンプション (既定): 処理が失われないように、割り込まれたジョブの実行中のタスクが完了した時点でリソースを取得します。
即時プリエンプション: 実行中のすべてのタスクを取り消して、リソースを優先度の高いジョブにすぐに割り当てることができるようにして、割り当てられたジョブからリソースを取得します。 ジョブとタスクの取り消しの詳細については、「ジョブまたはタスクを取り消す」の「
追加の考慮事項 」セクション参照してください。 タスク レベルのプリエンプション (HPC Pack 2008 R2 sp3 で導入): ジョブ全体ではなく、個々のタスクのプリエンプションを有効にします。 既定の即時プリエンプション設定では、優先度の高いジョブにリソースのいずれかが必要な場合、スケジューラはジョブ全体を取り消します。 タスク レベルのプリエンプションを有効にすると、スケジューラは個々のタスクを取り消します。 たとえば、標準優先度ジョブが 1 コアごとに 100 個のタスクを実行していて、10 コアを必要とする優先度の高いジョブが送信された場合、タスク レベルのプリエンプションでは、ジョブ全体を取り消すのではなく、10 個のタスクが取り消されます。 このオプションを使用すると、プリエンプションが原因で行う必要がある再作業の量を最小限に抑えることで、ジョブのスループットを向上させることができます。
手記
HPC Pack 2012 以降、キューに登録されたスケジュール モードでは、プリエンプション動作の既定のオプションは、ジョブ レベルのプリエンプションではなく、タスク レベルの即時プリエンプションです。 この既定の動作は、優先順位の低いジョブのすべてのタスクを割り込むのではなく、優先度の低いジョブのすべてのタスクを割り込むのではなく、優先度の低いジョブに必要なリソースを提供するために必要な数だけ割り込まれることを意味します。
手記
HPC Pack 2012 Service Pack 1 (SP1) 以降、サービス指向アーキテクチャ (SOA) ジョブは、計算する追加の要求がある場合でも、現在の要求が完了した後にタスクを終了します。 以前のバージョンの HPC Pack では、SOA ジョブは、すべての要求が計算された後にのみ、他のジョブのリソースを解放するタスクを終了します。
プリエンプションなし: ジョブをプリエンプションしないでください。
アダプティブ リソースの割り当て
アダプティブ リソース割り当てでは、ジョブに割り当てられたリソースがそのタスクに基づいて動的に調整されます。 リソース調整を有効にすると、クラスターの使用率が大幅に向上し、ジョブ キュー時間が短縮される可能性があります。特に、パラメトリック スイープ計算など、複数のタスクで構成されるジョブを実行するクラスターの場合は、ジョブ キュー時間が短縮されます。 リソースの自動調整を利用できるのは、複数のタスクまたはサブタスクを含むジョブだけです。
アダプティブ割り当てには、有効または無効にできる次の設定があります。
リソースを自動的に に増やす (既定で有効): 使用可能なリソースを使用して優先度を高め、ジョブを実行してから優先順位の低いジョブを開始します。 自動拡張を有効にすると、HPC ジョブ スケジューラ サービスは、実行するタスクが追加されている実行中のジョブに空きリソースを割り当てることができます。 サービスは、ジョブに対して要求された最大リソースを超えるリソースを割り当てません。 これにより、ジョブはリソースを待機しているキューに多くの時間を費やしますが、開始後にすばやく完了します。 使用可能なリソースは、システム内の最も優先度の高いジョブ (このジョブが実行中かキューに入っているかにかかわらず) に最初に割り当てられます。
- プリエンプション (HPC Pack 2008 R2 sp2 で導入): 実行中のジョブの優先度を最大限に高めるために、プリエンプションを使用してリソースを優先順位の低い実行中のジョブから解放します。 この設定を使用するには、プリエンプションを有効にする必要があります。
リソースを自動的に 減らす (既定で有効): 自動圧縮が有効になっている場合、HPC ジョブ スケジューラ サービスは、実行するタスクが追加されていないジョブの実行から未使用のリソースを解放できます。 サービスは、ジョブに対して要求された最小のリソースを圧縮しません。 自動圧縮を行うとクラスター全体の使用率が向上しますが、既に進行中のジョブにタスクを追加すると問題が発生する可能性があります。
手記
既定のジョブ テンプレートでは、[最大 の自動計算] と [ミニの自動計算
バランス モードの設定
バランス モードでは、HPC ジョブ スケジューラ サービスは、最小限のリソース要件で、すべての受信ジョブをできるだけ早く開始しようとします。 キュー内のすべてのジョブに最小リソースが割り当てられると、その優先順位に基づいて追加のクラスター リソースがジョブに割り当てられます。 リソースの割り当ては定期的に再調整され、アイドル 状態のリソースを埋め、新しいジョブを開始し、優先度バイアスの 設定に従って割り当てを調整します。 次のセクションでは、バランス モードに関連付けられている設定について説明します。
手記
- ノード グループが重複する状況では、バランスの取れたスケジュール設定が制限されます。 バランス モードは、重複しないノード グループでより効果的です。
- ジョブを 1 つのノード (HPC Pack 2012 以降で使用可能) で実行することを指定した場合、HPC ジョブ スケジューラ サービスによって実行される分散は、クラスターで実行されている他のジョブによって制限される可能性があります。
ジョブのプリエンプション
バランス モードのプリエンプションを使用すると、キューで待機しているジョブは、既に実行されているプリエンプティブ ジョブからリソースを取り除くことで、より早く開始できます。
大事な
バランス モードのプリエンプション設定は、HPC Pack 2012 Service Pack 1 (SP1) 以降の HPC 管理者のみが構成できます。 以前のバージョンの HPC Pack では、バランス モードでのプリエンプションは常にイミディエイトです。
手記
Preemptable ジョブ プロパティは、ジョブ テンプレートの管理者によって定義されます。 ジョブ テンプレートを使用して、割り込むことができるジョブの種類、または割り込み可能なジョブまたは準備不可能なジョブを送信できるユーザーのセットを定義します。 プリエンプテーブル は、HPC クラスター マネージャー、HPC ジョブ マネージャー、HPC PowerShell、または HPC コマンド ライン ツールを使用してジョブを送信するときに定義できません。 これは、選択したジョブ テンプレートで Preemptable ジョブ プロパティの有効な値として True と False の両方が指定されている場合にのみ、HPC API を使用して行うことができます。 (既定値は True です)。
バランス モードのプリエンプションには、次のオプションがあります。
即時プリエンプション (既定値): リソースを別のジョブにすぐに割り当てることができるように、十分な実行中のタスクを取り消して再キューすることで、割り当てられたジョブからリソースを取得します。 ほとんどのクラスター ワークロードでは、バランス モードでの即時プリエンプションにより、特定の期間内に開始するジョブが増えます。 そのため、ほとんどの場合、バランスの取れたスケジューリングを実現することをお勧めします。
グレースフル プリエンプション: 作業が失われないように、実行中のタスクが完了したら、割り込まれたジョブからリソースを取得します。 これは、特定のワークロードに対してのみ有効にする必要がある詳細設定です。 たとえば、実行時間の長いタスクで構成されるサービス指向アーキテクチャ (SOA) ジョブでバランス モードを使用する場合、各中間タスクで結果を再調整することが重要であると考えられます。
注意
バランス モードでのグレースフル プリエンプションでは、新しいジョブを開始するときの応答時間が遅くなり、分散速度が低下する可能性があります。 バランス モードでグレースフル プリエンプションが有効になっている場合は、クラスターを慎重にテストし、監視する必要があります。 詳細については、次の追加の考慮事項を参照してください。
バランス モードでのプリエンプションに関するその他の考慮事項
分散速度 バランス モードでは、既定で即時プリエンプションを使用して、ジョブのバランスをできるだけ早く試みます。 バランス モードでグレースフル プリエンプションを有効にすることを選択した場合、分散はタスクが終了する速度でのみ行うことができます。 クラスターで実行時間の長いタスクがある場合は、分散に時間がかかる場合があります。 受信ジョブのレートが終了タスクのレートを超えた場合、クラスターはリソースの再割り当てに十分なタスクが終了したときにのみバランスを取ります。
リソース使用率 バランス モードでは既定で、HPC ジョブ スケジューラ サービスはタスクをすぐに割り込み、待機中のジョブで必要なリソース (コア、ノード、ソケットなど) を解放します。 ただし、グレースフル プリエンプションが有効になっている場合、待機中のジョブのリソース要件に関係なく、タスクの終了時にリソースが解放されます。 解放されたリソースが次の待機ジョブで必要なリソースではなく、他のタスクが完了するまでリソースがアイドル状態のままになる可能性があります。
優先度バイアス
優先度バイアス は、追加のリソースをジョブに割り当てる方法を制御します。 バランス モードでは、"追加リソース" とは、実行中のすべてのジョブの最小リソースの合計を超えるクラスター リソースを指します。 新しいジョブに対応したり、目的の割り当てパターンに収束したりするために、追加のリソースで実行されているタスクを即時プリエンプションで取り消すことができます。
優先度バイアス には、次のオプションがあります。
高バイアス: 追加のリソースはすべて、優先度の高いジョブに割り当てられます。
中バイアス (既定): 各 優先度バンド には、その下のバンドよりも高い割合の追加リソースが与えられます。 優先度帯は、最も高い、
標準 の上、標準 、標準 の下、および最も低いされます。 バイアスなし: ジョブ キュー全体に追加のリソースが均等に割り当てられます。
再調整間隔
再調整間隔 は、再調整パス間の時間を秒単位で表します。 既定値は 10 秒です。
間隔が長いほどスケジューラのパフォーマンスが向上しますが、新しいジョブに応答して目的の割り当てパターンに収束するのに時間がかかる場合があります。 瞬時に増減する必要がない場合は、間隔を長くすることをお勧めします。 クラスターのターンアラウンド 率が高い場合 (ジョブは頻繁に送信され、迅速に完了します)、過度の増加や縮小を回避するために、より長い間隔が必要になる場合があります。
再調整間隔を短くすると、新しいジョブが送信されたときに、ヘッド ノードに追加の負荷がかかるときに、より高速な応答が得られます。 より高速な応答が必要な場合に調整できるその他の設定は、[タスクの猶予期間のキャンセル] と [タスクのタイムアウトの解放] です。これにより、実行中の作業が途中でプッシュされるまでに時間がかかる場合があります。
その他の参照
HPC ジョブ スケジューラ サービス の構成
Microsoft HPC Pack でのジョブ スケジューラの構成の
ジョブまたはタスク を取り消す