スケジューラーは、クラスター内のジョブのスケジュールに使用されます。 スケジューラーは、ジョブを分散し、ジョブの優先順位を計画し、vCPU、メモリ、ノードなどのコンピューティングノードリソースをオンデマンドで割り当てます。 ジョブサイズに基づいて使用されるノードリソースとジョブの完了時間を推定し、クラスターのスケジューラーパラメーターを設定してリソース使用率を向上させることができます。 このトピックでは、Elastic High Performance Computing(E-HPC)コンソールでスケジューラーパラメーターを設定する方法について説明します。
制限
クラスターのスケジューラーは、Slurm または PBS である必要があります。 E-HPC コンソールは、他のスケジューラーをサポートしていません。
手順
[スケジューラー] ページを開きます。
E-HPC コンソール にログオンします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションペインで、
を選択します。
[クラスター] ドロップダウンリストからクラスターを選択し、[スケジューラー] ドロップダウンリストからスケジューラーを選択します。
スケジューラー情報を設定し、右上隅の [送信] をクリックします。
Slurm
Slurm スケジューラーは、次のパラメーターをサポートしています:
パラメーター
説明
プライマリスケジューリングサイクル
スケジューリングタイマー。スケジューリングが開始される頻度を示します。
たとえば、クラスターに 1 vCPU を搭載したノードが 1 つだけ含まれているとします。 プライマリスケジューリングサイクルは 20 秒に設定されています。 それぞれ 1 vCPU と 30 秒の実行時間を必要とするジョブ A とジョブ B を送信します。 その後、ジョブは次の方法で実行されます。
0 秒: スケジューリングが開始されます。 ジョブ A が実行を開始し、ジョブ B は保留中です。
20 秒: スケジューリングがトリガーされますが、ジョブ B に割り当てることができるアイドルリソースはありません。 したがって、ジョブ A はまだ実行中で、ジョブ B はまだ保留中です。
30 秒: アイドルリソースが使用可能ですが、スケジューリングがトリガーされていないため、ジョブ B はアイドルリソースを取得して実行できません。 したがって、ジョブ A は完了し、ジョブ B はまだ保留中です。
40 秒: スケジューリングが再度トリガーされます。 ジョブ B が実行を開始します。
バックフィルス ケジューリングサイクル
バックフィルス ケジューリングタイマー。 スケジューリングがトリガーされると、スケジューラーは優先順位に従いません。 スケジューラーは、CPU 使用率を高めるために、優先的に負荷の軽いジョブを送信します。
たとえば、クラスターに 8 vCPU を搭載したノードが 1 つだけ含まれているとします。 バックフィルス ケジューリングサイクルは 10 秒に設定されています。 優先度の高いジョブ A とジョブ B(それぞれ 6 vCPU と 60 分の実行時間が必要)を送信してから、優先度の低いジョブ C(2 vCPU と 40 分の実行時間が必要)を送信します。 その後、ジョブは次の方法で実行されます。
0 秒: スケジューリングが開始されます。 ジョブ A が実行を開始します。 ジョブ B とジョブ C は保留中です。 ジョブ B の優先度はジョブ C の優先度よりも高くなっています。 ジョブ C でアイドルリソースが使用可能であっても、スケジューリングはトリガーされません。
10 秒: バックフィルス ケジューリングがトリガーされます。 スケジューラーは、CPU 使用率を高めるために、負荷の軽いジョブ C を優先度の高いジョブ B より前に実行できると判断します。 その結果、ジョブ A は実行中で、ジョブ B は保留中で、ジョブ C は実行中です。
40 分: ジョブ A は実行中で、ジョブ B は保留中で、ジョブ C は完了しています。
60 分: ジョブ A は完了し、ジョブ B は実行中で、ジョブ C は完了しています。
PBS
PBS スケジューラーは、次のパラメーターをサポートしています:
パラメーターの設定セクション
パラメーター
説明
グローバル設定
履歴割り当て用に予約されている時間
履歴ジョブの保存期間。 保存期間が過ぎると、ジョブのデータは破棄されます。
スケジューリングサイクル
スケジューリングがトリガーされる間隔。 他の操作 (ジョブの送信やスケジューリングサービスの再起動など) によってスケジューリングがトリガーされない場合、スケジューリングはスケジューリングサイクルの一定期間ごとにトリガーされます。
最大ジョブ数
クラスターで許可されるジョブの最大数。
最大キューイングジョブ数
クラスターで許可されるキューイングジョブの最大数。
キュー設定
キュー
設定するキューを選択します。
リソース制限
[制限を追加] をクリックします。 制限には次のものがあります。
ユーザー: 制限するユーザーを選択します。
CPU: 選択したキューでユーザーが使用できる vCPU の最大数。
メモリ: 選択したキューでユーザーが使用できるメモリの最大量。 例:
1 gb
および200 mb
。ノード: 選択したキューでユーザーが使用できるノードの最大数。
最大ジョブ数: 選択したキューでユーザーが送信できるジョブの最大数。
ユーザーマッピング
[新しいユーザーを追加] をクリックします。 表示されるダイアログボックスで、ユーザーを選択し、[OK] をクリックします。
説明デフォルトでは、選択したキューはクラスターのすべてのユーザーが使用できます。 ユーザーマッピングを設定すると、選択したキューは選択したユーザーのみが使用できるようになります。