车队工作量
IBM Cloud® Code Engine 是一个完全托管的无服务器平台,可运行容器化工作负载,包括舰队工作负载。 在 Code Engine 中了解车队运行情况。
什么是舰队?
机群也称为无服务器机群,是一种 Code Engine 计算组件,可并行运行一个或多个用户代码实例,以完成大量计算密集型任务队列。 车队可以连接到虚拟专用云,以便在连接其他服务时安全地交换用户数据。 与批处理作业不同,机群提供动态任务队列和单租户隔离,并兼容 vCPU 和 GPU。
车队如何运作?
机群有三个主要元素:任务、实例和工作节点。 单个任务由运行在工作节点上的单个用户代码实例完成。 每个工作节点可以同时运行多个任务,从而并行地完成许多任务。 任务完成后,工作节点上会启动一个新实例,以完成队列中的下一个可用任务。 这一过程在每个工作节点上重复进行,直到完成所有任务,工作节点才会自动解除配置。
车队与工作有何不同?
与主要用于中小型任务的批处理作业不同,机群是为完成大型计算密集型任务而设计的。 查看下表,了解工作和车队之间的具体区别。
| 特性 | 车队 | 作业 |
|---|---|---|
| 隔离 | 单租户 | 多租户 |
| 任务规模 | 大型任务 | 中小型任务 |
| 实现 | 动态队列 | 静态数组 |
| 机器配置 | 完全控制机器外形 | 无法控制机器外形 |
| 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 |
| 实例配置文件 |
|---|
| 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 |
| 实例配置文件 |
|---|
| 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
如何开始车队工作?
要使用 icr.io/codeengine/helloworld 示例图像创建并运行一个简单的 Code Engine 机群,请参阅 运行您的第一个 Code Engine 机群。