算力调度概述
1 算力调度是什么
算力调度,简单直白地说,就是调度算力(计算能力)的过程。具体地说就是“基于人工智能应用对算力的需求特点,通过虚拟化、容器化等技术,将算力资源池化为标准算力单元,通过适应性策略及敏捷框架对算力进行精准调度配给,保障AI开发和AI业务的高效运行”的过程。
调度能力是智算中心连接上层应用与底层计算设备的核心能力,将聚合的CPU、GPU、FPGA、ASIC等算力资源进行标准化和细粒度切分,满足上层不同类型智能应用对算力的多样化需求,让上层应用更高效、更便捷地对算力资源进行利用。算力调度分为三个算力池化、算力调度、算力服务过程。

上图是“智能计算中心总体架构图”,阐述了算力调度在智算中心所处位置。(原图来自国家信息中心在2020年12月份发布的《智能计算中心规划建设指南全文》,本文将其进行了稍许修改重画。)
算力池化
硬件技术的不断迭代与更新的同时,涌现了各类异构加速芯片与设备,以满足各类上层应用对计算资源与计算能力的要求。通过将计算资源池化,可以简化算力调用过程,用户就像使用云计算能力一样申请计算资源而无需关注计算设备的种类,方便用户对大规模集群内的计算资源进行按需申请与有效利用。算力池化主要算力虚拟化和应用容器化。
算力虚拟化的核心,是向用户直接提供计算能力,避免用户在申请、使用计算能力的过程中对集群内设 备的分布、类别、性能等产生关注。通过算力虚拟化,用户避开在大规模计算设备集群中进行设备选择、设 备适配的繁杂工作。
应用容器化,基于容器化的应用部署策略能够显著降低管理应用、支持业务的计算开销,具有较高的灵活性,便于快速在边缘端、计算中心端等计算场景中灵活部署和迁移。
算力调度
通过有效算力调度,提高算力设备的利用率,降低设备闲置率;能够有效整合分散的算力资源,实现跨地域、跨架构、跨异构的高效调度与优化配置,确保算力资源按需分配、高效利用;对用户行为进行分析和监管,优化算力设备布局规划,提升业务部署效能,使应用具有更好的稳定性和扩展性。算力调度涉及配额策略、共享超分、负载均衡等策略。
算力配额策略,智算中心会将池化的计算资源提供给用户,为用户的算力配给进行了有效的划分。
算力共享超分策略,在保证业务正常申请需求与扩容需求的同时,减少算力资源闲置,提升计算设备利用率,保证训练和推理业务顺利进行。
负载均衡,以人工智能的推理类业务为代表,对算力的使用、申请、接入等需求进行均衡分配,对应用的稳定性、服务能力、响应速度达到最优的配置。
算力服务
训练服务,依托容器化技术,将运行环境、框架适配过程标准化、模块化,让开发者能够便捷高效地构建运行环境,提交训练任务,保证智算中心内能够部署多样化的开发环境和训练环境,且彼此隔离、不会互相影响;
推理服务,简化应用部署流程和交互模式,方便用户在智算中心中进行应用部署,保障推理业务的算力分配随推理业务量变化实现弹性伸缩,保障业务稳定可靠。
注:
算力调度的名词定义,不同的研究机构或单位对其稍有不同,但基本上都是以“对计算的能力的调度”为中心。以下是其他两个研究机构或单位的定义。
(1)东吴证券《计算机行业深度报告:算力调度,算力时代的国家电网》中对算力调度的定义:指在一定区域或者系统中合理分配和利用计算机资源的过程。
(2)Imagination官方博客对算力调度(Computational Power Scheduling或Computing Resource Scheduling)的定义:是指在计算机集群、数据中心或云计算环境中,对计算资源进行分配和管理的过程。尤其是针对大规模计算任务,如人工智能训练、大数据分析、高性能计算等,需要将有限的算力精准地分配到对应的任务中,提高计算效率和资源利用率。
2 算力调度的核心技术
实现算力调度的技术涉及多个方面,这些技术共同构成了算力调度系统的核心,主要的有如下内容。
- 算力感知
算力感知是实现算力调度的基础,通过感知全网的算力资源信息,包括计算资源、存储资源等,确保能够按需、实时地调度不同位置的算力资源。
- 算力度量
算力度量标准的建立可以将算力资源统一表达为包含计算、网络、存储等多维度资源的综合模型,是实现灵活调度多元异构算力资源的前提。
- 算力路由
算力路由的作用是根据所感知的抽象算网资源,综合考虑计算资源及网络状态,按需将业务流量灵活路由至适当的计算节点中。
- 算力调度算法
算力调度算法是算力调度系统的核心,它根据任务特性、资源可用性、用户需求等因素,实现最优的任务分配。
- 虚拟化技术
通过虚拟化技术,可以将物理算力资源划分为多个虚拟资源,允许多个用户或任务共享同一块物理算力资源,同时保证性能和资源的隔离。
- 容器编排技术
在算力调度中,容器编排技术扮演着关键角色,尤其是在高性能计算场景下。容器编排技术可以实现对容器化应用的高效调度和管理,确保应用能够按需、实时地获得所需的算力资源。
- 确定性网络技术
确定性网络技术为数据流传输提供提供带宽、时延、抖动等质量可确定的服务,有助于保障算力网络中的数据传输质量和稳定性。
- 算网编排技术
算网编排技术能够实现对算力资源和网络资源的统一编排和部署,确保算力任务能够按照预定的路径和策略执行。
通过不断优化算力调度技术,也将推动算网协同调度的深化发展,进一步实现计算资源和网络资源的统一管理和协同工作,能够结合网络优势以更高性能、更优稳定性为各类任务的高效处理提供支撑。
3 算力调度的核心技术
以下对算力调度平台的相关描述,不仅适应于AI算力调度平台,也适应于普通的不包含或只包含少量AI资源的算力调度平台。但主要仍指AI算力调度平台,因为当在分析与使用算力调度平台时,主要是关注其中的AI应用及相关软硬件资源。它的核心功能主要有如下几点。
- 资源监控和管理
算力调度平台首先需要监控各种计算资源,包括CPU、GPU、TPU等,以及存储和网络资源的使用情况。通过收集和分析这些数据,平台可以实时了解资源的负载和可用性,并进行相应的管理和调整。
- 任务调度与优先级管理
算力调度平台需要根据任务的类型、优先级和需求,进行智能的任务调度。高优先级的任务通常会被优先分配计算资源,以保证重要任务能够及时完成。而低优先级的任务则可能被推迟或暂停,以便让更紧急的任务得到更多资源。
- 弹性扩缩容
算力调度平台需要具备弹性扩缩容的能力。当任务量增加时,平台应能自动扩展计算资源,以满足需求。而在任务量减少时,平台也能自动释放多余的资源,避免资源浪费。
- 资源分配策略
算力调度平台需要设计合理的资源分配策略,以确保每个任务都能得到足够的计算资源,并且在不同资源间实现均衡的负载。这需要平台考虑到任务的大小、资源的类型、网络延迟等因素,制定相应的调度策略。
- 任务迁移与容错
在分布式系统中,硬件故障或其他意外情况难免发生。算力调度平台应具备任务迁移和容错的能力,使得任务可以从一个故障节点无缝迁移到其他正常节点上,保证任务的可靠执行。
- 安全和合规
确保计算任务在安全的环境中执行,管理用户的访问权限,保护数据的安全性和隐私。
4 算力调度平台的应用场景
应用场景包括如下,可能还有更多内容且还在发展更新中,笔者知识面与水平有限未能全部列举出来:
- AI训练与推理:
在AI大模型训练和推理过程中,算力调度平台能够实现跨资源池、跨架构、跨厂商的异构算力资源调度,满足AI训练作业的高算力需求。
- 云计算与数据中心:
在云计算和数据中心领域,算力调度平台能够整合不同来源、类型和架构的算力资源,为用户提供按需获取和调度的服务。
- 智慧城市与物联网:
在智慧城市和物联网领域,算力调度平台能够实现对海量数据的快速处理和分析,为城市管理和物联网应用提供强大的算力支持。
算力调度平台作为推动我国数字经济发展的重要基础设施之一,具有广阔的发展前景和应用空间。随着技术的不断进步和应用场景的不断拓展,算力调度平台将在未来发挥更加重要的作用。未来,随着全国一体化算力调度平台的建设将有利于全国算力供需的精准对接,推动算力像水电煤气网一样“随时随地、即取即用”。
5 参考文章
(1)国家信息中心在2020年12月份发布的《智能计算中心规划建设指南全文》
(2)https://www.cloudchef.io/h-nd-303.html
(3)Imagination官方博客
本文个人学习后的内容总结,如果觉得有用,欢迎点赞与在看!
后续如有完善或修正,将继续更新此博客。