跳至主要内容

算力调度是什么?

当企业的 AI 训练、在线推理和批量处理任务交织运行时,固定规模的算力往往难以兼顾峰值与低谷。算力调度通过动态分配 CPU、GPU 和内存等资源,让算力分配更贴合业务需求。

什么是算力调度?

云上运行 AI 训练、在线服务和批量数据分析等多种任务,算力需求随业务节奏剧烈波动:白天流量高峰需要大量推理算力,夜间批量训练任务又需要 GPU 集群满载运转。按峰值固定采购算力,闲置时段会造成资源浪费;只配低谷规模,峰值时业务又会排队等待。算力调度正是在这种波动中寻找平衡的关键机制。

定义

算力调度是指根据工作负载的特征、优先级和资源需求,动态分配和调度计算资源(包括 CPU、GPU、内存和存储等)的过程,目标是让算力供给与任务需求在时间、数量和类型上更好地匹配。

从发展背景看,算力调度早在高性能计算和批处理时代就已存在,而人工智能与深度学习的发展使算力调度的重要性进一步凸显。大模型训练往往需要大量 GPU 协同运转,推理服务对延迟极为敏感,这些场景使得传统的静态资源分配方式捉襟见肘。算力调度的本质,是把分散的计算资源组织成一个可灵活调配的池,按需供给、弹性伸缩。

不容混淆的是,算力调度不同于简单的资源预留。预留是把一定数量实例锁定给特定任务,而调度强调动态决策——根据实时负载、任务优先级和成本约束,决定哪些任务在何时使用哪些算力。

为什么算力调度很重要?

成本优化

固定规模算力在低谷时段大量闲置,形成资源浪费。算力调度通过弹性伸缩和 Spot 实例等机制,帮助企业按实际使用付费,降低计算成本。以 Amazon EC2 Spot 实例为例,与按需实例相比最高可享受 90% 的折扣,适合可容忍中断的工作负载。对于消耗数百张 GPU 的大模型训练,这种优化直接影响项目可行性。

性能保障

算力调度能根据任务优先级分配资源,帮助在线推理、实时交互等延迟敏感型任务优先获得算力,而批处理任务在低谷时填充剩余容量。这种分级保障让不同业务在共享集群时各得其所。

弹性应对

业务负载波动往往不可预测。一次产品爆红可能让推理流量快速增长,一次数据回算可能让训练任务量激增。算力调度通过实时监控和自动伸缩,让算力规模随负载变化而增减,减少对峰值精确预测的依赖。

稀缺资源合理分配

当前高性能加速器资源较为紧张,机器学习和生成式AI 团队争抢同一批加速器的情况并不少见。算力调度通过队列、配额和优先级机制,让有限的 GPU 资源在多个团队和项目间公平流转,减少任务长期排队的情况。

算力调度有哪些核心能力?

资源感知调度

现代算力调度不只看 CPU 核数,还要感知 GPU 型号、显存容量、网络带宽等异构资源特征。需要高性能 GPU 的训练任务,不能被调度到只有通用 CPU 的节点上。资源感知调度确保任务被分配到匹配的算力类型上,这也是GPU云服务器调度的核心前提。

优先级与队列管理

调度系统通常维护多个任务队列,按优先级分配算力。高优先级的在线推理任务可以抢占低优先级批处理任务的资源,降低关键业务受影响的风险。队列机制也支持多团队共享集群时按配额公平分配。对于分布式训练,调度系统还常采用成组调度(gang scheduling):只有一个作业所需的全部节点同时就绪时才启动任务,避免部分节点空占资源却无法开始训练。

弹性伸缩

根据 CPU 利用率、GPU 队列深度等指标,自动增减实例数量。负载上升时快速拉起更多算力,负载下降时释放闲置实例。弹性伸缩既保障峰值性能,又控制低谷成本,是算力调度最直观的能力体现。

容量预留

对于必须保证算力供给的关键任务,调度系统支持提前预留实例容量,在资源紧张时也能提高任务按时启动的确定性。在 AWS 上,可通过按需容量预留(ODCR)预留特定可用区的实例容量,或通过适用于 ML 的 Amazon EC2 容量块为未来的开始日期预留 GPU 或 Trainium 加速计算实例。这种能力在长周期训练任务中尤为重要,避免因排队等待拖延项目进度。

成本优化策略

