gpt4 book ai didi

amazon-web-services - AWS 批处理 : how to increase concurrency for Fargate jobs

转载 作者:行者123 更新时间:2023-12-04 17:18:43 26 4
gpt4 key购买 nike

我正在尝试使用 Batch 通过 Docker 容器执行大规模并行作业。我想同时处理数千个任务。

我已经启动并运行了一切。我的计算环境配置的最大 vCPU 为 2048。每个任务都配置为使用单个 vCPU 和 2GB RAM。我正在使用一个包含 1,000 个数组元素的数组作业(目前)。

问题是:当我创建一个新作业时,并发性似乎非常有限。当我查看 ECS 中的集群时,“待处理任务”似乎一直在 50 个左右徘徊(它可能永远不会超过 50 个),而“正在运行的任务”不会超过 30 个。即使每个单独的任务只需要 ~ 10 秒即可完成,整个批处理大约需要 20 分钟。

这不是我所期望的。通过以上设置,我认为 Batch 会同时处理所有 1,000 个任务。

我最初认为问题可能是我使用公共(public)子网引起的(所有 Fargate 容器都有公共(public) IP)。我更改为使用私有(private)子网(带有 NAT 网关),但没有帮助。

有人知道我做错了什么吗?

谢谢!

最佳答案

答案在上面的评论中,但为了后代:

具有 Fargate 资源的 AWS Batch 计算环境的扩展速度不足以满足您的需求,因为每个作业都在其自己的 Fargate 资源中启动。将 EC2 用于计算环境将启动一个大型实例,该实例将同时在其上运行多个作业,因此扩展正在运行的作业会快得多。

至于为什么您会看到最大值(pending 50 running 30),这可能是因为您的请求达到了启动/完成的平衡。如果您的作业运行时间超过 10 秒(分钟),您会看到正在运行的任务总数会比您看到的要多。

关于amazon-web-services - AWS 批处理 : how to increase concurrency for Fargate jobs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67568940/

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