车队工作量

IBM Cloud® Code Engine 是一个完全托管的无服务器平台,可运行容器化工作负载,包括舰队工作负载。 在 Code Engine 中了解车队运行情况。

什么是舰队?

机群也称为无服务器机群,是一种 Code Engine 计算组件,可并行运行一个或多个用户代码实例,以完成大量计算密集型任务队列。 车队可以连接到虚拟专用云,以便在连接其他服务时安全地交换用户数据。 与批处理作业不同,机群提供动态任务队列和单租户隔离,并兼容 vCPU 和 GPU。

车队如何运作?

机群有三个主要元素:任务、实例和工作节点。 单个任务由运行在工作节点上的单个用户代码实例完成。 每个工作节点可以同时运行多个任务,从而并行地完成许多任务。 任务完成后,工作节点上会启动一个新实例,以完成队列中的下一个可用任务。 这一过程在每个工作节点上重复进行,直到完成所有任务,工作节点才会自动解除配置。

车队与工作有何不同?

与主要用于中小型任务的批处理作业不同,机群是为完成大型计算密集型任务而设计的。 查看下表,了解工作和车队之间的具体区别。

比较 Code Engine 车队和工作
特性 车队 作业
隔离 单租户 多租户
任务规模 大型任务 中小型任务
实现 动态队列 静态数组
机器配置 完全控制机器外形 无法控制机器外形
VPC 连接 本机连接现有 VPC 需要专用路径

与 Code Engine 车队合作的主要特点是什么?

查看以下主题,了解有关在 Code Engine 中与车队合作的更多信息。

自动缩放

通过机群,您可以利用大规模并行的优势来完成大型计算密集型任务。Code Engine 会自动扩展机群中的工作节点,以最高效地满足资源需求。 您可以让 Code Engine 决定部署的工作者的配置文件,也可以选择特定的配置文件,如 GPU 类型。 无论是哪种情况,Code Engine 都会自动调整工人数量,以达到最高效率。

部署的 Worker 数量取决于需要完成的任务数量、代码实例所需的资源以及希望同时运行的最大并发实例数量。 通过调整这些设置,您可以扩展您的机群,完成少则 1 项、多则数百万项的任务。

例如,假设您有 4 项任务要完成。 完成一项任务的每个代码实例需要 1 vCPU and 2 GB memory,总需求为 4 vCPU and 8GB memory。 如果将并发实例的最大数量设置为 2,Code Engine,就可以部署 1 个工人节点,2 vCPU and 4 GB memory,同时运行 2 个实例。 如果将并发实例的最大数量设置为 4,Code Engine 就可以部署 2 个相同的工作者节点,在两个工作者节点上同时运行所有 4 个实例。 在第二种情况下,船队的完工速度更快,但需要部署更多的工人。 请记住,自动部署工作节点有无数种组合,可能会部署不同配置文件的工作节点。

自动缩放功能不适用于 GPU。 要为机群部署 GPU,必须指定要部署的 GPU Worker 类型。

任务和实例规范

在部署机群时,用户可以指定要完成的任务数量、一次运行的实例数量以及完成任务的顺序。 通过同时启动多个实例,机群可以并行处理多项任务。 创建的所有实例都具有与机群规格相同的 vCPU 和内存。 此外,用户还可以创建任务规范文件,为每个任务提供特定命令和参数,或创建自定义任务索引。

COS 中的任务存储

创建机群时,您可以指定一个持久数据存储区和存储桶子路径,从而使用 COS 存储桶为机群提供任务。 COS 桶中的每个对象代表一个任务。

隔离

与批处理作业不同,机群提供单租户隔离。 您的车队员工不会与其他用户共享。

重试次数

每个舰队实例都会运行到结束。 但是,如果出现错误,Code Engine 会重新启动实例。 您可以限制重试的最大次数,以避免重启失败的实例。

状态

当至少有一个工作节点已配置时,机群就处于 Running 状态。 当机群不再运行时,如果所有任务都成功完成,则处于 Succeeded 状态;如果一个或多个任务失败,则处于 Failed 状态。 您还可以取消车队。

更多信息,请参阅 了解机队状态

工人简介

您可以选择车队工作人员的配置文件。 如果您没有指定配置文件,Code Engine 将为您选择一个配置文件。

Code Engine 机队支持以下配置文件族:

均衡
实例配置文件
bx2-2x8
bx2-4x16
bx2-8x32
bx2-16x64
bx2-32x128
bx2-48x192
bx2-64x256
bx2-96x384
bx2-128x512
bx2a-2x8
bx2a-4x16
bx2a-8x32
bx2a-16x64
bx2a-32x128
bx2a-48x192
bx2a-64x256
bx2a-96x384
bx2a-128x512
bx2a-228x912
bx2d-2x8
bx2d-8x32
bx2d-16x64
bx3d-2x10
bx3d-4x20
bx3d-8x40
bx3d-16x80
bx3d-24x120
bx3d-32x160
bx3d-48x240
bx3d-64x320
计算
实例配置文件
cx2-2x4
cx2-4x8
cx2-8x16
cx2-16x32
cx2-32x64
cx2-48x96
cx2-64x128
cx2-96x192
cx2-128x256
cx3d-2x5
cx3d-4x10
cx3d-8x20
cx3d-16x40
cx3d-24x60
cx3d-32x80
cx3d-48x120
cx3d-64x160
内存
实例配置文件
mx2-2x16
mx2-4x32
mx2-8x64
mx2-16x128
mx2-32x256
mx2-48x384
mx2-64x512
mx2-96x768
mx2-128x1024
mx2d-16x128
mx2d-64x512
mx2d-96x768
mx3d-2x20
mx3d-4x40
mx3d-8x16
mx3d-16x160
mx3d-24x240
mx3d-32x320
mx3d-48x480
mx3d-64x640
GPU
实例配置文件
gx3-16x80x1l4
gx3-32x160x2l4
gx3-64x320x4l4
gx3-24x120x1l40s
gx3-48x240x2l40s
gx2-8x64x1v100
gx2-16x128x1v100
gx2-16x128x2v100
gx2-32x256x2v100
gx3d-24x120x1a100p
gx3d-48x240x2a100p
gx3d-160x1792x8h100
gx3d-160x1792x8h200
gx4d-232x3840x8b300
Flex
实例配置文件
nxf-2x1
nxf-2x2
bxf-2x8
bxf-4x16
bxf-8x32
bxf-16x64
bxf-24x96
bxf-32x128
bxf-48x192
bxf-64x256
cxf-2x4
cxf-4x8
cxf-8x16
cxf-16x32
cxf-24x48
cxf-32x64
cxf-48x96
cxf-64x128
mxf-2x16
mxf-4x32
mxf-8x64
mxf-16x128
mxf-24x192
mxf-32x256
mxf-48x384
mxf-64x512

某些配置文件可能无法在所有 VPC 网络区域中使用。 您可以使用以下 CLI 命令列出 Code Engine 区域无服务器机群支持的工人配置文件。

ibmcloud ce fleet worker profiles
  • 如果您想了解某些配置文件(如 H100 和 L40s )的分区可用性和容量,请 打开支持案例 并选择“虚拟私有云 (VPC)”作为主题。
  • 如果您需要目前车队不支持的特定 VPC 配置文件,请 打开支持案例 并选择 " Code Engine "作为主题。

如何开始车队工作?

要使用 icr.io/codeengine/helloworld 示例图像创建并运行一个简单的 Code Engine 机群,请参阅 运行您的第一个 Code Engine 机群