调度系统可以按策略在 Spot 实例、按需实例以及预留实例或 Savings Plans 之间进行选择。可容忍中断的批处理任务优先用 Spot 实例降低成本,不可中断的关键任务用按需实例保障稳定性,长期稳定的基线负载则可通过预留实例或 Savings Plans 降低单价。这种混合策略在成本与可靠性间找到平衡。

算力调度能用在哪些实际场景?

大模型训练

训练一个千亿参数模型通常需要大量 AI训练芯片长时间运转。算力调度系统把训练任务拆分为多个并行子任务,分配到分布式 GPU 集群上,并监控每个节点的健康状态。节点故障时可替换节点并从检查点恢复训练,减少中断影响,例如 Amazon SageMaker HyperPod 提供健康检查、自动节点恢复与自动续训等集群弹性能力。

在线推理服务

面向终端用户的 AI 应用流量波动剧烈,白天高峰需要大量推理算力,深夜低谷则可缩减规模。算力调度根据请求队列深度自动伸缩推理实例,既保障响应延迟,又避免低谷浪费。

批量数据处理

日志分析、报表生成、模型评估等批处理任务对实时性要求不高,可以填充到集群低谷时段运行。调度系统把这些任务排队,在算力空闲时批量执行,提升整体利用率。

构建流水线

代码提交后触发的构建、测试任务需要临时算力。算力调度在任务到达时分配实例,任务完成后立即释放,减少为构建流水线常备的固定算力,有助于降低成本。

高性能计算

科学计算、仿真模拟、视频渲染等 HPC 工作负载需要大规模并行算力。算力调度把任务分解为大量并行单元,分配到集群节点上协同计算,完成后汇总结果。

算力调度是如何工作的?

算力调度的运作可以拆解为四个核心环节,形成一个从感知到反馈的闭环。

需求感知

调度系统持续监控集群资源使用状态和任务队列。CPU 利用率、GPU 显存占用、等待任务数量、各实例健康状态,这些数据构成调度决策的基础。没有准确的感知,调度就成了盲决策。

策略匹配

根据预设策略,系统决定每个任务使用哪些算力。策略包括优先级规则(关键任务优先)、亲和性规则(需要 GPU 的任务不分配到纯 CPU 节点)、成本规则(可中断任务优先用 Spot 实例)等。策略匹配是调度的决策中枢。

实例调度与伸缩

决策完成后,系统启动新实例、停止闲置实例、把排队任务分配到可用节点。弹性伸缩组件根据负载指标自动增减实例数量,使算力规模与需求保持同步。这一环节直接调用云平台的资源接口。

监控与反馈

调度不是一次性的,而是持续优化的循环。系统记录每个任务的等待时间、执行效率、资源利用率,据此评估调度策略是否有效并调整规则。例如发现某类任务长期排队,就增加对应算力配额。

在这个过程中,AI推理芯片的型号识别、任务的资源画像、集群的拓扑结构等信息都需要准确获取。

算力调度与相关概念相比如何?

算力调度常与负载均衡、自动伸缩、容器编排等概念一同出现,但它们关注的是不同层面。

算力调度与负载均衡

负载均衡把到达的请求分发到已有实例上,确保负载均匀,它假设算力已就位。算力调度关注算力本身该有多少、分配给谁,是负载均衡的上游决策。先有调度决定算力规模,再有均衡分发流量。

算力调度与自动伸缩

自动伸缩是算力调度的手段之一,根据指标自动增减实例数量。算力调度范畴更广,还包括优先级管理、容量预留、异构资源匹配等。自动伸缩回答"调多少",算力调度还要回答"调给谁、用什么类型"。

算力调度与容器编排

容器编排负责将工作负载放置到节点并管理其生命周期,例如 Kubernetes 调度器会根据资源请求把 Pod 放置到合适的节点上;集群层面的节点扩缩可由 Karpenter 或 Cluster Autoscaler 等工具完成。二者共同构成容器场景下的算力调度:编排管理工作负载的放置,节点扩缩管理底层资源池的规模。

算力调度与资源预留

资源预留是静态锁定一定数量算力给特定任务,保证供给但可能造成闲置。算力调度是动态分配,任务完成即释放算力给其他任务。预留适合关键任务,调度适合波动性负载,大语言模型等大模型训练场景可考虑两者结合。

算力调度面临哪些挑战?

供需矛盾

