View a markdown version of this page

控制成本和并发性 - AWS 截止日期云

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

控制成本和并发性

在传统的渲染农场中,固定基础设施会间接限制并发性和成本。共享文件系统的吞吐量限制了工作人员访问数据的速度。固定数量的渲染节点限制了同时运行的作业数量。这些瓶颈会减慢渲染速度,但也可以防止意外支出。

使用 Deadl AWS ine Cloud,您可以精确、直接地控制成本和并发性。您可以快速扩展以快速完成任务,预算强制执行硬性美元上限,队列设置限制峰值并发性。与传统农场不同,你不需要为了控制成本而牺牲渲染速度——你可以两者兼而有之。

使用 Deadline Cloud,您还可以出于其他原因限制资源使用,例如匹配固定数量的软件许可证。以下机制在不同的层面上运作。您可以将它们组合起来以满足组织的要求。

成本和并发控制的比较

下表汇总了 Deadline Cloud 中可用的控件。根据您想要限制的范围选择一个或多个。

控件 级别 作用 适用于
舰队最大工人数 Fleet 限制队列中可以同时运行的工作人员总数,无论排队中有多少任务。 对队列中所有任务的峰值计算设置硬性上限。取代固定数量的渲染节点的自然极限。
作业最大工人数 任务 限制分配给单个工作的工人人数。舰队中的其他工人仍然可以从事其他工作。 防止单个大型任务在等待较小任务时消耗整个机队。
资源限制 农场或排队 限制可以同时使用共享资源(例如软件许可证或文件服务器)的任务数量。 将并发性与任务或队列之间共享的受限资源进行匹配。取代文件系统吞吐量或许可证数量的自然限制。
限额行动的预算 队列 跟踪队列上的累计支出。当支出达到阈值时,某项操作会停止安排新工作或取消正在进行的工作。 对项目或时间段的总支出实行美元上限。
作业优先级 任务 确定当多个任务争夺同一个工作人员时,首先处理哪些任务。 在不改变机队容量的情况下,确保在不太关键的工作之前完成紧急工作流程。

舰队最大工人数

队列的最大工作人员数量设置限制了可以同时运行的工作人员数量。当机队达到这个最大值时,即使有更多工作在等待,它也会停止招聘新员工。此设置是固定大小渲染农场自然并发限制的最直接替代方案。

当您想在队列级别上限制峰值计算成本时,请使用此设置。例如,将最大值设置为 50 个工作线程意味着无论队列深度如何,您都不会为超过 50 个并发实例付费。

有关更多信息,请参阅 自动扩缩配置

作业最大工人数

作业上的 max-worker-count 选项限制了有多少工作人员可以处理该特定任务。当达到最大值时,即使车队中有工人,也不会再为该工作分配工人。队列中的其他任务仍然可以使用剩余的工作人员。

当你想防止一项大型任务垄断舰队时,请使用此设置。例如,如果您的车队有 100 名员工,而您向其提交了一份 10,000 帧的作业--max-worker-count 50,则其余 50 名工人仍然可以从事其他工作。您也可以在提交后更改此值。

deadline bundle submit my_job --max-worker-count 50

资源限制

资源限制限制可以同时使用受限资源(例如浮动软件许可证或吞吐量有限的文件服务器)的任务数量上限。限制是在农场级别定义的,与一个或多个队列相关联。任务中声明限制要求的步骤只能运行不超过可用数量的任务。

当您的共享资源具有固定容量时,使用限制。例如,如果您的渲染器有 25 个浮动许可证,则将限制设置为 25。有了这个限制,在共享该许可证的所有队列中同时使用该许可证的任务不超过 25 个。

有关更多信息,请参阅 Deadl ine Cloud 开发人员指南中的为任务创建资源限制

限额行动的预算

截止日期云预算跟踪一段时间内队列的累计估计支出。您可以配置在支出达到阈值时触发的限额操作。可用操作包括:

  • 停止安排新工作 — 正在运行的任务已完成,但队列停止接受新任务。

  • 立即停止所有工作 -取消所有正在运行的任务,不分配任何新任务。

当你想为项目或账单周期强制规定美元上限时,请使用预算。您可以使用不同的操作创建多个阈值。例如,在剩余 5,000 美元时停止调度,让当前工作顺利完成,如果支出达到剩余 0 美元,则取消所有工作。

有关更多信息,请参阅 用预算控制成本

作业优先级

当多个任务争夺同一个队列中的工作人员时,作业优先级会影响任务的处理顺序。优先级从 0 到 100 不等,通常先处理较高的数字。具有相同优先级的任务将按接收顺序处理。

优先级不会直接限制并发性或成本。相反,它有助于确保当车队满负荷时,最重要的工作将工人放在第一位。将优先级与队列最大工作人员数相结合,以控制哪些任务首先运行以及总共运行多少计算。

限制您的支出率

机队的成本来自其运行中的员工,因此您可以通过设置最大工作人员数量来限制舰队的支出率。两个控件协同工作:

  • 车队的最大员工人数通过限制一次可以运行的工人数量来设定您的峰值支出率。有关构成工作人员每小时成本的更多信息,请参阅了解服务管理车队的成本模型

  • 预算限制了累计支出。预算追踪一段时间内的预计支出总额,而不是费率,因此除了机队的运力上限外,它还增加了硬性美元限额。

混合点和 On-Demand 容量

每个服务管理的队列都使用单一实例市场选项:Spot 或 W On-Demand ait and Save。要合并市场期权,请为每个选项创建单独的队列,并将这些队列与同一个队列关联起来。有关更多信息,请参阅Service-managed 舰队关联队列和舰队

当一个队列有多个队列时,它会在这些队列之间平均分配任务。要改为将一个机队视为主要容量,将另一个机队视为溢出容量,请调整机队的最大员工人数。Deadl ine Cloud 开发者指南中的容量管理器示例针对混合的 “等待” 和 “省钱” 和 “竞价” 设置自动进行调整。

在繁忙时段暂时提高限额

所有这些控件都可以随时调节。在工作活动增加期间,您可以暂时提高限额。例如,在交付截止日期之前,您可以提高队列的最大工作人员人数,增加预算阈值,并增加备用工作人员以减少任务启动延迟。截止日期过后,再次降低设置。

您可以从 Deadline Cloud 控制台更新队列自动扩展设置和预算。要按计划更改容量,例如增加工作时间内的待机工作人员人数,请使用 fleet_standby_s cheduling 上的示例 CloudFormation 模板。 GitHub如果您需要的容量超过账户的服务配额允许的容量,请参阅的配额 Deadline Cloud

组合控件

每个控件都可单独满足一种需求。以下场景显示了如何组合控件:

“我不想让一份大工作让较小的工作岗位流失”

着手--max-worker-count进行大型工作,为其他工作预留机队容量。(可选)为较小的任务设置更高的优先级。

“我想要成本控制和公平分担相结合”

设置车队的最大员工人数,将每项工作的最大工作人员人数用于大型任务,并添加预算作为安全网。这种组合为您提供了峰值容量限制、每个任务的公平性和一美元的支持。