

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 資源感知排程
<a name="resource-aware-scheduling"></a>

AWS Batch 根據 vCPU、GPU 和與任務佇列 (JQ) 相關聯的運算環境 (CE) 中的記憶體可用性來排程任務。但有時候，只有這些 CE 資源的可用性並不保證任務會成功執行，因為它可能取決於其他必要的資源，因此這些任務會被取消或終止。這會導致運算資源的使用效率降低。為了解決此問題，資源感知排程可以在排程任務在 CE 上執行之前檢查相依、非 CE 資源的可用性。

AWS Batch 資源感知排程可讓您根據執行任務所需的消耗性資源來排程任務：第三方授權字符、資料庫存取頻寬、調節對第三方 API 的呼叫等。您可以指定任務執行所需的消耗性資源，而 Batch 在排程任務時會將這些資源相依性納入考量。您可以避免手動介入，以消除因消耗性資源不足而導致的任務失敗和長時間等待。您可以只配置具有所有必要資源的任務，以減少運算資源的使用率不足。

資源感知排程適用於 FIFO 和公平共用排程政策，並可搭配 Batch 支援的所有運算平台使用，包括 EKS、ECS 和 Fargate。它可以與陣列任務、多節點平行 (MNP) 任務以及一般 Batch 任務搭配使用。

若要設定資源感知排程，請先指定執行任務所需的所有消耗性資源，以及每個資源的可用總數。然後，針對每個需要消耗性資源的任務，您可以指定每個所需資源的名稱和所需數量。批次會追蹤任務佇列中任務可用的消耗性資源數量，並確保任務排程只有在任務可成功執行所有必要的消耗性資源時才執行。

**Topics**
+ [建立消耗性資源](resource-aware-scheduling-how-to-create.md)
+ [指定執行任務所需的資源](resource-aware-scheduling-how-to-for-jobs.md)
+ [檢查有多少資源正在使用中且可用](resource-aware-scheduling-how-to-check-resources-check-resources.md)
+ [更新任務正在使用的資源數量](resource-aware-scheduling-how-to-update-quantity.md)
+ [尋找需要特定消耗性資源的任務](resource-aware-scheduling-how-to-find-jobs.md)
+ [刪除消耗性資源](resource-aware-scheduling-how-to-delete.md)