本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制成本和并发性
在传统的渲染农场中,固定基础设施会间接限制并发性和成本。共享文件系统的吞吐量限制了工作人员访问数据的速度。固定数量的渲染节点限制了同时运行的作业数量。这些瓶颈会减慢渲染速度,但也可以防止意外支出。
借助 De AWS adline Cloud,您可以精确、直接地控制成本和并发性。您可以快速扩展以快速完成工作,预算强制硬性美元上限,而队列设置则限制峰值并发度。与传统农场不同,你不需要用渲染速度来控制成本,你可以两者兼而有之。
借助 Deadline Cloud,您还可以出于其他原因限制资源使用,例如匹配固定数量的软件许可证。以下机制各自在不同的层面上运行。您可以将它们组合起来以满足组织的需求。
成本和并发控制的比较
下表汇总了 Deadline Cloud 中可用的控件。根据您想要限制的内容选择一个或多个。
| 控件 | 级别 | 作用 | 适用于 |
|---|---|---|---|
| 舰队最大员工人数 | Fleet | 限制队列中可以同时运行的员工总数,无论有多少作业排队。 | 对队列中所有作业的峰值计算实行硬上限。取代固定数量的渲染节点的自然限制。 |
| Job 最大工作人员数量 | 任务 | 限制分配给单个工作的员工人数。车队中的其他工人仍然可以从事其他工作。 | 防止一个大型任务在较小的工作等待时消耗整个车队。 |
| 资源限制 | 农场或队列 | 限制可以同时使用共享资源(例如软件许可证或文件服务器)的任务数量。 | 将并发与跨任务或队列共享的受限资源进行匹配。取代了文件系统吞吐量或许可证数量的自然限制。 |
| 带有限制操作的预算 | 队列 | 跟踪队列上的累计支出。当支出达到阈值时,操作会停止安排新工作或取消正在进行的工作。 | 对项目或时间段的总支出实行美元上限。 |
| 作业优先级 | 任务 | 确定当多个作业争夺同一个工作人员时,首先处理哪些作业。 | 在不改变车队容量的情况下,确保在不太关键的工作之前完成紧急工作流程。 |
舰队最大员工人数
队列上的最大工作人员数量设置限制了可以同时运行的员工人数。当车队达到这个最大值时,即使有更多工作在等待,它也会停止启动新员工。这是固定大小的渲染农场自然并发限制的最直接替代方案。
如果您想在队列级别限制峰值计算成本,请使用此设置。例如,将最大值设置为 50 个工作人员意味着无论队列深度如何,您都不会为超过 50 个并发实例付费。
有关更多信息,请参阅 自动扩缩配置。
Job 最大工作人员数量
作业上的 max-worker-count 选项限制了可以处理该特定作业的员工人数。当达到最大值时,即使车队中有工人,也不会再为该工作分配工人。队列中的其他作业仍然可以使用剩余的工作人员。
如果要防止单个大型任务垄断舰队,请使用此设置。例如,如果您的车队有 100 名员工,而您提交了一份 10,000 帧的作业--max-worker-count 50,那么剩下的 50 名员工仍可以从事其他工作。您也可以在提交后更改此值。
deadline bundle submit my_job --max-worker-count 50
资源限制
资源限制限制了可以同时使用受限资源的任务数量,例如浮动软件许可证或吞吐量有限的文件服务器。限制是在服务器场级别定义的,并与一个或多个队列相关联。声明限制要求的作业中的步骤只能运行不超过可用计数的任务。
当您拥有固定容量的共享资源时,请使用限制。例如,如果一个渲染器有 25 个浮动许可证,则将限制设置为 25 个。在此限制下,在共享该许可证的所有队列中,同时使用该许可证的任务不得超过 25 个。
有关更多信息,请参阅 De adline Cloud 开发人员指南中的为作业创建资源限制。
带有限制操作的预算
Deadline Cloud 预算跟踪一段时间内队列的累计估计支出。您可以配置在支出达到阈值时触发的限额操作。可用的操作包括:
-
停止安排新工作-正在运行的任务已完成,但队列停止接受新任务。
-
立即停止所有工作-取消所有正在运行的任务,并且不会分配任何新任务。
如果要为项目或账单周期强制设定美元上限,请使用预算。您可以使用不同的操作创建多个阈值。例如,在剩余 5,000 美元时停止计划,让当前的工作顺利完成;如果剩余支出达到 0 美元,则取消所有工作。
有关更多信息,请参阅 用预算控制成本。
作业优先级
当多个@@ 作业争夺同一个队列中的工作人员时,Job 优先级会影响作业的处理顺序。优先级范围从 0 到 100,通常会先处理较高的数字。优先级相同的任务按收到的顺序处理。
优先级不直接限制并发性或成本。相反,它有助于确保当车队满负荷时,最重要的工作将工人放在第一位。将优先级与队列最大工作人员数量相结合,以控制哪些作业首先运行以及总共运行多少计算。
为您的工作流程选择正确的控件
以下场景说明了常见的组合:
- “我想要对每月的支出设定硬上限”
-
为每个队列创建预算,设定每月美元限额和停止计划操作。
- “我想限制同时运行多少个实例,就像我以前的固定服务器场一样”
-
设置车队的最大工作人员人数。这直接取代了固定大小服务器场的自然并发限制。
- “我有 50 个许可证,不想因为他们拿不到许可证而失败”
-
创建 50 的资源限制并将其与相关队列关联。声明限制的作业仅在有许可证时才会安排任务。
- “我不想让一份大工作缺少较小的工作岗位”
-
安排
--max-worker-count大量工作,为其他工作预留机队容量。或者,对较小的作业设置更高的优先级。 - “我想要成本控制和公平分摊相结合”
-
设置队列的最大员工人数,使用每个任务的最大员工人数来处理大型作业,并添加预算作为安全网。这为您提供了峰值容量限制、每个任务的公平性和一美元的支持。