

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 资源感知调度
<a name="resource-aware-scheduling"></a>

AWS Batch 根据与作业队列 (JQ) 关联的 vCPU、GPU 和计算环境 (CE) 中的内存可用性来调度作业。但在某些时候，仅凭这些 CE 资源的可用性并不能保证作业能够成功运行，因为作业可能会依赖其他所需的资源，因此这些作业将被取消或终止。这会导致计算资源的使用效率低下。为解决此问题，资源感知调度可以在 CE 上调度作业运行之前检查所依赖的非 CE 资源的可用性。

AWS Batch 资源感知型调度允许您根据运行作业所需的消耗资源（第三方许可证令牌、数据库访问带宽、限制对第三方 API 的调用的需求等）来安排作业。您可以指定作业运行所需的消耗性资源，Batch 在调度作业时会考虑这些资源依赖项。您可以避免进行手动干预，从而消除因消耗性资源短缺而导致的作业失败和长时间等待。您可以通过仅分配具有全部所需资源的作业来减少计算资源利用不足的情况。

资源感知调度支持 FIFO 和公平份额调度策略，并且可以与 Batch 支持的所有计算平台结合使用，包括 EKS、ECS 和 Fargate。此功能可用于数组作业、多节点并行（MNP）作业和常规 Batch 作业。

要配置资源感知调度，首先要指定运行作业所需的所有消耗性资源，以及每种资源的可用总数。然后，对于每项需要消耗性资源的作业，您可以指定所需每种资源的名称和所需数量。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)