ジョブスケジューリング - AWS Batch

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

ジョブスケジューリング

AWS Batch スケジューラは、ジョブキューに送信されたジョブを実行するタイミング、場所、方法を判断します。ジョブキューを作成するときにスケジューリングポリシーを指定しない場合、AWS Batch ジョブスケジューラはデフォルトで FIFO 戦略を使用します。FIFO 戦略では、重要なジョブが以前に送信されたジョブの後ろでスタックする可能性があります。別のスケジューリングポリシーを指定することで、特定のニーズに応じてコンピューティングリソースを割り当てることができます。

注記

ジョブの実行順序を保証する必要がある場合は、SubmitJobdependsOn パラメータを使用し、各ジョブの依存関係を指定します。

スケジューリングポリシーを作成してジョブキューに適用すると、公平分配スケジューリングが有効になります。ジョブキューにスケジューリングポリシーがある場合、スケジューリングポリシーによってジョブの実行順序が決まります。詳細については、スケジューリングポリシーを参照してください。

配分識別子

配分識別子を使用してジョブにタグを付け、ユーザーとワークロードを区別できます。AWS Batchスケジューラは、(T * weightFactor) の式を使用して各公平配分識別子の使用状況を追跡します。ここで、Tは時間の経過に伴う vCPU の使用率です。スケジューラは、配分識別子から使用率が最も低いジョブを選択します。公平配分識別子は、オーバーライドせずに使用できます。

注記

配分識別子はジョブキュー内で一意であり、ジョブキュー全体で集計されることはありません。

スケジュールの優先順位を設定して、配分識別子でのジョブの実行順序を設定できます。スケジューリング優先度の高いジョブが最初にスケジュールされます。スケジューリングポリシーを指定しない場合、ジョブキューに送信されるすべてのジョブは FIFO 順にスケジュールされます。ジョブの送信時には、配分識別子やスケジューリング優先度を指定することはできません。

注記

アタッチされたコンピューティングリソースは、明示的にオーバーライドされない限り、すべての配分識別子に均等に割り当てられます。

公平配分のスケジューリング

公平配分スケジューリングは、ジョブのスケジュール設定に役立つ一連の制御を提供します。

注記

スケジューリングポリシーパラメータの詳細については、スケジューリングポリシーパラメータを参照してください。

  • 配分の減衰秒数 — AWS Batch スケジューラが各公平配分識別子の公平配分の割合を計算するために使用する時間 (秒単位)。値がゼロ (0) の場合、現在の使用量のみが測定されることを示します。減衰時間が長いほど、時間にさらに多くの重みが与えられます。

    注記

    減衰時間は次のように計算されます。shareDecaySeconds + OrderMinutes(ここで、OrderMinutes は分単位の時間)。

  • コンピューティング予約 — 1 つの配分識別子に含まれるジョブが、ジョブキューにアタッチされているすべてのリソースを使い切ることを防ぎます。予約比率は computeReservation/100)^ActiveFairShares であり、ActiveFairShare は、アクティブな公平配分識別子の数です。

    注記

    配分識別子に SUBMITTEDPENDINGRUNNABLESTARTING、または RUNNING の状態のジョブがある場合、そのジョブはアクティブな配分識別子と見なされます。減衰時間が切れると、配分識別子は非アクティブと見なされます。

  • 重み係数 – 配分識別子の重み係数。デフォルト値は 1 です。値を小さくすると、配分識別子からジョブが実行されるか、配分識別子のランタイムが長くなります。たとえば、重み係数 0.125 (1/8) の配分識別子を使用するジョブには、重み係数 1 の配分識別子を使用するジョブの 8 倍のコンピューティングリソースが割り当てられます。

    注記

    この属性は、デフォルトの重み係数である 1 を更新する必要がある場合のみ設定します。