gpt4 book ai didi

amazon-web-services - AWS 批处理始终为每个作业启动新的 ec2 实例

转载 作者:行者123 更新时间:2023-12-05 03:59:25 25 4
gpt4 key购买 nike

我已经设置了批处理环境

  1. 托管计算环境
  2. 作业队列
  3. 工作定义

实际工作(docker 容器)进行了大量视频编码,因此占用了大部分 CPU。该过程本身需要几分钟(将所有编码器初始化大约 5 分钟)。理想情况下,我希望每个实例都有一个作业,这样编码器就不会耗尽 CPU。

我的问题是当我同时启动多个作业或足够接近时,AWS 批处理决定在同一个实例中启动它们,因为第一个容器仍在初始化并且尚未开始使用 CPU。这对我来说似乎是一种竞争条件,两个作业都将创建的实例视为可用。

有没有一种方法可以为每个作业启动一个实例,而无需查找已经在运行的实例?或者任何其他解决方案来锁定实例,一旦它被指定用于特定作业?

非常感谢您的帮助。

最佳答案

您不必担心将作业分离到不同的实例上,因为运行作业的容器受限于它们可以使用的 vCPU 数量。例如,如果您启动两个作业,每个作业都需要 4 个 vCPU,Batch 可能会启动一个具有 8 个 vCPU 的实例,并在同一实例上运行这两个作业。每个作业只能访问其中的 4 个 vCPU,因此性能应该与实例上没有其他作业的单独运行的作业相同。

但是,如果您仍想将作业分离到单独的实例上,您可以通过将作业的 vCPU 与计算环境中的实例类型相匹配来实现。例如,如果您的作业需要 4 个 vCPU,您可以将计算环境配置为仅允许 c5.xlarge 实例,这样每个实例只能运行一个作业。但是,如果您想运行其他具有更高 vCPU 要求的作业,则必须在不同的计算环境中运行它们。

关于amazon-web-services - AWS 批处理始终为每个作业启动新的 ec2 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57192073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com