プリエンプション - AWS Batch

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

プリエンプション

クォータ管理は、プリエンプションを組み込む唯一の AWS Batch スケジューリングアルゴリズムです。 は、、STARTING、または SCHEDULEDRUNNINGジョブ AWS Batch を停止してRUNNABLE、ジョブの容量を作成します。

クロス共有のプリエンプション

クォータ管理では、クロスシェアプリエンプションを使用して、ジョブの到着時に借用キャパシティをクォータ共有に復元します。

クォータ共有の容量制限を引き下げる管理者はSCHEDULED、そのクォータ共有によって消費される容量が設定された容量制限を上回った場合、そのクォータ共有内の STARTING、、または RUNNINGジョブをプリエンプションの対象にすることもできます。

共有内プリエンプション

クォータ共有は、共有内プリエンプションを有効にするように設定できます。これにより、優先度の高いRUNNABLEジョブは、SCHEDULED、、STARTINGまたは に入ったのと同じクォータ共有内で優先度の低いジョブのプリエンプションをトリガーできますRUNNING

プリエンプション選択アルゴリズム

どのジョブを優先するかを選択するときは、ジョブが借用するインスタンスの数とタイプ、ジョブの相対的な優先順位、ジョブの期間 AWS Batch を考慮し、カスタムヒューリスティックを適用します。UpdateServiceJob API コールを使用して、送信後にジョブschedulingPriorityの を更新できます。これは、RUNNINGジョブの優先度を下げる (プリエンプションの可能性を高める) か、共有プリエンプションを有効にしてクォータ共有のRUNNABLEジョブの優先度を上げることで、ジョブが既に実行中のジョブをプリエンプションできるようにするのに役立ちます。

プリエンプションの再試行

デフォルトでは、プリエンプションされたジョブは制限RUNNABLEなしで として再キューに入れられます。ジョブで発生するプリエンプションの数を制限するには、ジョブの送信preemptionRetriesBeforeTermination時に を設定します。preemptionRetriesBeforeTermination が 0 に設定されている場合、ジョブは最初のプリエンプションFAILEDで になります。

最近のプリエンプション試行のスライディングウィンドウがジョブに保存され、DescribeServiceJob を介して表示されます。