人工智能 计算设备调度与协同 第1部分:虚拟化与调度 征求意见稿_第1页
人工智能 计算设备调度与协同 第1部分:虚拟化与调度 征求意见稿_第2页
人工智能 计算设备调度与协同 第1部分:虚拟化与调度 征求意见稿_第3页
人工智能 计算设备调度与协同 第1部分:虚拟化与调度 征求意见稿_第4页
人工智能 计算设备调度与协同 第1部分:虚拟化与调度 征求意见稿_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1GB/TXXXXX.1—XXXX人工智能计算设备调度与协同第1部分:虚拟化与调度本文件给出了人工智能计算设备虚拟化与调度的架构,规定了技术要求,描述了测试方法。本文件适用于人工智能计算设备虚拟化与调度的系统设计、研发和测试。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/TAAAAA-AAAA人工智能服务器系统性能测试规范3术语和定义GB/T41867-2022界定的以及下列术语和定义适用于本文件。3.1人工智能计算单元artificialintelligencecomputingunit执行人工智能计算任务所必要的部件的最小集合。3.2人工智能加速[处理]器artificialintelligenceacceleratingprocessor人工智能加速芯片artificialintelligenceacceleratingchip具备适配人工智能算法的运算微架构,能够完成人工智能应用运算处理的集成电路元件。3.3人工智能加速卡artificialintelligenceacceleratingcard专为人工智能计算设计、符合人工智能服务器硬件接口的扩展加速设备。注:人工智能加速卡按功能可分为人工智能训练加速卡,3.4人工智能计算实例artificialintelligencecomputinginstance执行人工智能计算任务的虚拟化对象。3.5虚拟化virtualization一种资源表示形式,表示与潜在的物理资源解耦。[来源:ISO/IEC17826:2022,3.55]2GB/TXXXXX.1—XXXX3.6[异构]资源池[heterogeneous]resourcepool一种由不同架构的人工智能计算资源集合形成的抽象实体,资源池内的人工智能计算资源能够被管理调度,以满足不同人工智能计算任务的需求。注1:异构资源池提供一种可伸缩计算架构,有利于合理分配计算资源,为不同运行环境(例如云、集群、移动设备、物联网)的人工智能应用系统的开发和部署提供计算能力、辑门阵列(FPGA)、数字信号处理器(DSP)、专用集成电路(3.7计算能力computingcapability产品或系统参数能够满足计算需求的最大程度。3.8神经网络处理器neural-networkprocessingunit一种专门针对神经网络计算进行特殊优化设计的集成电路元件。3.9人工智能计算任务artificialintelligencecomputingtask为取得特定人工智能计算目标所需的活动。[来源:ISO/IEC25062:2006,4.9,有修改]3.10性能performance人工智能加速卡在运行计算任务时,可被测量的特性,在评估人工智能任务的性能时,一般采用吞吐率特性。注2:性能基于一个或多个参数(如能耗、流量、吞吐率、运行时间以及速率等)的测量或计算获得,以表征在某[来源:ISO/IEC20000.10:2018,3.1.16,有修改]3.11人工智能计算集群artificialintelligencecluster遵循统一控制的,人工智能计算功能单元的集合。注2:当由人工智能服务器组成时,人工智能3.123GB/TXXXXX.1—XXXX节点node由网络连接的能完成特定人工智能计算任务的物理或逻辑人工智能计算设备。[来源:ISO/IEC14575:2000,3.2.27,有修改]3.13调度scheduling控制特定任务的整体或部分的执行场所和时间的过程。[来源:ISO/IEC10164.15:2002,3.7.4,有修改]3.14调度器scheduler一种在系统中完成调度的组件。3.15隔离isolation计算实例间的计算和数据相互不影响和不可访问。[来源:ISO/IECTS25052:1:2022,3.1.5.3,有修改]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)5概述4GB/TXXXXX.1—XXXXAI计算设备虚拟化与调度的架构见图1。AI计算虚拟化,为AI物理计算资源提供特定的表示形式,虚拟化方案包含对基于CPU、GPU、NPU、FPGA等物理AI加速卡的虚拟化。(多种)虚拟化方案通过统一的接入组件形成(异构)资源池,以一致的方式使用AI物理计算资源。调度器根据AI任务和资源池的情况,选择若干虚拟化的AI计算实例,分配并执行特定任务。运维监控实现对AI计算实例、AI物理计算资源(AI加速卡)、AI任务及其状态的监测与控制。注3:1个AI应用可被分解为若干个AI计算任务,下发给调度器。图1AI计算设备虚拟化与调度架构6计算设备虚拟化技术要求6.1概述计算设备虚拟化技术是一种计算资源管理的方法,切分、调配或整合含有各类型加速器的不同AI加速卡,使其执行AI计算任务,以提高计算资源利用率。注:本文件规定计算设备虚拟化技术不对网络、存储等其他物理资源6.2基本要求6.2.1AI加速卡虚拟化AI加速卡的虚拟化,包含以下要求:a)应支持单个AI加速卡虚拟化为多个计算实例;b)宜支持多个AI加速卡虚拟成单个计算实例;c)计算实例应能在虚拟机或容器中执行计算任务;d)宜支持单个AI加速卡的算力隔离;e)计算实例应能被计算设备调用。6.2.2监控功能5GB/TXXXXX.1—XXXX虚拟化组件或系统,宜实现下列对计算实例的监控功能,包括:a)资源(含计算资源)利用率监测;b)算子执行时延统计;c)计算实例带宽利用率监测;d)计算实例的性能波动(见9.1.4.4)监测;e)虚拟化后,AI加速卡的计算能力损耗统计;f)计算实例运行时长统计。6.2.3隔离性虚拟化组件或系统的隔离性包含如下要求:a)故障隔离,应符合以下要求:1)计算实例内的单点故障信息只上报其所属的虚拟机或容器及虚拟化管理系统;2)支持多个计算实例运行互不干扰;3)提供调用、返回特定计算实例的业务故障;4)支持计算实例获知其所依赖物理设备的单点故障。b)性能隔离,即特定用户使用计算资源的性能,不被并发执行的其他用户的任务影响,而出现下降的情况;c)安全隔离,应能实现下列功能,包含但不限于:1)防止仿冒;2)防止篡改;3)防止信息泄露;4)防止拒绝服务攻击;5)防止权限提升;6)防止抵赖。6.2.4重配置虚拟化组件或系统,实现在多用户和动态任务情况下的计算资源重配置,以提高系统整体性能,符合以下要求:a)应为单个AI任务的独立运行,实现QoS服务质量机制;b)应为多个AI任务的同时运行,实现资源获得公平性机制;注:公平性指的是相同优先级的不同用户和程序对于计算c)应为AI任务的动态负载特性或资源可变特性要求,实现资源复用机制(如分时复用或分区复用d)宜能与下列机制或过程配合使用,包含但不限于:1)高可用集群;2)负载均衡,即分配特定的业务(网络服务、网络流量等)给多台网络设备(包括服务器、防火墙等)或多条链路;3)内存复用,方式包括内存气泡、内存置换、内存共享等;4)CPU、内存、AI加速处理器等的扩容。e)宜支持查询AI计算加速卡间互联信息。6.2.5资源抽象虚拟化与调度系统的资源抽象,符合以下要求:a)计算实例应支持执行以下计算,包括但不仅限于:6GB/TXXXXX.1—XXXX1)完整的卷积计算;2)完整的向量计算;3)完整的标量计算;4)数据传输、交换和格式转换。b)计算实例应包含以下部件并作为调度依据:1)计算部件;2)存储部件,如缓存、内存等;3)数据通信部件。c)1个计算实例可对应单台或多台AI计算设备的全部物理资源或部分物理资源;d)当虚拟出多个计算实例时,单AI加速卡所含的硬件资源应能被映射为多个AI加速卡,包含对处理器、内存等资源的切分,映射为不同的设备,并受硬件资源总数的限制;e)事件、标识和任务及相关机制以软件实现时,应不受硬件资源总数的限制。6.2.6协调性AI任务的计算图的任务抽象与资源抽象应具备协调性,符合如下要求:注:AI计算图用有向图表示,1个有向图由点和边构成,表示神经网络的计算流程,是一种逻辑流图,在硬件上转a)AI任务数据流图中的资源抽象包括:1)有向图中的点表示计算;2)有向图中的边表示数据依赖;3)数据流连接线以外出箭头表示将数据写入数据存储;4)数据流连接线以输入箭头表示从数据存储中读取数据。b)应考虑用于执行数据流图的虚拟设备;c)计算流应考虑如下约束:1)计算流的同步,即一个计算流中的任务依赖于另一个计算流中的任务;2)计算流可并行处理,受硬件资源约束。6.2.7计算实例要求6.2.7.1计算实例表示计算实例应由以下属性表示:a)计算实例规格,包含:1)计算能力,如吞吐率、有效计算能力、FLOPS等;2)内存空间,如片上内存等;3)数据传输率,如上下行带宽;4)计算精度,如FP16、INT8等。b)计算实例拓扑,包含:1)计算实例所属的AI加速卡;2)加速卡所属的服务器及其在服务器中的位置;3)服务器所属的集群,及其在集群中的位置。c)计算实例状态,包含:1)使用中:计算实例当前正在执行相关的计算任务;2)可用:当前的计算实例整体或其部分,处于空闲状态;7GB/TXXXXX.1—XXXX3)不可用:当前计算实例已被占用或损坏,无法执行相关任务。6.2.7.2计算实例管理6.2.7.2.1AI计算设备虚拟化系统或组件,提供如下功能:a)应支持在以下情况更新资源池:1)加入新的计算实例;2)计算实例被释放;3)空闲计算实例被占用;4)计算实例进入等待队列;5)计算实例被损坏;6)损坏的计算实例修复。b)单个AI加速卡的虚拟化,宜通过接口调用满足如下功能:1)创建的AI虚拟计算资源,关联其归属的父设备(AI虚拟计算资源所在的物理AI加速器并提供相关的查询,包括但不限于:Python编程接口、sysfs接口、或命令;2)对计算实例的操作、控制接口;3)提供可写接口,用于填入创建虚拟化节点的必要信息;4)设备描述信息获取接口;5)虚拟化计算节点的驱动接口信息(驱动API);6)指向每个虚拟化计算节点的软链接。6.2.7.2.2AI计算设备虚拟化系统或组件应支持计算资源的删除与恢复,包含如下要求:a)计算资源的非物理删除;b)恢复已删除的资源(如计算资源的重新发现)。6.2.7.2.3AI计算设备虚拟化系统或组件应支持提供接口,获取如下实例信息:a)计算能力的监控和统计信息(如资源调度层所管理的物理计算能力的总和);b)计算实例所在的AI加速卡信息;c)计算实例的规格信息,包括内存、可观测带宽等;d)计算实例的算子时延剖析、时延统计信息。6.2.7.2.4AI计算设备虚拟化系统或组件,应支持计算资源分配,包括:a)单AI加速器的分配;b)多AI加速器的整体原子分配(全部分配成功,或全部都分配失败)。6.2.7.2.5AI计算设备虚拟化系统或组件,应支持计算实例的回收,包括:a)一次回收单个计算实例;b)一次回收多个计算实例,且保证操作的原子性。6.3扩展要求6.3.1CPU虚拟化6.3.1.1概述8GB/TXXXXX.1—XXXXCPU虚拟化分为基于软件的虚拟化和硬件辅助的虚拟化。CPU一般用于推理任务。虚拟机可使用多个CPU计算实例,这些计算实例可源于同一个物理CPU或多个物理CPU的虚拟化。CPU虚拟化的参考架构见A.2。6.3.1.2CPU计算实例CPU虚拟化系统或组件,应符合以下要求:a)CPU计算实例能完成机器学习推理任务;b)能避免宿主机上CPU资源的浪费;c)支持CPU计算实例的动态横向弹性伸缩,为虚拟机添加CPU计算实例;d)支持CPU计算实例亲和性配置;e)CPU计算实例的规格,应使用以下指标衡量:1)处理器内核数;2)每个内核的线程数;3)CPU划分的比例;4)内存容量;5)缓存容量。6.3.2GPU虚拟化6.3.2.1通则GPU的虚拟化,应符合如下要求:a)支持计算能力按需使用;b)支持计算能力动态调用和释放。6.3.2.2GPU计算实例GPU虚拟化系统或组件,应符合以下要求:a)支持其非虚拟化版本能执行的机器学习算法;b)通过时分复用或空分复用的方式得到计算实例;c)GPU计算实例,包含以下部件:1)计算部件:执行计算的单元,即流处理器,完成整型和浮点型计算;2)视频编解码部件;3)内存,包括单不限于DDR、GDDR和HBM(容量单位是MB或GB,带宽单位是GB/s);4)各级缓存(容量单位是MB或GB,带宽单位是GB/s);5)共享存储。d)支持负载均衡;e)GPU计算实例的规格,应使用以下指标衡量:1)计算能力(单位如:OPS\FLOPS\吞吐率\算力比例);2)视频编解码能力(单位如:1路1080P,30FPS);3)显存容量(单位如:MB\GB);4)缓存容量(单位如:MB);5)网络宽带和收发包吞吐率(GPU间)。6.3.3NPU虚拟化6.3.3.1通则9GB/TXXXXX.1—XXXX图2NPU虚拟化架构图NPU的虚拟化架构见图2,参考方案见A.1。NPU的虚拟化组件或系统,符合以下要求:a)应能根据计算任务需要选择合适的虚拟化调度方案,包括:1)将AI加速卡虚拟化为多个NPU计算实例,挂载至虚拟机;2)将AI加速卡虚拟化为多个NPU计算实例,挂载至容器;3)将AI加速卡虚拟化为多个NPU计算实例,挂载至虚拟机,在虚拟机内再将NPU计算实例挂载到容器;4)将AI加速卡直通NPU到虚拟机,在虚拟机内划分NPU计算实例,再挂载到虚拟机内的容器。b)宜具备NPU计算QoS控制机制;c)NPU实例,应提供如下计算属性:1)张量计算能力,如张量计算单元个数;2)向量、标量等通用计算能力,如通用计算单元个数\协处理器核的个数;3)如具备视频图像预处理模块,应提供相关的计算能力属性,如视频解码器计算核个数。d)NPU实例,应提供内存容量(单位:GB)作为存储属性;e)宜支持按AI任务的计算量,动态调整计算实例规格。6.3.3.2NPU计算实例NPU计算实例,应符合以下要求:a)提供矩阵乘的计算部件,执行卷积与全连接的计算:1)具有执行矩阵计算的计算核心;2)具备缓存矩阵分别存储中间过程数据和结果数据;3)具备数据寄存器,寄存矩阵运算的过程数据与结果。b)提供向量运算的部件,以执行池化、激活函数以及批正则化等运算:1)执行向量计算的单元;2)相关的存储单元。c)提供控制和标量运算的计算部件,包含:1)执行标量运算的单元;2)通用寄存器;3)专用寄存器。GB/TXXXXX.1—XXXXd)提供数据的存储部件;e)提供数据通路部件,保证计算部件与存储部件之间的数据供应;f)NPU计算实例能执行并完成AI推理和训练任务;g)NPU计算实例的规格,用以下指标衡量:1)计算能力(单位:FLOPS/OPS/吞吐率);2)内存容量(单位:GB);3)缓存(单位:KB/MB);4)剩余带宽(单位:GB/s)。6.3.4FPGA虚拟化6.3.4.1通则FPGA虚拟化是在时间和空间维度上,对多个FPGA的各类资源的调度与使用。FPGA的虚拟化,应符合以下要求:a)支持深度学习加速,并具备性能隔离特性;b)支持多路计算;c)支持FPGAOverlay,在FPGA硬件之上,形成虚拟可编程架构,支持上层使用;d)支持部分可重构,将FPGA划分为多个FPGA计算实例;e)支持FPGA动态重构和配置。6.3.4.2FPGA计算实例FPGA计算实例,应符合以下要求:a)支持其非虚拟化版本能执行的机器学习任务;b)为一个或多个动态重构的FPGA区域;c)对特定FPGA计算实例实施动态重构时,其他运行不受影响;d)提供可重构区域的划分机制,避免FPGA资源的空置和浪费;e)FPGA计算实例规格,由以下指标衡量:1)计算能力(如:OPS/吞吐率);2)延迟;3)功耗;4)灵活度。7计算资源调度技术要求7.1概述7.1.1任务流程框架计算资源调度的任务流程见图3,包含以下步骤:a)用户提出训练或推理请求,作为AI任务放入任务池;b)调度器从AI任务池中取任务,根据任务的规格(所需计算能力、内存等)和可用AI加速卡,申请符合AI任务要求的计算实例;c)调度器对所有的异构计算资源和计算实例实施监控,完成任务的调度。GB/TXXXXX.1—XXXX图3AI计算任务调度流程框架7.1.2训练场景训练场景中,任务池中含有训练任务请求。训练任务的吞吐量较大时,对单AI加速卡的资源利用效率较高。单训练任务对AI加速卡资源的占用情况包括以下情形:a)在单AI加速卡上运行,该卡资源被全部占用;b)在单AI加速卡上运行,该卡资源未被全部占用;c)在多AI加速卡上运行,全部加速卡资源均被占用;d)在多AI加速卡上运行,部分加速卡存在空闲资源。7.1.3推理场景推理任务对AI计算单元的占用,包含如下情形:a)模型体量较小,能容纳于单卡或单片内存时:1)推理需要异构的AI计算资源,但大多数场景吞吐量较小,资源使用率较低;2)计算资源的调度需细粒度划分(如以单卡中的块或片为调度单位,使多推理任务共用特定计算资源,即单芯片多任务模式);3)部署时根据计算任务申请所需计算资源,优先在单芯片上安排推理任务,使单芯片满载。注:满载指的是对特定计算设备的计算能力全部用b)模型体量较大,不能容纳于单卡或单片内存时:1)模型所含参数量多,模型结构复杂,任务吞吐量大,拆分为多个子模型;2)数据搬运在单芯片内数据搬运速度最快,跨卡调度影响计算速度;3)计算资源的调度以卡为单位分配;4)调度器将推理任务按照模型体量实施拆分;5)在单AI加速卡上优先安排同一子模型,计算完成后则分配剩余子模型给卡计算。7.2功能要求调度器应实现下列功能:a)对整AI加速卡(处理器)的调度;b)对池化的多AI加速卡的调度;GB/TXXXXX.1—XXXXc)对单AI加速卡上计算单元的调度;d)对单AI加速卡虚拟化所得的多计算实例的调度;e)对多AI加速卡中的多个计算单元的调度;f)对多个计算单元或多个AI加速卡的调度,应保证调度操作的原子性;g)任务拆分,当同一任务包含的多个模型时,能将不同模型分配给不同计算实例,保证全局资源利用率最高;h)模型切换,在同一计算实例上,在某模型运行完成时,能换入另一个模型并运行;i)负载均衡,在有剩余计算节点时,能分配任务,避免单卡、单片或单块的负载过大。7.3性能优化要求调度器性能优化符合以下要求:a)应能采集、分析和汇总性能数据,涵盖以下设备,包含但不限于:控制CPU、调度CPU、AI加速器、外围设备、内存等;b)对多卡调度,宜能在调度过程中参考集合通信组件的属性和状态;c)宜提供AI任务在异构计算设备上的系统性能分析工具。7.4调度策略要求调度器调度策略宜考虑如下的因素:a)使全局资源的平均利用率最高;b)调度的计算资源涉及多个AI加速器时,根据卡的拓扑来制定调度策略(如亲和性调度);c)支持用户自定义调度。7.5接口要求7.5.1接口类型虚拟化接口包括:a)调度器与CPU、GPU、FPGA、NPU等计算资源之间的接口;b)调度器与AI应用中机器学习框架的接口。7.5.2接口描述7.5.2.1计算实例创建计算实例创建应符合表1列出的接口要求:表1计算实例创建相关接口实例表示模板设置虚拟化切分得到的计算计算能力(如张量虚拟化时所包含的数字视觉预处理模块GB/TXXXXX.1—XXXX创建计算实例按照需求,指定规格,创建需要创建的虚拟设设置虚拟化在物理机执行,设置计算容器模式:适用于计算实例挂载到容器虚拟机模式:适用于计算实例挂载到7.5.2.2计算实例监控计算实例监控应符合:a)获取单个物理AI加速卡的信息,见表2:表2获取加速卡信息获取单个物理AI加速例资源占比和剩余可虚拟化的资源b)获取计算实例规格,接口描述见表3,获取的规格信息满足6.4.1和6.5.1.2e),6.5.2.2h),6.5.3.2g)或6.5.4.2e)的要求:表3获取计算实例规格获取计算实例规格获取计算实例的规格c)获取计算实例状态,接口描述见表4,状态属性要求见6.4.1:表4获取计算实例状态获取计算实例状态GB/TXXXXX.1—XXXX8运维监控技术要求8.1AI加速卡监控AI加速卡监控符合以下要求:a)应能监控AI加速卡的下列属性:1)计算能力;2)带宽;b)应能监控并返回计算实例的下列统计信息:1)计算实例的总数;2)可用的计算实例数;3)占用的计算实例数。c)应能监控单AI加速卡上各计算实例的性能偏移的情况;注:对单AI加速卡,虚拟化N(N是正整数)个相同规格的计算实例时,每个实例的参考性能是1/N,实际性能与参d)应能监控返回AI加速卡的状态:1)资源占用比例;2)可用比例;3)是否损坏。e)应能监控返回以下关于AI任务的信息:1)训练任务或推理任务的吞吐量;2)训练任务或推理任务占用的计算实例信息,以及计算实例所处的AI加速卡。8.2计算实例监控计算实例监控符合以下要求:a)支持对计算实例状态的监控(见6.6.2.2);b)支持对计算实例的异常检测,并对用户开放定制化的检测项;c)支持计算实例的异常警告,并支持用户自定义警告的阈值和警告的方式;d)支对计算实例的日志收集、分析和可视化展示的功能。8.3AI任务监控AI任务通过系统性能分析工具监控,工具宜提供系统状态预测或监控信息,包括但不限于:a)时序信息图方式,以时间线的形式展示AI任务相关性能信息:1)计算图信息:计算图执行时间、推理时间、图像等数据的预处理时间;2)算子的执行时间:单算子执行起止时间、单算子耗时;3)每个线程运行时API的时序信息;4)AI计算单元上内核函数的运行时序信息;5)任务调度的任务运行时序信息。b)硬件视图方式,展示数据传输的带宽信息,可帮助用户或调度器找出数据处理和传输的瓶颈,如读写带宽过低可能是算子编写的数据搬运过程有问题;c)AI处理器函数和CPU函数视图:1)采集各形式处理器上的热点函数(执行频率较高的函数);GB/TXXXXX.1—XXXX2)展示的信息应包含但不限于:模块名、函数名、调用堆栈、指令数、指令数耗时占比、对应子项的循环次数等。d)概括性视图,汇总采集的信息并展示,包含但不限于:1)性能数据采集起止时间及耗时;2)服务器性能基本信息,包括操作系统和CPU信息;3)加速设备信息(包含GPU、NPU或FPGA),如协处理CPU的核数、AI计算单元数量等;4)内存及高级缓存信息,即整个采集过程中内存读写带宽的平均值;5)CPU的利用率;6)系统信息,包含但不限于:系统总内存、空闲空间、内存缓冲区大小、高速缓冲存储器使用量、共享内存、虚拟内存限值等;7)控制CPU的信息,包括但不限于:运行的函数名称、此函数关联的模块、此函数运行的时钟周期数、虚拟环境中操作系统消耗占比、内核态进程时长占比、空闲状态时长占比等;8)AI计算单元的信息;9)算子统计信息,包括但不限于:算子的个数、名称、耗时、对应的起止调度时间、输入输出张量的内存大小、权重大小等;10)图像视频任务相关信息,包括但不限于:任务的时间、任务的帧数等。e)模型的数据输入、AI计算任务(推理或训练)、数据输出的耗时。8.4日志监控8.4.1日志收集级别运维监控过程应收集以下级别的日志:a)提供一般级别错误的日志(ERROR):1)非预期的数据或事件;2)影响面较大但是内部模块可处理的错误;3)限制在模块内的错误;4)对其他模块有影响但较轻微的错误,如统计任务创建失败;5)引起调用失败的错误。b)提供警告级别的日志(WARNING),如设备状态与预期不一致,但不影响系统的运行。c)提供正常级别的日志(INFO),设备正常运行的信息;d)提供调式级别日志(DEBUG),记录调式信息,协助开发维护人员定位问题;e)提供关键事件的日志(EVENT),如:1)整网运算启动、完成和异常终止;2)内存耗尽;3)设备温度超出正常阈值。8.4.2日志记录信息日志的记录,应包含以下信息:a)日志的级别;b)产生日志的模块名称;c)进程标识符;d)进程名称;e)日志打印的时间;GB/TXXXXX.1—XXXXf)各模块日志内容。8.4.3日志处理日志的处理,应符合以下要求:a)支持加速设备的管理,如新增、删除、修改等;b)对用户,提供日志的查询,按关键字搜索日志内容;c)提供清除显示的功能;d)提供和日志下载和保存的功能。9测试方法9.1虚拟化测试9.1.1性能隔离测试9.1.1.1概述性能隔离测试应计量性能偏差,即实际性能与理论性能之差的绝对值,性能指标为吞吐率。示例:单用户或任务独占单AI加速卡时,训练或推理的性能是p。当给计算实例分配25%的计算资源时,其性能理论上应该为P/4。虚拟化方案应尽可能使计算实例的实际计算能力接近理论值。偏差(小于理论值的幅度)越大,性能注:单AI加速卡通过虚拟化切分为多计算实例时,各实例应能分配给多9.1.1.2测试方法性能隔离测试应按以下规则实施:a)选取特定AI任务,实施测试;b)测得基准性能作为理论值(见9.1.1.3ac)对特定AI任务,分配单AI加速卡一定比例(见9.1.1.3b)~9.1.1.3e))的计算资源;注:比例数值在具体测试时确定,但对同一测试批次中不同AI加速卡的虚d)设定单AI加速器上所执行的最大任务数量n(n为正整数),对该任务使用已分配的计算资源,为剩余(n-1)个任务分配剩余的计算资源;e)按9.1.1.1计算性能偏差;f)性能隔离测试,按下列因素排列组合,确定模式:1)训练或推理;2)单一模型或多模型负载;3)是否满载。9.1.1.3测试负载性能隔离测试负载包含:a)基准性能:单模型负载独占单AI加速卡(无虚拟化),测得基准性能,负载见表5;表5基准负载测试GB/TXXXXX.1—XXXX1234b)单模型满载:将单AI加速卡按比例虚拟化获得多个计算实例,每个计算实例运行相同的AI任务,负载见表6;表6单模型满载训练1MobileNet22MobileNet4324452647284c)多模型满载:将单AI加速卡按比例虚拟化获得多个计算实例,每个计算实例运行不同的模型,负载见表7;表7多模型满载训练12MobileNet/25%3d)多模型非满载:将单AI加速卡按比例虚拟化获得多个计算实例,但留有空余,每个计算实例运行不同的模型,负载见表7;e)单模型非满载测试:将单AI加速卡按比例虚拟化获得多个计算实例,但留有空余,每个计算实例运行相同的模型,负载见表8。表8单模型非满载训练1223324352GB/TXXXXX.1—XXXX6472849.1.2任务动态扩展测试9.1.2.1概述实际应用场景中任务可能动态添加(任务到达)或删除(任务执行完毕或取消应测试任务数量的动态变化对性能的影响。随任务数增大,整体性能波动(见9.1.4.4)宜尽可能小。9.1.2.2测试方法任务动态扩展测试应按以下规则实施:a)对相同的训练或推理任务,实施扩展测试,每个任务应完全一致,包括模型、数据集、训练方法或推理模式(如离线模型压缩、部署方式)等;b)任务数取值为1,2,4,8,16;c)记录不同任务量下的吞吐量。9.1.2.3测试负载任务动态扩展测试的负载见表9。表9基准负载测试1MobileNet2349.1.3性能损耗测试9.1.3.1概述对单AI加速卡,性能损耗是非虚拟化使用时的满载性能与虚拟化后满载性能的差值。9.1.3.2测试方法性能损耗测试应按以下规则实施:a)被测AI加速卡的计算实例数应不小于3;b)性能损耗测试,按下列因素排列组合,确定模式:1)多计算实例相同负载;2)多计算实例不同负载。9.1.3.3测试负载性能损耗测试的负载见9.1.13)a)~9.1.1.3c)。9.1.4测试指标GB/TXXXXX.1—XXXX9.1.4.1吞吐率吞吐率定义及计算方法见GB/TAAAAA-AAAA中6.3.3(训练)和7.3.3(推理)。9.1.4.2性能偏差性能偏差指虚拟化后所得AI计算资源的理论性能与实际性能之差的绝对值,按公式(1)计算:注:如有超过1个指标同时作用,应设定在其他指标相同式中:Δpii——单AI加速卡虚拟化后的性能偏差;n——计算实例的个数;P——理论性能(基准性能);ai——每个计算实例分配的资源占整卡的比例,取值可为:12.5%,25%,50%,75%;pii——每个计算实例的实际性能。9.1.4.3性能损耗性能损耗指非虚拟化使用时的满载性能与虚拟化后满载性能的差值,按公式(2)计算:式中:clthh——性能损耗;Tv——AI任务在计算实例上的执行时长;Tp——相同AI任务在未虚拟化的物理机上的执行时长;ctrep——是物理机的计算单元数;ctrev——虚拟化后计算实例的计算单元数。9.1.4.4性能波动性能波动指单物理加速卡上虚拟化得到多个规格相同的计算实例,同时运行相同的AI任务时,所有计算实例中最大的执行时长均值与最小时长均值的比,按公式(3)计算:(3)式中:n——第n个计算实例;N——计算实例总数;T——运行特定计算任务的时间长度,按GB/TAAAAA-AAAA中6.3.1(训练)和7.3.1(推理)9.2调度测试9.2.1概述调度测试范围包含:a)集群利用率:所有AI加速卡(含已经故障下线的AI加速卡)的使用情况。越接近1.0越好;b)资源调度成功率:特定周期内调度成功次数与资源请求总次数的比例;注:前提要求实际物理资源与请求的资源是匹配的,请求的资源量没有GB/TXXXXX.1—XXXXc)任务资源利用率:实际分配给单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测试指标9.2.4.1集群利用率集群利用率按公式(4)计算:Σkqk(4)式中:Q——集群利用率;k——集群中AI加速卡的数量;qk——单AI加速卡的利用率。9.2.4.2单AI加速卡的利用率单AI加速卡的利用率按公式(5)计算:(5)式中:qk——统计周期内,特定AI加速卡的利用率;Nb——该AI加速卡被占用的次数;qu——是抽样时的瞬时利用率(在无法检测瞬时利用率的系统中,占用时利用率为1.0)。9.2.4.3任务资源利用率GB/TXXXXX.1—XXXX任务资源利用率按公式(6)计算。其中,k为分配给特定任务的AI加速卡的数量。对动态任务(任务执行中释放资源或申请新的资源),则分段计量,以时长求加权平均。j式中:qk——某个时间段内(期间,该分配给该任务的资源数恒定),单AI加速卡的利用率,计算方法见9.2.4.2;T——该任务的执行总时长;j——执行该任务的第j个时间段(期间,分配给该任务的资源数恒定);k——在第j个时间段内,分配给该任务的AI加速卡的数量;j——第j个时间段的长度。GB/TXXXXX.1—XXXX典型处理器的虚拟化参考架构A.1NPU虚拟化参考架构NPU的虚拟化包含但不限于以下方案:a)方案一,软件模拟vNPU虚拟化:通过VFIO-mdev框架创建出虚拟NPU设备,并经过Qemu设备模拟层将vNPU设备模拟成标准的PCIE设备给GuestOS的设备驱动或虚拟机使用,使用方式与NPU设备直通虚拟化一致。PCIE设备的配置空间如下,设备模拟整体方案见图A.1:图A.1QEMU-NPU设备模拟方案1)PCIE配置模拟:根据PCIE协议模拟PCIE设备的VendorID、DeviceID等,呈现出一个跟物理设备相同功能的虚拟设备给GuestOS驱动。2)BAR空间:Host驱动和Guest驱动共享数据的通道,用以收发消息等。3)中断通知机制:Guest发送消息通知Host,Host通过中断通知Guest。4)DMA内存访问机制:数据拷贝流程将GPA地址转换成发起DMA访问使用的IOVA地址。b)方案二,软硬协同SR-IOV虚拟化:SR-IOV是一种IO虚拟化的技术标准,它是由PCI-SIG组织制定,它是一种基于硬件辅助的虚拟化技术,SR-IOV允许在虚拟机之间高效共享PCIE设备,由于它是基于硬件实现,因此可以获得与真实硬件性能接近的I/O性能。SR-IOV架构设备允许一个物理设备支持多个虚拟功能

温馨提示

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

评论

0/150

提交评论