

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

# プリエンプション
<a name="preemption"></a>

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

## クロス共有のプリエンプション
<a name="cross-share-preemption"></a>

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

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

## 共有内プリエンプション
<a name="in-share-preemption"></a>

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

## プリエンプション選択アルゴリズム
<a name="preemption-selection-algorithm"></a>

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

## プリエンプションの再試行
<a name="preemption-retries"></a>

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

最近のプリエンプション試行のスライディングウィンドウがジョブに保存され、[DescribeServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html) を介して表示されます。