高性能 GPU 供给相对 AI 算力需求仍较为紧张。AIGC 和大模型训练团队争抢有限的 GPU 资源,调度系统必须在多个团队间公平分配,同时保障关键任务供给。这种稀缺性使 GPU 调度比 CPU 调度复杂得多。

多租户公平性

共享集群中,不同团队的算力配额、优先级和 SLA 各不相同。调度系统既要防止某团队长期占用算力导致其他团队排队等待,又要保障高优先级任务及时获得资源。公平性策略需在效率与公平间权衡。

调度延迟与碎片化

调度决策需要时间,大规模集群中从任务提交到实例就绪可能有数分钟延迟。频繁伸缩还会导致资源碎片化,集群中分散着未被充分利用的小块算力,难以满足大任务需求。降低延迟和减少碎片是持续优化方向。

成本与性能的平衡

用 Spot 实例可以降低成本,但可能被中断;用按需实例可靠但昂贵。调度系统需要在成本约束下选择合适策略,要求精确预测任务的可中断性和预算上限。判断失误要么浪费预算,要么影响业务连续性。

跨区域调度复杂性

当单个区域算力不足以满足需求时,调度需要跨可用区甚至跨区域分配任务。跨区域调度涉及网络延迟、数据传输成本和合规要求,部分行业和地区还有数据驻留要求,数据和任务只能在指定区域内处理,复杂度显著上升。

AWS 如何为您的算力调度需求提供支持?

AWS 提供覆盖弹性计算、批处理调度、高性能计算集群、容器编排、机器学习训练和无服务器计算的一系列服务,包括 Amazon EC2、AWS Batch、AWS ParallelCluster、Amazon EKS 与 Karpenter、Amazon SageMaker AI 及 SageMaker HyperPod、AWS Lambda 等,帮助企业在控制成本前提下构建算力调度体系,满足从大模型训练到在线推理的多样化需求。

Amazon EC2 提供多种实例类型,包括通用型、计算优化型、加速计算型(如基于 NVIDIA GPU 的 P5 实例、基于 AWS Inferentia2 的 Inf2 实例、基于 AWS Trainium2 的 Trn2 实例),配合按需容量预留、Amazon EC2 Spot 实例和 Amazon EC2 Auto Scaling,构成算力调度的资源基础。其中 Spot 实例与按需价格相比最高可享受 90% 的折扣,机器学习训练还可借助适用于 ML 的 Amazon EC2 容量块预留加速计算实例。企业可按任务特征选择实例类型,通过弹性伸缩实现动态调度,帮助在峰值性能与低谷成本间取得平衡。

Amazon SageMaker AI 针对机器学习工作负载提供托管式算力调度。Amazon SageMaker HyperPod 提供任务治理功能,可按团队配额与优先级分配加速器资源,并支持团队间借用闲置算力;SageMaker AI 训练作业支持分布式训练,并可结合训练计划(Training Plans)预留算力。推理端点支持自动伸缩以应对流量波动,减少 ML 团队自建调度系统的工作量。

Amazon EKS 提供托管的 Kubernetes 服务,支持容器化工作负载的调度与编排。通过 NVIDIA device plugin 等机制,EKS 能把 GPU 等加速器按需调度到需要的 Pod 上,并可结合 Karpenter 根据待调度 Pod 的资源需求自动创建和回收节点,实现节点自动扩缩。这适合容器化部署的 AI 和微服务工作负载,兼顾资源利用率与部署灵活性。

AWS Lambda 提供无服务器算力调度,按请求自动分配和释放计算资源,无需预置实例。适合事件驱动的短任务,如数据处理、API 后端和文件处理,企业按请求次数和执行时长(与配置内存相关)付费,实现按需算力。

AWS Batch 是完全托管的批量计算服务,通过作业队列和计算环境规划、调度和运行容器化的批处理、机器学习、模拟和分析工作负载,可在 Amazon ECS、Amazon EKS、AWS Fargate 以及 Spot 实例或按需实例上运行,并按需自动扩展计算资源。作业队列可附加公平共享调度策略,避免重要作业被先提交的作业长时间阻塞。对于 HPC 场景,AWS ParallelCluster 是开源的集群管理工具,可自动配置计算资源、Slurm 调度器和共享文件系统,帮助快速部署 HPC 集群。

立即了解 Amazon EC2 与 AWS Batch,构建灵活的算力调度体系。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages