您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[顺丰科技]:EffectiveGPU技术白皮书 - 发现报告

EffectiveGPU技术白皮书

2025-04-01顺丰科技s***
AI智能总结
查看更多
EffectiveGPU技术白皮书

顺丰科技团队2025年4⽉ ⽬录CATALOGUE 概述01 背景介绍02 GPU算⼒发展的挑战2.102EffectiveGPU的技术⽬标2.303GPU池化和虚拟化的价值2.202 技术原理与架构05 技术架构3.105Volcano集成⽅案3.307核⼼组件3.206GPU虚拟化实现原理3.508HAMi兼容⽅案3.407 关键创新点09 创新点⼀:针对多节点异构GPU的池化和调度实现4.109创新点三:实现GPU的显存和算⼒切分保障机制4.311创新点⼆:抽象适配国产和海外GPU的统⼀调度接⼝4.210创新点四:通过显存超分和优先级保证多任务并⾏运⾏4.412 实施部署与测试13 云原⽣部署5.113部署功能测试5.315基于Volcano调度器部署5.214使⽤整卡EGPU5.3.115算⼒和显存切分5.3.215配置任务优先级5.3.316 应⽤场景与解决⽅案17 ⼤模型推理服务场景6.117语⾳识别场景6.317测试服务集群场景6.217适配国产算⼒的推理场景6.417 结论18 附录:名词解释与参考资料19 1.概述 在AI⼤模型推动产业智能化变⾰的新时代,算⼒资源的⾼效配置已成为制约企业数字化转型的核⼼命题。当前⼤模型推理服务呈现指数级增⻓态势,异构算⼒管理效率不⾜已成为掣肘企业AI应⽤落地、抬⾼运营成本的关键瓶颈。传统的异构算⼒资源分配模式(如独占GPU)分配模式暴露三⼤核⼼痛点:资源孤岛导致跨节点算⼒⽆法动态复⽤、粗粒度调度引发的资源浪费、以及异构环境适配性不⾜造成的管理复杂度攀升。 针对⾏业痛点,本⽩⽪书介绍了EffectiveGPU池化技术(简称egpu),通过统⼀调度接⼝标准、算⼒细粒度切分与跨节点协同调度,可显著提升集群GPU等异构算⼒的利⽤率和管理效率,为云端及边缘场景提供更灵活、更⾼效的算⼒基础设施,并且适配国产AI算⼒平台。作为构建GPU池化和虚拟化的算⼒基础设施核⼼技术,深⼊融合⾃研的AI技术平台,为构建⾃主可控的智能计算体系提供关键技术⽀撑。 2.背景介绍 GPU算⼒发展的挑战2.1 随着⼤模型技术与AI应⽤的爆发式增⻓,算⼒资源的⾼效利⽤成为产业核⼼诉求。传统GPU资源分配模式存在利⽤率低(平均<30%)、弹性不⾜(整卡独占)、⽣态碎⽚化(多⼚商硬件/协议差异)等诸多痛点: 算⼒资源利⽤率低 在AI⼤模型运⾏环境中,常规的GPU分配机制多采⽤独占模式,导致计算资源空置问题突出。特别是在模型推理和测试验证环节,GPU设备的算⼒负荷率和显存使⽤率普遍处于低下状态。 资源共享⼒度不⾜ 现有GPU资源调度⽅案通常局限于整卡分配,缺乏灵活的计算单元与显存空间切分机制。这种粗放式资源分配⽅式难以⽀撑多样化AI任务在单张加速卡上的并⾏执⾏需求。 异构硬件适配困难 当前加速器市场呈现多元硬件⽣态(涵盖GPU/NPU/及各类⾃研芯⽚),不同⼚商设备存在兼容壁垒,导致上层应⽤⾯临多平台适配成本⾼企的挑战。 GPU池化和虚拟化的价值2.2 基于创新的池化技术架构,实现异构算⼒细粒度切分、统⼀的调度接⼝与云原⽣⽀持,显著提升算⼒资源利⽤率(最⾼达200%显存超分能⼒),为AI训练、推理及科学计算场景提供灵活⾼效的算⼒基础设施⽀撑: EffectiveGPU技术⽩⽪书 资源使⽤效率优化 采⽤精细化资源分割与协同管理机制,突破传统单卡独占模式,有效激活闲置GPU算⼒的动态复⽤能⼒。 统⼀调度的接⼝标准 计算框架服务提供层以调度器插件(vGPU scheduler-plugin)以及定制化的异构算⼒设备插件(device-plugin)的形式,实现整个集群对于异构算⼒资源的复⽤请求。 增强云原⽣⽀持 深度融合Kubernetes原⽣插件架构,强化容器化环境对GPU等异构计算资源的全⽣命周期管控能⼒。 EffectiveGPU的技术⽬标2.3 EffectiveGPU项⽬的主要⽬的是提供⼀个异构算⼒虚拟化平台,⽤于管理和优化⼤规模异构算⼒集群中的资源利⽤,在云原⽣环境中简化部署和利⽤如GPU这样的复杂硬件的过程,同时提⾼资源的利⽤效率和灵活性。 具体来说,EffectiveGPU项⽬旨在实现以下⼏个关键技术⽬标: 异构设备管理:EffectiveGPU具备多样化异构设备(包括GPU、NPU等)的统⼀管理能⼒,⽀持跨Pod的设备共享机制,通过分析硬件拓扑结构特征并应⽤智能调度策略,实现更优的资源分配决策。 设备共享与资源隔离:系统提供细粒度资源管控⽅案,⽀持按核⼼利⽤率(百分⽐)和显存容量(MB)进⾏精确分配,对计算单元实施硬件级隔离。在保持业务⽆须改造的前提下,实现资源分割带来的性能损耗控制在5%以内。 弹性资源超配:⽀持GPU算⼒与显存的双维度超分技术,通过动态算⼒复⽤机制实现空闲资源跨应⽤调度,配合优先级队列保障⾼优先级任务QoS。基于统⼀内存架构实现200%显存超分⽐,突破单卡物理显存限制,⽀持多任务并发执⾏。 资源效率优化:采⽤创新虚拟化技术构建⾼密度资源复⽤体系,通过精细化资源调度策略提升硬件使⽤效率,有效降低闲置资源浪费,实现设备利⽤率的质的⻜跃。 ⽆缝兼容适配:采⽤⾮侵⼊式设计架构,确保现有业务系统⽆需任何改造即可平滑接⼊,全⾯兼容各类存量应⽤程序的运⾏环境。 智能调度体系:内置多维度调度策略引擎,⽀持基于节点特征、GPU型号等参数的⾃适应调度算法,持续优化集群资源分配效率。 精准设备调度:提供基于设备型号指纹和唯⼀标识符的精准调度能⼒,确保业务负载与硬件特性实现最优匹配。 EffectiveGPU作为⾃主研发的⽅案,在多⽅⾯展现显著优势。其免费特性,相⽐其他商业⽅案的付费模式,可节省软件授权成本。功能上,⽀持显存切分、算⼒切分以及⽀持显存超分和算⼒超分,突破硬件限制,提升资源利⽤率。同时⽀持计算优先级、训练和推理混部,满⾜灵活调度与⾼效部署需求。添加池化层后最低仅下降0.5%性能,最⼤程度保证GPU性能。提供运维与监控⽅⾯提供⽀持,且在公有云场景下⽆节点数限制,适⽤范围更⼴。 3.技术原理与架构 EffectiveGPU提出了⼀套⽀持算⼒细粒度划分、节点内算⼒调度、算⼒跨节点协同调度的GPU池化和虚拟化技术架构,通过GPU池化和混合云技术⽅案,实现所有GPU资源的统⼀视图,按需申请和弹性扩缩容。 技术架构 3.1 EffectiveGPU整体架构图如下: EffectiveGPU以GPU池化和虚拟化技术为核⼼,通过管理⾯实现对GPU资源的⾼效整合与调配。可整合私有云和公有云的GPU和NPU资源,⽀持GPU独占、切分、显存超分和算⼒超分等多种使⽤⽅式,满⾜机器⼈、语⾳识别、视频处理、翻译和VR等多样化应⽤场景,提升GPU资源的利⽤率和灵活性。 核⼼组件 EffectiveGPU包含⼀个核⼼关键组件,与调度监控相关包含额外的多个核⼼组件。 Volcano集成⽅案3.3 为了进⼀步与Volcano集成,本⽅案还提出了新的技术改造项,增强Volcano vgpu使⽤特性。 新增显存超分能⼒,通过device-memory-scaling参数动态调配显存超分系数,⽀持按不同的节点配置不同超分系数,同时保留原有的切分逻辑。 通过Volcano实现NUMA亲和调度,提升GPU资源使⽤效率,NUMA节点是构成⾮统⼀内存访问架构(Non-Uniform Memory Access,NUMA)系统的基本单位,⼀个NUMA集合是指单个Node节点上多个NUMA节点的组合,⽤于实现计算资源的有效分配,并降低处理器间内存访问的竞争。当CPU没有绑核或没有与GPU分配在相同NUMA节点上时,可能会由于CPU争抢或CPU与GPU跨NUMA通信导致应⽤执⾏性能下降。为了使应⽤的执⾏性能最⼤化,可以选择将CPU与GPU绑定在相同NUMA节点下。 通过Volcano与资源池特性实现并⽀持EffectiveGPU优先级QoS,混部等特性。 HAMi兼容⽅案3.4 HAMi作为⽬前主流的开源异构AI计算虚拟化中间件,提供了丰富的异构GPU管理接⼝,EffectiveGPU采⽤了兼容HAMi⽣态的架构实现⽅案,其核⼼兼容性设计体现在以下三个维度: 虚拟化接⼝兼容 虚拟化实现上兼容HAMi-core的使⽤⽅式,通过覆盖主流CUDA版本的接⼝虚拟化技术,实现原⽣CUDA应⽤的⽆缝接⼊,⽀持上下⽂隔离、时间切⽚等核⼼特性,确保不同任务间的算⼒隔离与资源分配时序⼀致性,使现有GPU应⽤⽆需改造即可透明化运⾏。 EffectiveGPU技术⽩⽪书 调度接⼝兼容 在调度和监控层⾯深度对⻬HAMi的云原⽣调度器功能,⽀持主流Kubernetes集群版本和Volcano调度器的深度集成,实现从资源请求、配额分配到任务编排的全链路标准化对接,确保现有调度策略与业务⼯作流⽆需重构即可平滑迁移⾄虚拟化环境。 异构GPU兼容 通过集成HAMi⽣态提供的国产算⼒device plugin,实现基于统⼀的抽象驱动框架和跨架构算⼒调度模型,实现对多种硬件加速卡的混合纳管与协同调度,结合拓扑感知优化能⼒,⽀持异构集群的资源池化与任务智能编排,实现不同硬件⽣态的⾼效整合。 GPU虚拟化实现原理3.5 4.关键创新点 4.1创新点⼀:针对多节点异构GPU的池化和调度实现 算⼒池化与调度 提出了⼀套⽀持算⼒细粒度划分、节点内算⼒调度、算⼒跨节点协同调度的国产化深度学习计算框架,从AI应⽤层、AI框架层、服务层、系统软件层和硬件核⼼层实现了异构国产AI算⼒平台的池化及调度。 算⼒细粒度切分 通过API拦截实现了算⼒细粒度切分,使任务能按需使⽤算⼒资源,避免资源浪费。 资源绑定与调度 通过服务提供层为AI应⽤绑定资源池中的资源,实现了国产化AI算⼒的调度框架。 技术实现细节 服务提供层和系统软件层⾯分别使⽤云原⽣调度⼯具(kubernetes)与容器⼯具(docker)实现。服务提供层实现异构算⼒的任务分发和资源池的组建;系统软件层利⽤替换任务调⽤链中的cudaDriver相关函数以及利⽤设备提供商提供的设备复⽤⼯具来确保任务使⽤的资源符合规定与限制。 调度策略研究 针对不同GPU算⼒的调度策略研究,形成了⼀套完善的调度机制,突破了Kubernetes集群中异构算⼒独占使⽤的限制,提升了集群利⽤率。 4.2创新点⼆:抽象适配国产和海外GPU的统⼀调度接⼝ 插件形式实现资源复⽤ 计算框架服务提供层以调度器插件(vGPU scheduler-plugin)以及定制化的异构算例设备插件(device-plugin)的形式,实现整个集群对于异构算⼒资源的复⽤请求。 任务资源声明与调度 每个任务提交到Kubernetes集群中时需声明其索要使⽤的异构算⼒类型及其规格,调度器插件查询任务信息后负责调度⼯作,普通任务交由kubernetes⾃带的默认调度器处理。 调度策略与资源分配 调度器插件中以⽆状态形式保存任务的异构算⼒资源信息,⽀持多种调度策略,根据策略将节点分配到合适节点,并将资源信息注⼊任务。 设备插件与任务启动 异构算⼒设备插件识别任务备注信息,设置环境变量、映射驱动⽂件和设备,交由容器⼯具启动任务。 资源限制层实现 系统软件层为容器内的资源限制层,能限制容器内对异构设备相关资源的使⽤。通过研究不同⼚商算⼒接⼝,构建基于异构算⼒调度需求的统⼀接⼝标准,屏蔽⼚商接⼝差异,实现异构算⼒调度的统⼀。 创新点三:实现GPU的显存和算⼒切分保障机制4.3 国产AI算⼒⽀持与适配 计算框架⽀持华为Ascend、百度昆仑、算能智能卡等国产AI算⼒,不依赖国外技术,同时适配主流AI框架和国产AI框架,如Paddle。 细粒度双端算⼒切分 提供细粒度的AI算⼒切分⽅式,解决云平台中算⼒资源浪费和⽆法共享的问题,通过API拦截实现切分,具有⾼⾃由度、强灵活性