T-CESA 1228.1-2022 人工智能计算设备调度与协同 第1部分:虚拟化与调度系统技术规范_第1页
T-CESA 1228.1-2022 人工智能计算设备调度与协同 第1部分:虚拟化与调度系统技术规范_第2页
T-CESA 1228.1-2022 人工智能计算设备调度与协同 第1部分:虚拟化与调度系统技术规范_第3页
T-CESA 1228.1-2022 人工智能计算设备调度与协同 第1部分:虚拟化与调度系统技术规范_第4页
T-CESA 1228.1-2022 人工智能计算设备调度与协同 第1部分:虚拟化与调度系统技术规范_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CCSL70团体标准Artificialintelligence—ComputationschedulingandcooperatiPart1:Technicalspe中国电子工业标准化技术协会发布T/CESA1228.1-2022前言 III 2规范性引用文件 3术语和定义 4缩略语 5人工智能计算虚拟化与调度系统架构 46虚拟化技术要求 6.1概述 6.2基本要求 6.3资源抽象 6.4CPU虚拟化 6.5GPU虚拟化 6.6NPU虚拟化 6.7FPGA虚拟化 6.8虚拟化接口 7计算资源调度技术要求 7.1概述 7.2资源调度技术要求 8运维监控 9测试方法 9.1虚拟化测试 9.2集群调度测试 附录A(资料性) 参考文献 T/CESA1228.1-2022本文件按照GB/T1.1-2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起本文件是T/CESA1228—2022《人工智能计算设备调度与协同》的第1部分。T/CESA1228—2022已经发布了以下部分:——第1部分:虚拟化与调度系统技术规范;——第2部分:分布式计算技术要求。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由中国电子技术标准化研究院提出。本文件由中国电子技术标准化研究院、中国电子工业标准化技术协会归口。本文件起草单位:中国电子技术标准化研究院、华为技术有限公司、上海依图网络科技有限公司、上海天数智芯半导体有限公司、北京航空航天大学、中国医学科学院生物医学工程研究所、上海商汤阡誓科技有限公司、达闼机器人股份有限公司、昆仑芯(北京)科技有限公司、深圳市矽赫科技有限公司、深圳云天励飞技术股份有限公司、上海燧原科技有限公司、南通大学、上海计算机软件技术开发中心。本文件主要起草人:董建、鲍薇、舒驰、赵春昊、徐洋、李小娟、马骋昊、余雪松、栾钟治、曹晓琦、许源、蒲江波、金古、张站朝、李艳华、洪鹏达、王志芳、姚建国、嵇天博、陈文捷。T/CESA1228.1-2022引言本文件是T/CESA1228—2022《人工智能计算设备调度与协同》的第1部分。T/CESA1228—2022已经发布了以下部分:——第1部分:虚拟化与调度系统技术规范。目的在于确立人工智能计算设备虚拟化与调度系统的架构,规定技术要求,描述了对应的测试方法。——第2部分:分布式计算技术要求。目的在于确立人工智能计算设备分布式计算的参考架构,规定软硬件系统的功能和性能技术要求。T/CESA1228.1-20221人工智能计算设备调度与协同第1部分:虚拟化与调度系统技术规范本文件确立了人工智能计算设备虚拟化与调度系统的架构,规定了技术要求,描述了对应的测试方法。本文件适用于指导人工智能计算设备虚拟化与调度系统的设计、研发、测试。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。T/CESA1169—2021信息技术人工智能服务器系统性能测试规范3术语和定义下列术语和定义适用于本文件。3.1[人工智能]计算单元[artificialintelligence]computingunit[AI]计算单元执行AI计算任务所必要的部件的最小集合。3.2[人工智能]加速卡[artificialintelligence]acceleratingcard[AI]加速卡专为人工智能计算设计、符合人工智能服务器硬件接口的扩展加速设备。3.3[人工智能]计算实例[artificialintelligence]computinginstance[AI]计算实例执行AI计算任务的虚拟化对象。3.4T/CESA1228.1-20222一种将不同架构、不同实现方式的人工智能计算资源组织起来,自动按需满足不同计算需求的统一调度软件集合。注1:异构资源池提供一种可伸缩计算架构,有利于合理分配计算资源,为不同运行环境(例如云、集群、移动设),辑门阵列(FPGA),数字信号处理器(3.5计算能力computingcapability产品或系统参数能够满足计算需求的最大程度。3.6神经网络处理器neural-networkprocessingunit一种专门针对神经网络计算进行特殊优化设计的集成电路元件。3.7人工智能[计算]任务artificialintelligencecomputingtaskAI任务为取得特定人工智能计算目标所需的活动。[来源:ISO/IEC25062—2006,4.9,有修改]3.8性能performance人工智能加速卡在运行计算任务时,可被测量的特性,在评估AI任务的性能时,一般采用吞吐率特注2:性能基于一个或多个参数(如能耗、流量[来源:ISO/IEC20000.10—2018,3.1.16,有修改]3.9人工智能集群artificialintelligencecluster遵循统一控制的,人工智能计算功能单元的集合。3.10节点node由网络连接的,能完成特定人工智能计算任务的物理或逻辑AI计算设备。T/CESA1228.1-20223[来源:ISO/IEC14575—2000,3.2.27,有修改]3.11虚拟化virtualization一种资源表示形式,表示与潜在的物理资源解耦。[来源:ISO/IEC17826—2022,3.55]3.12调度scheduling控制特定任务整体或部分的执行场所和时间的过程。[来源:ISO/IEC10164.15—2002,3.7.4,有修改]3.13协同collaboration一种过程或方法,特意安排多个实体共同工作,以完成事先商定的同一个任务(目标)。[来源:ISO30401—2018,3.23,有修改]4缩略语下列缩略语适用于本文件。AI人工智能(ArtificialIntelligence)BAR基址寄存器(BaseAddressRegister)CPU中央处理器(CenterProcessingUnits)DDR双倍速率传输率(DoubleDataRate)DMA直接存储器访问(DirectMemoryAccess)FPGA现场可编程逻辑门阵列(FieldProgrammableGateArray)GDDR图形双倍速率传输存储器(GraphicsDDRSDRAM)GPU图形处理器(GraphicsProcessingUnits)HBM高带宽存储器(HighBandwidthMemory)NPU神经网络处理器(Neural-networkProcessingUnits)PCIE外设部件互联高速通道(PeripheralComponentInterconnectExpress)QEMU快速模拟器(QuickEMUlator)QoS服务质量(QualityofService)USB通用串行总线(UniversalSerialBus)VFIO虚拟功能输入/输出(VirtualFunctionInputOutput)VM虚拟机(VirtualMachine)VMX虚拟机扩展(VirtualMachineExtension)VMM虚拟机监视器(VirtualMachineMonitor)T/CESA1228.1-202245人工智能计算虚拟化与调度系统架构AI计算虚拟化(见第6章为AI物理计算资源提供特定的表示形式。在此基础上形成异构资源池,以一致的方式使用AI计算物理资源。图1中,1个AI应用可被分解为若干个AI计算任务,下发给调度系统(见第7章)。系统根据任务和资源池的情况,选择若干虚拟化的AI计算实例,分配并执行特定任务。虚拟化方案包含对基于CPU,GPU,NPU,FPGA的物理AI加速卡的虚拟化。运维监控(第8章)是系统对计算实例、物理计算资源(AI加速卡)、AI任务及其状态的监测与控制。图1人工智能计算资源虚拟化参考架构6虚拟化技术要求6.1概述AI系统的虚拟化技术是一种计算资源管理的方法,切分、调配或整合含有各类型加速器的不同AI加速卡,使其执行AI计算任务,以提高计算资源利用率。6.2基本要求6.2.1AI加速卡的虚拟化,应符合以下要求:a)能实现单个AI加速卡虚拟化为多个AI计算实例;b)能实现多个AI加速卡虚拟化为单个AI计算实例;c)AI计算实例,能在虚拟机和容器中执行计算任务;d)支持AI加速卡的切分与隔离;e)能基于PCIE或USB连接部署。6.2.2虚拟化组件或系统,宜实现下列对AI计算实例的监控功能,包括:a)资源(含计算资源)利用率监测;T/CESA1228.1-20225b)算子执行时延统计;c)虚拟计算实例带宽监测;d)计算实例的性能波动(见)监测;e)虚拟化后,AI加速卡的计算能力损耗计量。6.2.3虚拟化组件或系统应实现资源复用机制(如分时复用或分区复用符合AI任务动态负载特性或资源可变特性要求。6.2.4虚拟化组件或系统应符合下列关于隔离的要求:a)实现AI计算实例隔离,保障用户数据和硬件设备的安全;b)故障隔离,符合以下要求:1)实现计算实例的业务故障隔离,计算实例内的单点故障只上报其所属的虚拟机;2)多个计算实例的运行,互不干扰;3)提供调用,返回特定计算实例的业务故障;4)实现PCIE故障、DDR故障、内存总线挂死等设备故障隔离;5)提供机制,使计算实例获知其所依赖物理设备的单点故障;c)性能隔离,特定用户使用计算资源的性能,不被并发执行的其他用户的任务影响,而出现下降的情况;d)安全隔离,实现下列功能,包含但不限于:1)防止仿冒;2)防止篡改;3)防止信息泄露;4)防止拒绝服务攻击;5)防止权限提升;6)防止抵赖。6.2.5虚拟化组件或系统,实现在多用户和动态任务情况下的计算资源重配置,以提高系统整体性能,符合以下要求:a)应为单个AI任务的独立运行,实现QoS机制;b)应为多个任务的同时运行,实现资源获得公平性机制;c)宜能与下列机制或过程配合使用,包含但不限于:1)高可用集群;2)负载均衡;3)内存复用,方式包括内存气泡、内存置换、内存共享等;4)CPU、内存、AI加速处理器等的扩容。6.3资源抽象6.3.1虚拟化过程形成资源抽象,为调度提供必要属性及状态信息,符合以下要求:a)1个AI计算实例可对应全部物理资源或部分物理资源;f)AI计算实例应至少能执行以下关于神经网络的计算:1)完整的卷积计算;2)完整的向量计算;T/CESA1228.1-202263)完整的标量计算;4)数据传输和交换;g)AI计算实例应包含以下部件并作为调度依据:1)计算部件;2)缓存部件;3)寄存器;4)存储器;5)数据通信部件;h)AI计算实例应包含以下状态:1)空闲可使用;3)损坏;i)AI计算实例的规格,包含计算能力、内存空间、数据传输率等;j)AI计算实例的拓扑信息,包含但不限于:1)AI计算实例所属的AI加速卡;2)AI加速卡所属的服务器及其在服务器中的位置;3)服务器所属的集群,及其在集群中的位置。6.3.2AI计算图是对AI任务的抽象,应包含:a)数据流图:1)用有向图表示,1个有向图由点和边构成,表示神经网络的计算流程,是一种逻辑流图,在硬件上转换为物理流图;2)有向图中的点表示计算;3)有向图中的边表示数据依赖;4)数据流连接线以外出箭头表示将数据写入数据存储;5)数据流连接线以输入箭头表示从数据存储中读取数据;k)用于执行数据流图的虚拟设备;l)计算流是数据流图中能被并行处理的任务或切分后的子图,计算流是任务的集合:1)计算流的同步,即一个计算流中的任务依赖于另一个计算流中的任务;2)计算流可并行处理,受硬件资源约束;m)任务包括算子执行、数据同步、数据迁移等;n)事件用于标记计算流,用于计算流的同步,操控设备的运行步调;o)标识,用于表示任务同步,用于实现集合通信时不同设备间的任务同步;p)核心,如二进制指令的注册,内核函数的注册、启动等;q)任务上下文,包括缺省计算流、若干用户流、属性(如调度策略)等;r)任务、事件、标识及相关机制,可用硬件或软件实现。6.3.3单AI加速卡所含的硬件资源应能被映射为多个AI加速卡,包含对处理器和内存等资源的切分,映射为不同的设备,并受硬件资源总数的限制。6.3.4事件、标识和任务及相关机制以软件实现时,则不受硬件资源总数的限制。6.4CPU虚拟化6.4.1概述T/CESA1228.1-20227CPU虚拟化分为基于软件的虚拟化和硬件辅助的虚拟化。CPU一般用于推理任务。虚拟机(guestVM)可使用多个CPU计算实例(vCPU这些计算实例可源于同一个物理CPU或多个物理CPU的虚拟化。CPU虚拟化的参考架构见A.2。6.4.2CPU计算实例CPU虚拟化系统或组件,应符合以下要求:a)CPU计算实例能完成机器学习推理任务;b)能避免宿主机上CPU资源的浪费;c)支持CPU计算实例热插拔,为虚拟机添加CPU计算实例;d)支持vCPU亲和性配置;e)CPU计算实例的规格,应使用以下指标衡量:1)处理器内核数;2)每个内核的线程数;3)CPU划分的比例;4)内存容量;5)缓存容量。6.5GPU虚拟化6.5.1概述GPU的虚拟化能保证计算能力按需使用,提高利用率。一般通过分时复用或空分复用的方式得到GPU计算实例。GPU提供向量计算,能用于游戏渲染、媒体编解码、深度学习计算、加解密等场景。6.5.2GPU计算实例GPU虚拟化系统或组件,应符合以下要求:a)支持其非虚拟化版本能执行的机器学习算法;b)6.2的要求;c)通过时分复用或空分复用的方式得到计算实例;d)GPU计算实例,包含以下部件:1)计算部件:执行计算的单元,即流处理器,完成整形和浮点型计算;2)视频编解码部件;3)内存(包括DDR、GDDR和HBM等容量单位是MB或GB,带宽单位是GB/s4)各级缓存(容量单位是MB或GB,带宽单位是GB/s);5)共享存储;e)支持负载均衡;f)支持本地硬盘直通;g)支持网络接口卡直通;h)GPU计算实例的规格,应使用以下指标衡量:1)计算能力(单位:GOPS或GFOPS);2)视频编解码能力(单位:1路1080P,30FPS);3)内存/显存容量(单位:GB);4)缓存容量(单位:MB);5)网络宽带和收发包吞吐率(GPU间)。T/CESA1228.1-202286.6NPU虚拟化6.6.1通则NPU的虚拟化架构见图2,参考方案见A.1。NPU的虚拟化组件或系统,应符合以下要求:a)能根据计算任务需要,对1个或多个NPU组成的计算单元,实施时间和空间切片,再将这些NPU时间片或空间片分配给虚拟机;b)符合6.2的要求;c)实现NPU计算QoS控制机制;d)要虚拟化的NPU计算单元,符合以下要求:1)支持独立完成完整的神经网络计算;2)具备AI核心:执行张量计算;3)具备向量核心:执行向量计算;4)具备协处理CPU:流水线调度及逻辑、标量运算执行;5)具备宿主机5)具备宿主机CPU:NPU设备所挂载主机的CPU,执行训练过程中模型和数据的读写;e)NPU的属性包括功耗和计算能力;f)能按AI计算任务量,动态分配计算实例规格,实现加速卡的虚拟化。图2NPU虚拟化架构图6.6.2NPU计算实例NPU计算实例(vNPU),应符合以下要求:a)提供矩阵乘的计算部件,执行卷积与全连接的计算:b)提供向量运算的部件,以执行池化、激活函数以及批正则化等运算:c)提供控制和标量运算的计算部件,包含:T/CESA1228.1-202293)专用寄存器;d)提供数据的存储部件;e)提供数据通路部件,保证计算部件与存储部件之间的数据供应;f)NPU计算实例能执行并完成AI推理和训练任务;g)NPU计算实例的规格,用以下指标衡量:1)计算能力;2)吞吐量;4)缓存;5)剩余带宽。6.7FPGA虚拟化6.7.1通则FPGA虚拟化是在时间和空间维度上,对多个FPGA的各类资源的调度与使用。FPGA的虚拟化,应符合以下要求:a)符合6.2的要求;b)支持深度学习加速,并具备性能隔离特性;c)支持多路计算;d)支持FPGAOverlay,在FPGA硬件之上,形成虚拟可编程架构,支持上层使用;e)支持部分可重构,将FPGA划分为多个vFPGA;f)支持FPGA动态重构和配置。6.7.2FPGA计算实例FPGA计算实例(vFPGA),应符合以下要求:a)支持其非虚拟化版本能执行的机器学习任务;b)为一个或多个动态重构的FPGA区域;c)对特定vFPGA实施动态重构时,其他vFPGA的运行不受影响;d)提供可重构区域的划分机制,避免FPGA资源的空置和浪费;e)FPGA计算实例规格,由以下指标衡量:1)计算能力;2)吞吐量;3)延迟;4)功耗;5)灵活度。6.8虚拟化接口6.8.1概述虚拟化接口包括:a)调度系统与CPU,GPU,FPGA,NPU等计算资源之间的接口;b)调度系统与AI应用中深度学习框架的接口。6.8.2计算实例的发现T/CESA1228.1-2022AI计算设备虚拟化系统或组件提供接口,提供以下功能,包含但不限于:a)对单个物理AI加速卡,获得以下信息:1)AI加速卡虚拟后可用计算实例的最大数量;2)已在执行计算任务的计算实例数量;3)卡的占用情况,含执行任务的计算实例资源占比和剩余可虚拟化的资源占比;b)获得计算实例的规格信息,应符合6.4.2e),6.5.2h),6.6.2g)或6.7.2e)的要求;c)获得计算实例的状态,包含但不限于:1)已使用:当前的计算实例正在执行相关的计算任务;2)未使用:当前的计算实例应处于空闲状态;3)损坏:当前的计算实例已经被损坏,无法执行相关的计算任务;d)资源池在以下情况时更新:1)加入新的计算实例;2)计算实例被释放;3)空闲计算实例被占用;4)计算实例进入等待队列;5)计算实例被损坏;6)损坏的计算实例修复;e)对单个AI加速卡的虚拟化,宜能实现以下功能接口:1)创建的AI虚拟计算资源,关联其归属的父设备(AI虚拟计算资源所在的物理AI加速器并提供相关的查询,包括但不限于:Python编程接口,sysfs接口,或命令;2)对计算实例的操作、控制接口;3)提供可写接口,用于填入创建虚拟化节点的必要信息;4)设备描述信息获取接口;5)虚拟化计算节点的驱动接口信息(驱动API);6)指向每个虚拟化计算节点的软链接。6.8.3计算实例的删除计算实例的删除接口应支持虚拟计算资源的删除与恢复,符合以下要求:a)计算资源的非物理删除;b)恢复已删除的资源(如计算资源的重新发现)。6.8.4计算实例的监控计算实例的监控接口,应能获取以下信息:a)计算实例状态信息,包含已使用、未使用、损坏和等待等;b)计算能力的监控和统计信息(如资源调度层所管理的物理计算能力的总和);c)计算实例所在的AI加速卡信息;d)计算实例的规格信息,包括内存、可观测带宽等;e)计算实例的工作频率、温度、功率以及电压信息;f)计算实例的算子时延剖析、时延统计信息。6.8.5计算资源的分配计算资源的分配接口,应提供以下功能:a)单AI加速器的分配;T/CESA1228.1-2022b)多AI加速器的整体原子性分配(全部分配成功,或全部都分配失败)。6.8.6计算实例的回收在特定情况下(如对超出计算实例使用期限、完成特定应用的数据所占资源的释放计算实例应能被回收,回收接口应提供以下功能:a)一次回收单个计算实例;b)一次回收多个计算实例,且保证操作的原子性。6.8.7接口的形式为资源调度提供的接口的形式,应是API或命令。7计算资源调度技术要求7.1概述7.1.1任务流程框架计算资源调度的任务流程见图3,包含以下步骤:a)用户提出训练或推理请求,作为AI任务放入任务池;b)调度器从AI任务池中取任务,根据任务的规格(所需计算能力、内存等)和可用AI加速卡,申请符合AI任务要求的计算实例;c)调度器对所有的异构计算资源和AI计算实例实施监控,完成任务的调度。图3AI计算任务调度流程框架7.1.2训练场景训练场景中,任务池中含有训练任务请求。训练任务的吞吐量较大时,对单AI加速卡的资源利用效率较高。单训练任务对AI加速卡资源的占用情况包括以下情形:a)在单AI加速卡上运行,该卡资源被全部占用,见图4;图4训练任务占满一块卡T/CESA1228.1-2022b)在单AI加速卡上运行,该卡资源未被全部占用,见图5;图5训练任务占用一块卡,有空闲c)在多AI加速卡上运行,全部加速卡存在空闲资源,见图6;图6图6训练任务占用多块卡d)在多AI加速卡上运行,部分加速卡资源均被占用,见图7;图7训练任务占满多块卡7.1.3推理场景推理任务对AI计算单元的占用,包含如下情形:a)模型体量较小,能容纳于单卡或单片内存时:1)推理需要异构的AI计算资源,但大多数场景吞吐量较小,资源使用率较低;2)计算资源的调度需细粒度划分(如以单卡中的块或片为调度单位,使多推理任务共用特定计算资源,即单芯片多任务模式);T/CESA1228.1-20223)部署时根据计算任务申请所需计算资源,优先在单芯片上安排推理任务,使单芯片满载。一种单芯片上的任务划分情况示例见图8。图8单芯片上的推理任务划分示意图b)模型体量较大,不能容纳于单卡或单片内存时:1)规模所含计算层数多(如1000层以上),任务吞吐量大,拆分为多个子模型;2)数据搬运在单芯片内数据搬运速度最快,跨卡调度影响计算速度;3)多芯片单任务,但不会拆分子模型;4)计算资源的调度以卡为单位分配;5)调度器将推理任务按照模型体量实施拆分;6)在单AI加速卡上优先安排同一子模型,计算完成后则分配剩余子模型给卡计算。一种多芯片上的推理任务划分情况实例见图9。图9多芯片上的推理任务划分示意图7.2资源调度技术要求7.2.1调度器应实现下列功能:a)对整AI加速卡(处理器)的调度;b)对池化的多AI加速卡的调度;c)对单AI加速卡上计算单元的调度;d)对单AI加速卡虚拟化所得的多计算实例的调度;e)对多AI加速卡中的多个计算单元的调度。7.2.2对多个计算单元或多个AI加速卡的调度,调度器应保证调度操作的原子性。7.2.3调度器应实现任务拆分,当同一任务包含的多个模型时,能将不同模型分配给不同计算实例,保证全局资源利用率最高。7.2.4调度器应实现模型切换,在同一计算实例上,在某神经网络运行完成时,能换入另一个神经网络并运行。T/CESA1228.1-20227.2.5调度器应实现负载均衡,在有剩余计算节点时,能分配任务,避免单卡、单片或单块的负载过7.2.6调度器应能采集、分析和汇总性能数据,涵盖以下设备,包含但不限于:控制CPU、调度CPU、AI芯片(如NPU中的AI计算单元)、外围设备、内存等。7.2.7对多卡的虚拟化和调度,调度器宜能在调度过程中参考集合通信组件的属性和状态。7.2.8调度器宜提供AI任务在异构计算设备上的系统性能分析工具,工具宜提供系统状态预测或监控信息,包括但不限于以下形式:a)时序信息图方式,以时间线的形式展示AI任务相关性能信息:1)计算图信息:计算图执行时间、推理时间、图像等数据的预处理时间;2)算子的执行时间:单算子执行起止时间、单算子耗时;3)每个线程运行时API的时序信息;4)4)AI计算单元上内核函数的运行时序信息;5)任务调度的任务运行时序信息。b)硬件视图方式,展示数据传输的带宽信息,可帮助用户或调度器找出数据处理和传输的瓶颈,如读写带宽过低可能是算子编写的数据搬运过程有问题。c)AI处理器函数和CPU函数视图:1)采集各形式处理器上的热点函数(执行频率较高的函数);2)展示的信息应包含但不限于:模块名、函数名、调用堆栈、指令数、指令数耗时占比、对应子项的循环次数等。d)概括性视图,汇总采集的信息并展示,包含但不限于:1)性能数据采集起止时间及耗时;2)服务器性能基本信息,包括操作系统和CPU信息;3)加速设备信息(包含GPU、NPU或FPGA),如协处理CPU的核数、AI计算单元数量等;4)内存及高级缓存信息,即整个采集过程中内存读写带宽的平均值;5)CPU的利用率;6)系统信息,包含但不限于:系统总内存、空闲空间、内存缓冲区大小、高速缓冲存储器使用量、共享内存、虚拟内存限值等;7)控制CPU的信息,包括但不限于:运行的函数名称、此函数关联的模块、此函数运行的时钟周期数、虚拟环境中操作系统消耗占比、内核态进程时长占比、空闲状态时长占比等;8)AI计算单元的信息;9)算子统计信息,包括但不限于:算子的个数、名称、耗时、对应的起止调度时间、输入输出张量的内存大小、权重大小等;10)图像视频任务相关信息,包括但不限于:任务的时间、任务的帧数等;11)模型的数据输入、AI计算任务(推理或训练)、数据输出的耗时。7.2.9对调度策略,宜考虑如下的因素:a)使全局资源的平均利用率最高;b)调度的计算资源涉及多个AI加速器时,根据卡的拓扑来制定调度策略(如亲和性调度)。T/CESA1228.1-20228运维监控8.1运维监控的对象包括对计算实例、AI加速卡、AI任务、日志的收集与处理等的监控。8.2对计算实例的监控,应符合以下要求:a)支持对计算实例状态的监控(见6.8.4);b)支持对计算实例的异常检测,并对用户开放定制化的检测项;c)支持计算实例的异常警告,并支持用户自定义警告的阈值和警告的方式;d)支对计算实例的日志收集、分析和可视化展示的功能。8.3对AI加速卡的监控,应符合以下要求:8.3.1应能监控AI加速卡的下列属性:a)计算能力;b)带宽;8.3.2应能监控并返回AI计算实例的下列统计信息:a)计算实例的总数;b)可用的计算实例数;c)占用的计算实例数。8.3.3应能监控单AI加速卡上各计算实例的性能偏移的情况;注:对单AI加速卡,虚拟化N(N是正整数)个相同规格的计算实例时,每个实例的参考性能是1/N,实际性能与参8.3.4应能监控返回AI加速卡的状态:a)资源占用比例;b)可用比例;c)是否损坏。8.3.5应能监控返回以下关于AI任务的信息:a)训练任务或推理任务的吞吐量;b)训练任务或推理任务占用的计算实例信息,以及计算实例所处的AI加速卡。8.3.6对于日志的收集与处理,应符合以下要求:a)支持加速设备的管理,如新增、删除、修改等;b)对用户,提供日志的查询,按关键字搜索日志内容;c)提供清除显示的功能;d)提供和日志下载和保存的功能。8.3.7应能提供以下级别的日志:a)提供一般级别错误的日志(ERROR):T/CESA1228.1-20221)非预期的数据或事件;2)影响面较大但是内部模块可处理的错误;3)限制在模块内的错误;4)对其他模块有影响但较轻微的错误,如统计任务创建失败;5)引起调用失败的错误。b)提供警告级别的日志(WARNING),如设备状态与预期不一致,但不影响系统的运行。c)提供正常级别的日志(INFO),设备正常运行的信息;d)提供调式级别日志(DEBUG),记录调式信息,协助开发维护人员定位问题;e)提供关键事件的日志(EVENT),如:1)整网运算启动、完成和异常终止;2)内存耗尽;3)设备温度超出正常阈值。8.3.8日志的记录,应包含以下信息:a)日志的级别;b)产生日志的模块名称;c)进程标识符;d)进程名称;e)日志打印的时间;f)各模块日志内容。9测试方法9.1虚拟化测试9.1.1性能隔离测试性能隔离测试应计量性能偏差,即实际性能与理论性能之差的绝对值,性能指标为吞吐率。示例:单用户或任务独占单AI加速卡时,训练或推理的性能是p。当给计上应该为1/4p。虚拟化方案应尽可能使计算实例的实际计算能力接近理论值。偏差(小于理离效果越差。用实际值p^'理论值p的偏差来注:单AI加速卡通过虚拟化切分为多计算实例时,各实例应能分配给多个用户使用性能隔离测试应按以下规则实施:a)选取特定AI任务,实施测试;b)测得基准性能作为理论值(见a));c)对特定AI任务,分配单AI加速卡一定比例(见b)~e))的计算资源;注:比例数值在具体测试时确定,但对同一测试批次中不同AI加速卡的虚拟化测试,应保持一致。d)设定单AI加速器上所执行的最大任务数量n(n为正整数对该任务使用已分配的计算资源,为剩余(n-1)个任务分配剩余的计算资源;e)按计算性能偏差;f)性能隔离测试,按下列因素排列组合,确定模式:T/CESA1228.1-20221)训练或推理;2)单一模型或多模型负载;3)是否满载。性能隔离测试负载包含:a)基准性能:单模型负载独占单AI加速卡(无虚拟化),测得基准性能(见图10),负载见表图10基准性能测试表1基准负载测试1MobileNet234b)单模型满载:将单AI加速卡按比例虚拟化获得多个AI计算实例,每个计算实例运行相同的AI任务见图11负载见表2;图11单模型满载测试表2单模型满载训练1224324452647284c)多模型满载:将单AI加速卡按比例虚拟化获得多个AI计算实例,每个计算实例运行不同的模型(见图12),负载见表3;图12单一模型满载测试T/CESA1228.1-2022表3多模型满载训练123d)多模型非满载:将单AI加速卡按比例虚拟化获得多个AI计算实例,但留有空余,每个计算实例运行不同的模型(见图13),负载见表3;图13多模型非满载测试e)单模型非满载测试:将单AI加速卡按比例虚拟化获得多个AI计算实例,但留有空余,每个计算实例运行相同的模型(见图14),负载见表4。图14单模型非满载测试表4单模型非满载训练12233243526472849.1.2任务动态扩展测试实际应用场景中任务可能动态添加(任务到达)或删除(任务执行完毕或取消),应测试任务数量的动态变化(见图15)对性能的影响。随任务数增大,整体性能波动(见)宜尽可能小。T/CESA1228.1-2022图15任务动态扩展测试任务动态扩展测试应按以下规则实施:a)对相同的训练或推理任务,实施扩展测试,每个任务应完全一致,包括模型、数据集、训练方法或推理模式(如离线模型压缩、部署方式)等;b)任务数取值为1,2,4,8,16;c)记录不同任务量下的吞吐量。任务动态扩展测试的负载见表5。表5基准负载测试12349.1.3性能损耗测试对单AI加速卡,性能损耗是非虚拟化使用时的满载性能与虚拟化后满载性能的差值。性能损耗测试应按以下规则实施:a)被测AI加速卡的计算实例数应不小于3;b)性能损耗测试,按下列因素排列组合,确定模式:1)多计算实例相同负载;2)多计算实例不同负载。测试负载见9.1.13)a)~c)。9.1.4测试指标吞吐率:定义及计算方法见T/CESA1169—2021中6.3.3(训练)和7.3.3(推理)。性能偏差:虚拟化后所得AI计算资源的理论性能与实际性能之差的绝对值,按公式(1)计T/CESA1228.1-2022式中:——单AI加速卡虚拟化后的性能偏差;n——AI计算实例的个数;P——理论性能(基准性能);——每个计算实例分配的资源占整卡的比例,取值可为:12.5%,25%,50%,75%;——每个AI计算实例的实际性能。性能损耗:非虚拟化使用时的满载性能与虚拟化后满载性能的差值,按公式(2)计算:式中:cios——性能损耗;T,——AI任务在计算实例上的执行时长;TP——相同AI任务在未虚拟化的物理机上的执行时长;COTEP——是物理机的计算单元数;core,——虚拟化后计算实例的计算单元数。性能波动:单物理加速卡上虚拟化得到多个规格相同的计算实例,同时运行相同的AI任务时,所有计算实例中最大的执行时长均值与最小时长均值的比,按公式(3)计算:式中:n——第n个计算实例;N——计算实例总数;T——运行特定计算任务的时间长度,按T/CESA1169-2021中6.3.1(训练)和7.3.1(推性能波动值=所有计算实例中最大的执行时长平均/最小执行时长平均。9.2集群调度测试9.2.1集群调度测试范围包含:a)集群利用率:所有AI加速卡(含已经故障下线的AI加速卡)的使用情况。越接近1.0越好;b)资源调度成功率:特定周期内调度成功次数与资源请求总次数的比例;注:前提要求实际物理资源与请求的资源是匹配的,请求的资源量没有T/CESA1228.1-2022c)任务资源利用率:实际分配给单AI任务使用的计算资源的使用情况。9.2.2集群调度测试按以下规则实施:a)集群调度的测试应规定具体的测试时间段,如7自然天,15自然天或30自然天等;b)对比测试时,测试负载模型、数据集、优化方法等应保持一致;c)任务负载按下列因素排列组合,确定模式:1)数据量;2)计算量,按负载模型体量划分;3)场景,按模型功能覆盖划分(如resnet系列、MobileNet系列等);4)任务(训练或推理)到达的模式,包括:离线、时分均匀、泊松到达等。d)集群利用率的检测周期为1个月,如对特定单AI加速卡,在周期内以固定频率(如1s)检测,记录每次的利用率。9.2.3集群调度测试使用以下负载:a)单一负载,包含:1)视觉负载,包括图片、视频任务;2)自然语言处理负载;3)普通机器学习负载(可选);b)混合负载,即3种单负载,按特定比例组合,实施测试。9.2.4测试指标集群利用率,按公式(4)计算:式中:Q——集群利用率;k——集群中AI加速卡的数量;——单AI加速卡的利用率。单AI加速卡的利用率,按公式(5)计算:式中:——统计周期内,特定AI加速卡的利用率;N,——该AI加速卡被占用的次数;qu——是抽样时的瞬时利用率(在无法检测瞬时利用率的系统中,占用时利用率为1.0)。T/CESA1228.1-20任务资源利用率,按公式(6)计算。其中,k为分配给特定任务的AI加速卡的数量。对动态任务(任务执行中释放资源或申请新的资源),则分段计量,以时长求加权平均。式中:qx——某个时间段内(期间,该分配给该任务的资源数恒定),单AI加速卡的利用率,计算方法见;T——该任务的执行总时长;j——执行该任务的第j个时间段(期间,分配给该任务的资源数恒定);kk——在第j个时间段内,分配给该任务的AI加速卡的数量;——第j个时间段的长度。T/CESA1228.1-2022典型处理器的虚拟化参考架构A.1NPU虚拟化参考架构NPU的虚拟化包含但不限于以下方案:通过VFIO-mdev框架创建出虚拟NPU设备,并经过Qemu设备模拟层将vNPU设备模拟成标准的PCIE设备给GuestOS的设备驱动或虚拟机使用,使用方式与NPU设备直通虚拟化一致。PCIE设备的配置空间如下,设备模拟整体方案见图A.1:图A.1图A.1QEMU-NPU设备模拟方案PCIE配置模拟:根据PCIE协议模拟PCIE设备的VendorID、DeviceID等,呈现出一个跟物理设备相同功能的虚拟设备给GuestOS驱动。BAR空间:Host驱动和Guest驱动共享数据的通道,用以收发消息等。中断通知机制:Guest发送消息通知Host,Host通过中断通知Guest。DMA内存访问机制:数据拷贝流程将GPA地址转换成发起DMA访问使用的IOVA地址。b)方案二,软硬协同SR-IOV虚拟化:SR-IOV是一种IO虚拟化的技术标准,它是由PCI-SIG组织制定,它是一种基于硬件辅助的虚拟化技术,SR-IOV允许在虚拟机之间高效共享PCIE设备,由于它是基于硬件实现,因此可以获得与真实硬件性能接近的I/O性能。SR-IOV架构设备允许一个物理设备支持多个虚拟功能,它更多的关注减少每个附加功能的硬件成本。SR-IOV引入了两个新的功能类型:物理功能(PF,PhysicalFunction)和虚拟功能(VF,VirtualFunction)。具有SR-IOV功能的设备通过设置可以在配置空间出现多个功能,其支持的独立VF数量是可以配置的,每个功能拥有自己的配置空间包括BARs。VMM通过配置空间匹配可以为一个VM指定一个或多个VF,其基本原理图见图A.2:T/CESA1228.1-2022图A.2图A.2SRIOV虚拟化方案采用VFIO用户态驱动框架,物理NPU设备通过VFIO框架向用户态提供设备

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论