CN116069152A - 针对ai计算集群的运行频率控制方法、系统及相关设备 - Google Patents
针对ai计算集群的运行频率控制方法、系统及相关设备 Download PDFInfo
- Publication number
- CN116069152A CN116069152A CN202310203474.5A CN202310203474A CN116069152A CN 116069152 A CN116069152 A CN 116069152A CN 202310203474 A CN202310203474 A CN 202310203474A CN 116069152 A CN116069152 A CN 116069152A
- Authority
- CN
- China
- Prior art keywords
- processor
- frequency
- performance
- operation frequency
- computing cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000005516 engineering process Methods 0.000 title description 9
- 238000005070 sampling Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000012887 quadratic function Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000033228 biological regulation Effects 0.000 description 26
- 230000001276 controlling effect Effects 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000005265 energy consumption Methods 0.000 description 5
- 230000001105 regulatory effect Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- LLQPHQFNMLZJMP-UHFFFAOYSA-N Fentrazamide Chemical compound N1=NN(C=2C(=CC=CC=2)Cl)C(=O)N1C(=O)N(CC)C1CCCCC1 LLQPHQFNMLZJMP-UHFFFAOYSA-N 0.000 description 1
- 241000687919 Rodinia Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种针对AI计算集群的运行频率控制方法、系统及相关设备,方法包括:采集获取AI计算集群中各AI处理器对应的处理器状态数据集合;根据各AI处理器对应的处理器状态数据集合分别构建各AI处理器对应的频率关系模型并据此分别获取各AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,据此分别对AI计算集群中的各AI处理器进行运行频率控制。本发明有利于降低AI计算集群的功耗和提高AI计算集群的能效比。
Description
技术领域
本发明涉及人工智能处理器控制技术领域,尤其涉及的是一种针对AI计算集群的运行频率控制方法、系统及相关设备。
背景技术
随着科学技术的发展,尤其是人工智能(AI,Artificial Intelligence)技术的发展,人工智能计算集群(即AI计算集群)的应用越来越广泛。AI计算集群是指使用了AI处理器(即AI计算芯片)的具有强大AI算力的计算集群系统,能够满足日益增长的AI算力需求。
在AI计算集群的使用过程中,需要对其中的AI 处理器进行运行频率的控制。现有技术中,通常以性能优先为目标对AI计算集群进行运行频率控制,即将AI处理器的运行频率设置为设备支持的最高数值,这样可以最高程度释放系统的算力。现有技术的问题在于,以性能优先为目标进行控制时,牺牲了功耗和能效比,不利于降低AI计算集群的功耗和提高AI计算集群的能效比。
因此,现有技术还有待改进和发展。
发明内容
本发明的主要目的在于提供一种针对AI计算集群的运行频率控制方法、系统及相关设备,旨在解决现有技术中以性能优先为目标对AI计算集群进行运行频率控制时不利于降低AI计算集群的功耗和提高AI计算集群的能效比的问题。
为了实现上述目的,本发明第一方面提供一种针对AI计算集群的运行频率控制方法,其中,上述针对AI计算集群的运行频率控制方法包括:
采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,其中,一个AI处理器对应的处理器状态数据集合中包括该AI处理器在不同运行频率下获得的多组硬件状态数据,一组上述硬件状态数据包括功耗和硬件指标数据;
根据各上述AI处理器对应的处理器状态数据集合分别构建各上述AI处理器对应的频率关系模型,其中,一个AI处理器对应的频率关系模型体现该AI处理器的运行频率、性能和功耗之间的关系;
根据各上述AI处理器对应的频率关系模型,分别获取各上述AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,上述能效比是性能与功耗的比值;
根据各上述AI处理器对应的最优运行频率,分别对上述AI计算集群中的各上述AI处理器进行运行频率控制。
可选的,上述采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,包括:
获取各上述AI处理器对应的采样间隔;
根据各上述AI处理器对应的采样间隔分别对各上述AI处理器的运行频率进行多次调整,在每一次调整上述AI处理器的运行频率后采集获取上述AI处理器对应的一组硬件状态数据;
根据各上述AI处理器对应的所有硬件状态数据获取各上述AI处理器对应的处理器状态数据集合。
可选的,上述采样间隔根据对应的AI处理器的硬件采样延迟确定。
可选的,上述AI计算集群中的AI处理器包括图形处理器、嵌入式神经网络处理器和张量处理器中的至少一种。
可选的,上述硬件指标数据包括计算单元利用率、内存利用率、内存带宽利用率、内存占用大小、算数单元利用率、指令通道占用比、内存读写带宽、缓存读写带宽和资源冲突占比中的至少一种。
可选的,上述频率关系模型包括频率性能子模型和频率功耗子模型。
可选的,一个AI处理器对应的频率功耗子模型根据如下步骤构建:
根据预设的第一数据拟合方式,对上述AI处理器的功耗以及各上述功耗对应的运行频率进行数据拟合获得上述频率功耗子模型;
其中,上述第一数据拟合方式是线性拟合或二次函数拟合。
可选的,一个AI处理器对应的频率性能子模型根据如下步骤构建:
获取预设的硬件指标性能关系,其中,上述硬件指标性能关系是上述AI处理器的硬件指标数据与性能之间的对应关系,上述性能是上述AI处理器中应用程序在上述AI计算集群中的运行速度;
根据预设的第二数据拟合方式,对上述AI处理器的硬件指标数据以及各上述硬件指标数据对应的运行频率进行数据拟合获得频率硬件指标关系,其中,上述频率硬件指标关系是上述AI处理器的运行频率与硬件指标数据之间的对应关系;
根据上述硬件指标性能关系和上述频率硬件指标关系获取上述频率性能子模型;
其中,上述第二数据拟合方式是线性拟合或分段线性拟合。
可选的,一个上述AI处理器对应的最优运行频率根据如下步骤计算:
根据上述AI处理器对应的频率关系模型获取上述AI处理器对应的频率能效比关系曲线;
获取上述AI处理器对应的预设性能约束条件,其中,上述预设性能约束条件包括上述AI处理器的性能与上述AI处理器的最大性能值相比降低的比例不超过预设性能延缓范围;
根据上述频率性能子模型和上述预设性能约束条件获取上述AI处理器对应的候选运行频率;
根据上述AI处理器对应的候选运行频率和频率能效比关系曲线,获取上述AI处理器对应的最优运行频率。
可选的,上述根据各上述AI处理器对应的最优运行频率,分别对上述AI计算集群中的各上述AI处理器进行运行频率控制,包括:
根据各上述AI处理器对应的最优运行频率,分别生成各上述AI处理器对应的频率控制代码;
根据各上述AI处理器对应的频率控制代码,控制上述AI计算集群中的各上述AI处理器在当前时段的运行频率为各上述AI处理器对应的最优运行频率。
本发明第二方面提供一种针对AI计算集群的运行频率控制系统,其中,上述针对AI计算集群的运行频率控制系统包括:
数据采集模块,用于采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,其中,一个AI处理器对应的处理器状态数据集合中包括该AI处理器在不同运行频率下获得的多组硬件状态数据,一组上述硬件状态数据包括功耗和硬件指标数据;
模型获取模块,用于根据各上述AI处理器对应的处理器状态数据集合分别构建各上述AI处理器对应的频率关系模型,其中,一个AI处理器对应的频率关系模型体现该AI处理器的运行频率、性能和功耗之间的关系;
频率计算模块,用于根据各上述AI处理器对应的频率关系模型,分别获取各上述AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,上述能效比是性能与功耗的比值;
控制模块,用于根据各上述AI处理器对应的最优运行频率,分别对上述AI计算集群中的各上述AI处理器进行运行频率控制。
本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的针对AI计算集群的运行频率控制程序,上述针对AI计算集群的运行频率控制程序被上述处理器执行时实现上述任意一种针对AI计算集群的运行频率控制方法的步骤。
本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有针对AI计算集群的运行频率控制程序,上述针对AI计算集群的运行频率控制程序被处理器执行时实现上述任意一种针对AI计算集群的运行频率控制方法的步骤。
由上可见,本发明方案中,采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,其中,一个AI处理器对应的处理器状态数据集合中包括该AI处理器在不同运行频率下获得的多组硬件状态数据,一组上述硬件状态数据包括功耗和硬件指标数据;根据各上述AI处理器对应的处理器状态数据集合分别构建各上述AI处理器对应的频率关系模型,其中,一个AI处理器对应的频率关系模型体现该AI处理器的运行频率、性能和功耗之间的关系;根据各上述AI处理器对应的频率关系模型,分别获取各上述AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,上述能效比是性能与功耗的比值;根据各上述AI处理器对应的最优运行频率,分别对上述AI计算集群中的各上述AI处理器进行运行频率控制。
与现有技术中相比,本发明方案并不直接以性能优先为目标进行运行频率控制,而是综合考虑性能和能效比,在满足性能约束条件前提下,将能效比最高的候选运行频率作为最优运行频率。本发明方案中的最优运行频率是根据AI计算集群的硬件状态数据确定的,符合AI计算集群的实时实际需求。具体的,最优运行频率满足性能约束条件,不会导致性能下降过于严重,同时最优运行频率并不是单纯的设定为性能最高时对应的频率(即并不是设备支持的最高数值),而是根据性能约束条件和能效比确定的频率,有利于降低AI计算集群的功耗和提高AI计算集群的能效比,且不会造成性能的过度降低,能够保证AI计算集群的性能(即程序运行速度),从而保证AI计算集群的服务质量不会过度下降,在提升能耗比的同时兼顾服务质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种AI处理器上运行一种典型负载时的频率-性能-能效比关系示意图;
图2是本发明实施例提供的一种针对AI计算集群的自适应运行频率调控策略原理图;
图3是本发明实施例提供的一种针对AI计算集群的运行频率控制方法的流程示意图;
图4是本发明实施例提供的一种针对AI计算集群的运行频率控制系统的结构示意图;
图5是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
随着科学技术的发展,尤其是AI技术的发展,人工智能计算集群(即AI计算集群)的应用越来越广泛。AI计算集群是指使用了图形处理器(GPU,Graphics ProcessingUnit)、嵌入式神经网络处理器(NPU,Neural-network Processing Unit)和张量处理器(TPU,Tensor Processing Unit)等AI处理器(即AI计算芯片)的具有强大AI算力的计算集群系统,能够满足日益增长的AI算力需求。
AI计算集群在提供大量AI算力的同时也造成了巨大的能源消耗。例如,2021年使用最先进芯片制造技术建成的Frontier计算集群的整系统功耗为21.1 MW,若以此功耗持续运行一年,可消耗能源焦耳,等价于碳排放7.76万吨,消耗电费约需1.85亿元。因此,提升AI计算集群的能效比、降低其运行功耗对于节约能源、减少开支等具有至关重要的作用。
在AI计算集群的使用过程中,需要对其中的AI 处理器进行运行频率的控制。现有技术中,通常以性能优先为目标对AI计算集群进行运行频率控制,即将AI处理器的运行频率设置为设备支持的最高数值,这样可以最高程度释放系统的算力。现有技术的问题在于,以性能优先为目标进行控制时,牺牲了功耗和能效比,不利于降低AI计算集群的功耗和提高AI计算集群的能效比。
在一种应用场景中,可以基于动态频率电压调控(DVFS,Dynamic Voltage-Frequency Scaling)技术对AI计算集群进行运行频率的控制。DVFS通过在芯片(即AI处理器)运行过程中动态地调节工作电压、工作频率实现对芯片功耗的控制。一般而言,提升芯片工作频率与工作电压可以增大功耗,降低频率和电压可以减小功耗。DVFS也同时影响性能即程序运行速度,更高的频率一般会带来更好的性能。对应的,可以计算能效比,即性能除以功耗的比值。
图1是本发明实施例提供的一种AI处理器上运行一种典型负载时的频率-性能-能效比关系示意图,如图1所示,一般而言,最高性能会在最高频率获得,而最高能效比对应的频率往往低于最高频率,但在最高能效比频率运行的性能也相对于最高频率有所下降。其中,上述典型负载是典型的任务负载,例如图像处理任务或文本处理任务,在此不作具体限定。
具体的,使用DVFS进行调控时,调控实现速度极快,一次调控的延迟一般在百毫秒范围内,且调控过程完全不影响计算执行与计算结果,仅影响完成计算的速度和功耗,进一步的,DVFS调控有很高的安全性,不会对芯片和设备造成任何损伤,因此DVFS可以用于很好的进行运行频率的调控,对于各类程序具有广泛的实用性。
现有技术中,早期建设的AI计算集群规模较小,因此这些集群都注重性能优先,不以实现高能效为核心目标。在以往建设的AI计算集群中,普遍采用的DVFS策略是“高性能模式”,即将AI处理器的频率电压都设置为设备支持的最高数值,这样可以最高程度释放系统的算力。然而,高性能模式牺牲了功耗与能效比。相比于“高能效模式”,即将AI处理器的频率电压设置为达到最高能效比的状态,高性能模式下运行相同程序的功耗比高能效模式下一般高出20%~80%,平均多消耗能源近50%,因此,高性能模式这种传统的DVFS策略不能适应新形势下对系统低功耗和高能效的要求。
在另一种应用场景中,可以采用“高能效模式”进行频率控制,即统一降低AI处理器频率电压到达芯片自身的最高能效比状态,但这会带来性能的显著牺牲。这种策略由于显著降低AI处理器的运行频率,会显著延缓程序的运行速度,在本实施例中测试的一款主流GPU芯片上导致程序运行速度平均下降15%,最高下降可高达34%,这在大型AI计算集群上是不可接受的。
具体的,现有的高能效DVFS策略通过统一降低AI处理器的频率电压使其到达芯片自身的最高能效比状态来实现能效提升。在使用一款主流GPU芯片(例如型号V100)的服务器上,执行高能效模式DVFS策略需要将GPU运行频率从最高的1530 MHz降低到960 MHz以下,虽然该方式可以提升能效比,但会显著延缓程序的运行速度,导致程序运行速度平均下降15%,特别是对于一些计算密集型程序速度下降可高达34%。
这个比例的计算速度下降对于计算集群是不可接受的。原因之一在于,高达34%的性能下降会显著降低计算集群的用户体验。其二在于,对于一个在高性能模式下平均使用率大于85%的计算集群,如果通过降频导致平均运行速度下降超过15%,那么必然导致集群上的作业无法按时完成,降低了集群的服务质量,并且进一步造成队列中的作业越积越多,最终导致作业的排队时间远远超出可接受的范围。反之,若能够将作业的平均速度延缓限制在5%以内,那么在任何一个平均使用率不超过95%的计算集群上都可以保证作业的平均排队时间不会推迟,从而保证作业的按时完成。
在另一种应用场景中,为避免高能效模式DVFS策略造成的上述显著性能下降的问题,还可以使用程序感知的DVFS策略。通过判断DVFS对程序运行速度的影响来控制DVFS控制的取值,判断DVFS对程序运行速度的影响的方式包括以下两种:一是通过多次重复运行同一程序来采集不同频率下程序的运行速度与功耗;二是当程序运行在循环中时改变每个循环的频率电压设置并采集不同频率时一个循环的运行速度与功耗。
然而这类方法也具有对应的缺陷,阻碍其在实际计算集群上使用。其一是在实际AI计算集群上,计算资源十分珍贵,不具备把同一任务重复执行多次来采集其不同频率下速度、功耗的条件,特别是考虑到AI处理器可调频率范围很广,要找到最佳频率点至少需要重复运行同一任务5~10次,这是不现实的策略。其二是若要在用户程序运行时改变每个循环的频率电压设置进行调优,则需要在该用户程序中添加相应的DVFS调控代码和功耗采集代码,但这对于拥有成百上千用户的大型AI集群也极不现实,因为用户既没有能力也缺乏动力在他们的代码中加入所需的DVFS控制策略。因此,出于上述两点原因,现有的程序感知的DVFS策略不具备实用性,也从未在现有的大型AI集群上部署应用。
针对上述问题,本实施例中,为实现建设高能效的AI计算集群、填补以往DVFS策略的不足,本实施例提出一种新的高能效AI计算集群自适应频率电压调控策略。该DVFS策略在提升系统能效的同时可以避免显著的性能损失,通过自适应的频率电压控制,可将程序运行时的能效比平均提升20%以上,同时保证性能的可靠性,可以确保速度下降在指定范围内。
具体的,为了解决上述多个问题中的至少一个问题,本实施例方案中,采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,其中,一个AI处理器对应的处理器状态数据集合中包括该AI处理器在不同运行频率下获得的多组硬件状态数据,一组上述硬件状态数据包括功耗和硬件指标数据;根据各上述AI处理器对应的处理器状态数据集合分别构建各上述AI处理器对应的频率关系模型,其中,一个AI处理器对应的频率关系模型体现该AI处理器的运行频率、性能和功耗之间的关系;根据各上述AI处理器对应的频率关系模型,分别获取各上述AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,上述能效比是性能与功耗的比值;根据各上述AI处理器对应的最优运行频率,分别对上述AI计算集群中的各上述AI处理器进行运行频率控制。
与现有技术中相比,本发明方案并不直接以性能优先为目标进行运行频率控制,而是综合考虑性能和能效比,在满足性能约束条件前提下,将能效比最高的候选运行频率作为最优运行频率。本实施例方案中的最优运行频率是根据AI计算集群的硬件状态数据确定的,符合AI计算集群的实时实际需求。具体的,最优运行频率满足性能约束条件,不会导致性能下降过于严重,同时最优运行频率并不是单纯的设定为性能最高时对应的频率(即并不是设备支持的最高数值),而是根据性能约束条件和能效比确定的频率,有利于降低AI计算集群的功耗和提高AI计算集群的能效比,且不会造成性能的过度降低,能够保证AI计算集群的性能(即程序运行速度),从而保证AI计算集群的服务质量不会过度下降,在提升能耗比的同时兼顾服务质量。具体的,最优运行频率对应的能效比较高,即性能与功耗的比值较高。可见,本实施例方案并不盲目的以降低功耗为目的,而是在考虑适当降低性能(也即降低运行频率和降低能耗)的基础上,确定一个满足性能要求且能效比最高的最优运行频率,有利于平衡性能和能效比之间的关系。
具体的,本实施例中提出的针对AI计算集群的运行频率控制方法是一种高能效AI计算集群自适应频率电压调控策略,是针对AI计算集群上AI处理器(包括GPU、NPU、TPU等)的一个新型DVFS策略。该策略可以在AI计算集群上通过自适应程序感知的方式进行DVFS调控,实现系统的高能效,并同时将服务质量损失控制在很小的范围内。该策略由于不需要修改用户程序代码或重复运行同一程序,因而弥补了现有技术的缺点,具备实用性。需要说明的是,本实施例中,服务质量指的是应用程序在AI计算集群上的运行速度,越快的运行速度意味着越高的服务质量,因此本实施例中也用性能代表服务质量。
本实施例中提出的针对AI计算集群的运行频率控制方法(即本实施例中提出的新的DVFS策略)具有程序感知的自适应调控能力,也即能够根据在服务器上运行的程序对硬件资源的实时利用情况自适应地调整AI处理器的运行频率(与电压)来满足能效和性能需求。采用自适应DVFS策略的原因在于:不同程序对硬件资源有不同的使用模式,导致不同程序的性能和功耗对频率的敏感度不同。例如,访存密集度越高的程序由于有较大比例的计算周期花费在访存延时上,因此其对AI处理器运行频率的敏感度低;反之,计算密集度越高的程序对频率的敏感度就高。因此,针对不同频率敏感度的程序,需要差异化进行DVFS调控,从而获得更好的控制效果。
图2是本发明实施例提供的一种针对AI计算集群的自适应运行频率调控策略原理图。需要说明的是,本实施例中提供的针对AI计算集群的运行频率控制方法是基于图2所示出的针对AI计算集群的自适应运行频率调控策略的原理所获得的具体方法步骤,即两者原理相同。如图2所示,上述自适应运行频率调控策略在AI计算集群中循环运行(即周期性运行),即每隔一段时间运行一次以计算对应循环周期的最优运行频率,在每一个循环周期中根据对应的最优运行频率进行运行频率控制。具体的,在每一个循环周期中,先进行多个频率点采样,获得AI处理器对应的功耗和硬件指标数据(即芯片的各项利用率,例如计算单元利用率、内存带宽利用率等);然后在线进行应用特征建模,建立当前执行程序的频率-性能-功耗模型(即频率关系模型);接下来,根据建立的模型判定程序在性能-能效比约束下的最优运行频率;最后,再通过AI处理器的系统调用执行频率(电压)调控。其中,图2中的AI芯片代表AI处理器,AI服务器相当于AI计算集群,AI服务器中包括多个AI芯片。
如图3所示,本发明实施例提供一种针对AI计算集群的运行频率控制方法,具体的,上述方法包括如下步骤:
步骤S100,采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,其中,一个AI处理器对应的处理器状态数据集合中包括该AI处理器在不同运行频率下获得的多组硬件状态数据,一组上述硬件状态数据包括功耗和硬件指标数据。
其中,上述AI计算集群是需要进行运行频率控制的AI计算集群,上述AI计算集群中包括多个AI处理器,根据本实施例中的针对AI计算集群的运行频率控制方法对该AI计算集群中的每一个AI处理器进行运行频率的单独控制,从而获得更好的AI计算效果。具体的,分别采集获取每一个AI处理器对应的处理器状态数据集合,对于任意一个AI处理器,其处理器状态数据集合中包括不同运行频率下的硬件状态数据,上述硬件状态数据用于指示AI处理器的在对应的运行频率下的硬件运行状态。
具体的,上述采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,包括:获取各上述AI处理器对应的采样间隔;根据各上述AI处理器对应的采样间隔分别对各上述AI处理器的运行频率进行多次调整,在每一次调整上述AI处理器的运行频率后采集获取上述AI处理器对应的一组硬件状态数据;根据各上述AI处理器对应的所有硬件状态数据获取各上述AI处理器对应的处理器状态数据集合。
具体的,上述采样间隔是对AI处理器进行频率调整和数据采集,上述采样间隔根据对应的AI处理器的硬件采样延迟确定,本实施例中,采样间隔不低于AI处理器的硬件采样延迟时间,以保证在每一次调整频率之后能够有充分的时间采集到所需的数据。需要说明的是,上述采样间隔对应的具体时间可以预先设置,也可以根据实际需求今天调整,在此不作具体限定。对各上述AI处理器的运行频率进行调整时,具体的调整次数可以根据实际需求确定,或者预先设置,在此不作具体限定。
本实施例中,通过系统调用实时采集各个AI处理器中的计算、内存、互连等模块硬件指标的数值。需要说明的是,采样间隔受具体硬件中采样延迟的限制,一般设置在一秒以内。本实施例中,需要对运行频率进行多次调整以采集获得不同运行频率下的硬件状态数据,从而构建对应的频率关系模型。具体的,在单个频率下无法建立有效的模型,有效模型必须结合多个频率下采样的数据构建,以提升准确性。具体的,在一个循环周期中,先通过频率调控改变AI处理器频率以在多个频率下对相应硬件指标进行测量,需要说明的是,计算出该循环周期对应的最优运行频率并调整到最优运行频率之后,在该循环周期内不会再对该AI处理器进行频率调整;进入下一个循环周期时则重新进行频率调整、数据采集和计算对应的最优运行频率。各个AI处理器在使用过程中,其上运行的应用程序可能发生变化,因此在不同的循环周期内分别计算该循环周期对应的最优运行频率进行控制,有利于综合考虑到应用程序变化对于运行频率的要求的改变,从而有利于进一步降低AI计算集群的功耗和提高AI计算集群的能效比。
本实施例中,上述AI计算集群中的AI处理器包括图形处理器(GPU)、嵌入式神经网络处理器(NPU)和张量处理器(TPU)中的至少一种,上述硬件指标数据包括计算单元利用率、内存利用率、内存带宽利用率、内存占用大小、算数单元利用率、指令通道占用比、内存读写带宽、缓存读写带宽和资源冲突占比中的至少一种。
具体的,针对每一个AI处理器,所需要具体采集的硬件指标数据可以不同,具体采集的硬件指标数据以及采用的采集工具根据对应的AI处理器的型号确定。例如,对于某一英伟达GPU,可以使用nvidia-smi工具和nvml API库采集GPU的功耗以及多项硬件指标,包括计算单元利用率、内存利用率、内存带宽利用率、内存占用大小等。对于某一华为处理器,可以使用npu-smi以及msprof工具采集NPU的多项硬件指标,包括算术单元利用率、指令通道占用比、内存读写带宽、缓存读写带宽、资源冲突占比等。需要说明的是,各项指标还进一步包含一些细分指标,例如算术单元利用率一项可以分别采集单精度浮点数、半精度浮点数、32位整数、8位整数的算术单元利用率,在此不作具体限定。
步骤S200,根据各上述AI处理器对应的处理器状态数据集合分别构建各上述AI处理器对应的频率关系模型,其中,一个AI处理器对应的频率关系模型体现该AI处理器的运行频率、性能和功耗之间的关系。
本实施例中,上述AI处理器对应的频率关系模型即为针对AI处理器构建的频率-性能-功耗模型,用于体现该AI处理器在运行程序时的运行频率、性能和功耗之间的对应关系,该模型可以用于预测程序在任意某一频率下运行时的功耗和性能(即运行速度)。其中,上述性能代表AI处理器的服务质量,服务质量指的是应用程序在AI计算集群上的运行速度,越快的运行速度意味着越高的服务质量。上述功耗则是AI处理器的功耗值。
本实施例中,基于实时收集的系统性能指标(即硬件状态数据)来量化频率电压设置对功耗和性能(即程序运行速度)的影响。目前,程序的运行性能没有通用的方法进行实时测量,例如,现有技术中,只有当一个程序运行完成时,才能依据其完成的工作量与计算用时算出其性能(性能=工作量/用时)。虽然对于单个程序可以在代码中加入中间步骤输出实现运行过程中的性能测量,但在运行成百上千程序的大型计算集群上,统一对所有用户代码进行修改以计量运行时的性能是事实上不可实现的。因此,本实施例中通过建立与性能相关的模型来实现性能的估计。同时,前述的系统实时硬件指标都是可以使用通用工具实时采集的,而且这些硬件指标的采集不需要对用户程序进行任何修改,也不会影响用户程序的正确执行,借此进行模型构建以评估AI处理器的性能有利于降低数据处理难度,且避免影响用户程序的运行。
具体的,上述频率关系模型包括频率性能子模型和频率功耗子模型。其中,上述频率性能子模型是用于体现频率与性能之间的关系的频率-性能模型,上述频率功耗子模型是用于体现频率与功耗之间的关系的频率-功耗模型。本实施例中,上述频率关系模型(即频率-性能-功耗模型)由频率性能子模型(即频率-性能模型)和频率功耗子模型(即频率-功耗模型)组成,可以更好地体现频率、性能与功耗三者之间的对应关系。
本实施例中,在线应用特征建模使用多个频率点下采集的AI处理器功耗以及各项硬件指标值作为输入,建立的频率-性能-功耗模型可以预测AI处理器中的程序在任意某一频率下运行时的功耗和性能(即运行速度)。频率-性能-功耗模型可细分为频率-性能模型和频率-功耗模型。其中,频率-功耗模型较为简单,可以通过前一步中多个频率下采样的功耗数值做线性拟合或二次函数拟合得到。
具体的,一个AI处理器对应的频率功耗子模型根据如下步骤构建:根据预设的第一数据拟合方式,对上述AI处理器的功耗以及各上述功耗对应的运行频率进行数据拟合获得上述频率功耗子模型;其中,上述第一数据拟合方式是线性拟合或二次函数拟合。
一个AI处理器对应的频率性能子模型根据如下步骤构建:获取预设的硬件指标性能关系,其中,上述硬件指标性能关系是上述AI处理器的硬件指标数据与性能之间的对应关系,上述性能是上述AI处理器中应用程序在上述AI计算集群中的运行速度;根据预设的第二数据拟合方式,对上述AI处理器的硬件指标数据以及各上述硬件指标数据对应的运行频率进行数据拟合获得频率硬件指标关系,其中,上述频率硬件指标关系是上述AI处理器的运行频率与硬件指标数据之间的对应关系;根据上述硬件指标性能关系和上述频率硬件指标关系获取上述频率性能子模型;其中,上述第二数据拟合方式是线性拟合或分段线性拟合。
本实施例中,在建立频率性能子模型(即频率-性能模型)时,先获取硬件指标性能关系(即硬件指标-性能关系),然后在线建立频率硬件指标关系(即频率-硬件指标关系)。其中,上述硬件指标-性能关系可以预先离线建立,不需要根据实时采集的数据确定。上述硬件指标-性能关系用于描述各个硬件指标数据对于性能的影响,即实现通过硬件指标数据来描述或计算出性能。具体的,在离线建立硬件指标-性能关系时,需要预先在不同频率下运行一系列典型基准测试(例如GPU上的Rodinia Suite、Polybench/GPU等基准测试)并收集运行时的硬件指标及运行完成时的整体性能,然后对硬件指标和性能进行线性拟合,得到形如的关系,其中为性能,为每个硬件指标的平均值,为拟合系数,不大于,的值根据实际需求进行设置和调整,在此不做具体限定。且具体指标和拟合系数随具体使用的AI处理器而异,但不随运行的程序改变。构建硬件指标-性能关系时,可以根据预先采集的训练数据对各个拟合系数的值进行训练和调整,以获得更好的拟合效果。
在进行运行频率控制时,结合采集到的功耗和硬件指标数据在线建立频率硬件指标关系(即频率-硬件指标关系),通过在线采样当前运行程序在多个频率下的频率-硬件指标数据来建立频率-硬件指标关系,由于硬件指标对频率的依赖关系一般为单调函数,建模可采用线性拟合或分段线性拟合实现,每一段对每个指标,都形如,其中是频率,和为拟合系数,参数和对于每个程序(或每个循环周期中的AI处理器)都是不同的。结合上述两步,即可得到所需的频率-性能模型。需要说明的是,本实施例中建立的模型是数学模型。在一种应用场景中,一个AI处理器(或一个程序)对应一个频率-性能-功耗模型,不同AI处理器(或不同程序)的模型拟合系数不同。
步骤S300,根据各上述AI处理器对应的频率关系模型,分别获取各上述AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,上述能效比是性能与功耗的比值。
本实施例中,上述AI处理器的最优运行频率是综合考虑能效比和性能的需求获得的运行频率,即在满足性能要求的前提下获得的能效比最高的频率。需要说明的是,针对各个AI处理器是分别计算获得其对应的最优运行频率。
在一种应用场景中,可以从能效比最高的频率点开始判断,逐个判断各个运行频率是否满足预设性能约束条件,将获得的第一个满足预设性能约束条件的运行频率作为最优运行频率。
本实施例中,一个上述AI处理器对应的最优运行频率根据如下步骤计算:根据上述AI处理器对应的频率关系模型获取上述AI处理器对应的频率能效比关系曲线;获取上述AI处理器对应的预设性能约束条件,其中,上述预设性能约束条件包括上述AI处理器的性能与上述AI处理器的最大性能值相比降低的比例不超过预设性能延缓范围;根据上述频率性能子模型和上述预设性能约束条件获取上述AI处理器对应的候选运行频率(包括一个范围内的所有频率);根据上述AI处理器对应的候选运行频率和频率能效比关系曲线,获取上述AI处理器对应的最优运行频率。
其中,上述预设性能延缓范围是预先设置的限定性能降低的范围,可以根据实际需求进行设置,例如可以设置为10%,在此不作具体限定。
具体的,由于能效比定义为性能除以功耗,因此由上述频率-性能-功耗模型可以进一步得到频率-能效比关系。图2中还示出了四个典型应用实测的频率-性能曲线以及频率-能效比曲线,其中,MNIST代表一个在MNIST训练集上训练卷积神经网络的应用程序,SRAD代表一个基于扩散方法的图像降噪应用程序,Schmidt代表一个执行Gram–Schmidt向量正交化数值计算的应用程序,LSTM代表一个使用LSTM神经网络算法训练语言模型的应用程序。一方面,随着频率上升,性能的提升通常会受访存和网络瓶颈影响而减缓;另一方面,随频率上升,功耗的上升会因温度升高和散热提升而加速。导致的结果是,频率-能效比曲线不再具有单调性,而是存在一个峰值。
本实施例中,基于上述频率-性能-功耗模型,可以结合能效比与性能约束条件判定最优运行频率。为了保证服务质量,需要限定程序的最大运行速度延缓在一定范围(例如10%)以内,依据建模的频率-性能关系就可以获得运行频率的一个下限;然后,对于满足限制的所有可选频率点,依据频率-能效比关系对比不同频率点的能效比,选择最高能效比的频率,从而保证所选频率满足性能约束并最优化能效比。需要说明的是,即使在同一块芯片上,不同程序的 频率-性能-功耗关系也有差异,因此不存在普适的频率下限或普适的最优能效比频率,所以上述最优频率判定需在实时在线建立的模型上进行,以获得针对当前正在运行的程序的频率下限和最优能效比频率,这一点体现了该策略的程序感知与自适应特性。同时,一个AI处理器上的最优运行频率是针对当前正在这个AI处理器上运行的程序。不同处理器的最优频率可以不同,同一AI处理器在执行不同程序的最优运行频率也会不同。由于AI处理器上的程序会切换,同一个程序也会在不同阶段间切换,所以一次获得的最优频率之后可能不再适用,因此策略需要以一定间隔(几秒至几十秒)循环执行,即可以根据该间隔确定循环周期。
步骤S400,根据各上述AI处理器对应的最优运行频率,分别对上述AI计算集群中的各上述AI处理器进行运行频率控制。
本实施例中,在计算获得各个AI处理器对应的最优运行频率之后,分别对各个AI处理器进行单独处理。上述根据各上述AI处理器对应的最优运行频率,分别对上述AI计算集群中的各上述AI处理器进行运行频率控制,包括:根据各上述AI处理器对应的最优运行频率,分别生成各上述AI处理器对应的频率控制代码;根据各上述AI处理器对应的频率控制代码,控制上述AI计算集群中的各上述AI处理器在当前时段(即当前循环或当前周期)的运行频率为各上述AI处理器对应的最优运行频率。
需要说明的是,本实施例中是以一个循环周期为例进行说明,在实际使用过程中,每一个循环周期中都执行如上述步骤S100至步骤S400的步骤,即在下一个循环周期中重新进行数据采集并计算该循环周期的最优运行频率并进行频率控制。进一步的,不仅可以根据最优运行频率进行频率控制,还可以进行运行电压的调控。
具体的,基于计算获得的最优运行频率,通过AI处理器的系统调用执行频率电压调控。例如,在英伟达GPU处理器上,可以通过nvidia-smi工具和nvml API库执行频率调控。不同品牌型号的AI处理器的频率控制方法和频率可调控范围各不相同,需要根据具体处理器的情况获取相应控制代码。目前大部分的典型芯片如英伟达GPU、AMD GPU、Intel CPU等只对外开放频率控制接口,而芯片运行电压的控制不对外开放,由内部逻辑依据频率设定进行控制(大致上电压和频率呈线性关系),因此本实施例中仅需对芯片运行频率进行调控,不需额外再执行运行电压的调控。
基于上述步骤S100至步骤S400构成的整个频率电压调控策略需要在AI集群的每个节点中的每个AI处理器上循环运行,每个AI处理器上的调控策略执行相互独立。由于不同AI处理器上正在运行的程序以及进行的具体计算一般有差异,因此不同AI处理器执行策略后所得到的最优运行频率也会有所不同。
本实施例中,有效结合了实时硬件指标来实现程序感知和自适应,从而能够做到让调控策略根据系统实时运行情况、系统当前正在执行的应用程序进行优化调控。在AI集群上的不同程序切换前后、以及一个多阶段程序的不同阶段之间切换前后,由于具体计算模式、数据读写模式、调用函数的差异,系统硬件资源利用率会产生变化,例如,不同程序或一个程序的不同阶段执行的具体计算模式、数据读写模式、调用的函数不同,导致利用率会发生变化,这一变化导致程序性能、功耗对运行频率的敏感度发生变化。若不实现程序感知与自适应,就不能检测到这一变化,从而造成系统采用欠佳的频率电压设置,导致难以实现高能效、无法保证服务质量。本实施例的方案中,由于实现了实时硬件指标数据的采集,因此任务负载的变化可以被自动捕捉到,从而允许系统上的每一个AI处理器在负载变化前后均能采用最佳的频率电压设置,保证系统的高能效与服务质量。
同时,该策略通过在线应用特征建模量化了频率电压设置对程序运行速度的影响,从而能够在DVFS调控时保证服务质量,避免了现有的高能效DVFS策略造成的计算速度显著下降的问题。不仅如此,若不实现在线建模,则任务切换、任务内阶段切换也将导致无法准确量化频率电压设置对运行速度的影响,导致难以保证服务质量。在本实施例的方案中,可以通过实时系统性能指标在线建立应用特征模型来量化频率电压设置对程序运行速度的影响,从而可以实现提升系统能效的同时兼顾服务质量。
为验证本实施例提出的方案的实际效果,在AI服务器上用C语言编写实现了上述针对AI计算集群的运行频率控制方法(即自适应DVFS策略),使用带有GPU处理器(型号V100)的服务器进行实验测试。测试比较了本实施例提出的自适应DVFS策略与其他两种DVFS策略在典型应用程序下的表现。用于对比的两种DVFS策略包括高性能模式与高能效模式。在本实验使用的AI处理器上,高性能模式下始终设定AI处理器运行频率为1530 MHz;高能效模式下始终设定运行频率为952 MHz;本实施例提出的自适应DVFS策略下运行频率将根据应用程序特性在952~1530 MHz间动态调控。实验测试中使用了30余种典型应用程序,涵盖多种典型的基准测试与AI应用,包括数值计算内核如GeMM、FFT、Transpose等;卷积神经网络模型如ResNet50;Transformer模型如ViT;生成模型如Latent Diffusion;强化学习模型如PPO等。实验时,这30余种程序依次运行,每个程序运行结束后对其性能与平均功耗进行计量。
实验结果显示,本实施例提出的策略相对于高性能模式可将程序运行能效比平均提升超过20%,这相当于该AI处理器可以节能20%,相应的碳排放和电费使用也会实现同等比例的削减。同时,执行该DVFS策略时的平均运行速度延缓仅5%(最大延缓不超过10%),显著优于现有的高能效模式DVFS策略,在可接受的范围内。实验还显示,高能效模式下的运行速度平均延缓为15%,对于一些计算密集型程序运行速度延缓可高达34%,超出了可接受的范围,因此若执行高能效模式DVFS策略将显著降低AI计算集群的服务质量。
由上可见,本实施例方案中,通过采样实时硬件指标实现AI处理器上的自适应频率电压调控,通过在线应用特征建模保证频率电压调控可以满足服务质量约束。与现有技术中相比,本实施例方案并不直接以性能优先为目标进行运行频率控制,而是综合考虑性能和能效比,在满足性能约束条件前提下,将能效比最高的候选运行频率作为最优运行频率。本实施例方案中的最优运行频率是根据AI计算集群的硬件状态数据确定的,符合AI计算集群的实时实际需求。具体的,最优运行频率满足性能约束条件,不会导致性能下降过于严重,同时最优运行频率并不是单纯的设定为性能最高时对应的频率(即并不是设备支持的最高数值),而是根据性能约束条件和能效比确定的频率,有利于降低AI计算集群的功耗和提高AI计算集群的能效比,且不会造成性能的过度降低,能够保证AI计算集群的性能(即程序运行速度),从而保证AI计算集群的服务质量不会过度下降,在提升能耗比的同时兼顾服务质量。
如图4中所示,对应于上述针对AI计算集群的运行频率控制方法,本发明实施例还提供一种针对AI计算集群的运行频率控制系统,上述针对AI计算集群的运行频率控制系统包括:
数据采集模块510,用于采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,其中,一个AI处理器对应的处理器状态数据集合中包括该AI处理器在不同运行频率下获得的多组硬件状态数据,一组上述硬件状态数据包括功耗和硬件指标数据;
模型获取模块520,用于根据各上述AI处理器对应的处理器状态数据集合分别构建各上述AI处理器对应的频率关系模型,其中,一个AI处理器对应的频率关系模型体现该AI处理器的运行频率、性能和功耗之间的关系;
频率计算模块530,用于根据各上述AI处理器对应的频率关系模型,分别获取各上述AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,上述能效比是性能与功耗的比值;
控制模块540,用于根据各上述AI处理器对应的最优运行频率,分别对上述AI计算集群中的各上述AI处理器进行运行频率控制。
具体的,本实施例中,上述针对AI计算集群的运行频率控制系统及其各模块的具体功能可以参照上述针对AI计算集群的运行频率控制方法中的对应描述,在此不再赘述。
需要说明的是,上述针对AI计算集群的运行频率控制系统的各个模块的划分方式并不唯一,在此也不作为具体限定。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图5所示。上述智能终端包括处理器及存储器。该智能终端的存储器包括针对AI计算集群的运行频率控制程序,存储器为针对AI计算集群的运行频率控制程序的运行提供环境。该针对AI计算集群的运行频率控制程序被处理器执行时实现上述任意一种针对AI计算集群的运行频率控制方法的步骤。需要说明的是,上述智能终端还可以包括其它功能模块或单元,在此不作具体限定。
本领域技术人员可以理解,图5中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体地智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有针对AI计算集群的运行频率控制程序,上述针对AI计算集群的运行频率控制程序被处理器执行时实现本发明实施例提供的任意一种针对AI计算集群的运行频率控制方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统/智能终端和方法,可以通过其它的方式实现。例如,以上所描述的系统/智能终端实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (13)
1.一种针对AI计算集群的运行频率控制方法,其特征在于,所述方法包括:
采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,其中,一个AI处理器对应的处理器状态数据集合中包括该AI处理器在不同运行频率下获得的多组硬件状态数据,一组所述硬件状态数据包括功耗和硬件指标数据;
根据各所述AI处理器对应的处理器状态数据集合分别构建各所述AI处理器对应的频率关系模型,其中,一个AI处理器对应的频率关系模型体现该AI处理器的运行频率、性能和功耗之间的关系;根据各所述AI处理器对应的频率关系模型,分别获取各所述AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,所述能效比是性能与功耗的比值;
根据各所述AI处理器对应的最优运行频率,分别对所述AI计算集群中的各所述AI处理器进行运行频率控制。
2.根据权利要求1所述的针对AI计算集群的运行频率控制方法,其特征在于,所述采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,包括:
获取各所述AI处理器对应的采样间隔;
根据各所述AI处理器对应的采样间隔分别对各所述AI处理器的运行频率进行多次调整,在每一次调整所述AI处理器的运行频率后采集获取所述AI处理器对应的一组硬件状态数据;
根据各所述AI处理器对应的所有硬件状态数据获取各所述AI处理器对应的处理器状态数据集合。
3.根据权利要求2所述的针对AI计算集群的运行频率控制方法,其特征在于,所述采样间隔根据对应的AI处理器的硬件采样延迟确定。
4.根据权利要求1所述的针对AI计算集群的运行频率控制方法,其特征在于,所述AI计算集群中的AI处理器包括图形处理器、嵌入式神经网络处理器和张量处理器中的至少一种。
5.根据权利要求1所述的针对AI计算集群的运行频率控制方法,其特征在于,所述硬件指标数据包括计算单元利用率、内存利用率、内存带宽利用率、内存占用大小、算数单元利用率、指令通道占用比、内存读写带宽、缓存读写带宽和资源冲突占比中的至少一种。
6.根据权利要求1所述的针对AI计算集群的运行频率控制方法,其特征在于,所述频率关系模型包括频率性能子模型和频率功耗子模型。
7.根据权利要求6所述的针对AI计算集群的运行频率控制方法,其特征在于,一个AI处理器对应的频率功耗子模型根据如下步骤构建:
根据预设的第一数据拟合方式,对所述AI处理器的功耗以及各所述功耗对应的运行频率进行数据拟合获得所述频率功耗子模型;
其中,所述第一数据拟合方式是线性拟合或二次函数拟合。
8.根据权利要求7所述的针对AI计算集群的运行频率控制方法,其特征在于,一个AI处理器对应的频率性能子模型根据如下步骤构建:
获取预设的硬件指标性能关系,其中,所述硬件指标性能关系是所述AI处理器的硬件指标数据与性能之间的对应关系,所述性能是所述AI处理器中应用程序在所述AI计算集群中的运行速度;
根据预设的第二数据拟合方式,对所述AI处理器的硬件指标数据以及各所述硬件指标数据对应的运行频率进行数据拟合获得频率硬件指标关系,其中,所述频率硬件指标关系是所述AI处理器的运行频率与硬件指标数据之间的对应关系;
根据所述硬件指标性能关系和所述频率硬件指标关系获取所述频率性能子模型;
其中,所述第二数据拟合方式是线性拟合或分段线性拟合。
9.根据权利要求6所述的针对AI计算集群的运行频率控制方法,其特征在于,一个所述AI处理器对应的最优运行频率根据如下步骤计算:
根据所述AI处理器对应的频率关系模型获取所述AI处理器对应的频率能效比关系曲线;
获取所述AI处理器对应的预设性能约束条件,其中,所述预设性能约束条件包括所述AI处理器的性能与所述AI处理器的最大性能值相比降低的比例不超过预设性能延缓范围;
根据所述频率性能子模型和所述预设性能约束条件获取所述AI处理器对应的候选运行频率;
根据所述AI处理器对应的候选运行频率和频率能效比关系曲线,获取所述AI处理器对应的最优运行频率。
10.根据权利要求1所述的针对AI计算集群的运行频率控制方法,其特征在于,所述根据各所述AI处理器对应的最优运行频率,分别对所述AI计算集群中的各所述AI处理器进行运行频率控制,包括:
根据各所述AI处理器对应的最优运行频率,分别生成各所述AI处理器对应的频率控制代码;
根据各所述AI处理器对应的频率控制代码,控制所述AI计算集群中的各所述AI处理器在当前时段的运行频率为各所述AI处理器对应的最优运行频率。
11.一种针对AI计算集群的运行频率控制系统,其特征在于,所述系统包括:
数据采集模块,用于采集获取AI计算集群中各AI处理器对应的处理器状态数据集合,其中,一个AI处理器对应的处理器状态数据集合中包括该AI处理器在不同运行频率下获得的多组硬件状态数据,一组所述硬件状态数据包括功耗和硬件指标数据;
模型获取模块,用于根据各所述AI处理器对应的处理器状态数据集合分别构建各所述AI处理器对应的频率关系模型,其中,一个AI处理器对应的频率关系模型体现该AI处理器的运行频率、性能和功耗之间的关系;
频率计算模块,用于根据各所述AI处理器对应的频率关系模型,分别获取各所述AI处理器对应的最优运行频率,其中,一个AI处理器对应的最优运行频率是该AI处理器对应的所有候选运行频率中能效比最高的一个候选运行频率,一个AI处理器对应的候选运行频率包括根据该AI处理器对应的频率关系模型获取的满足预设性能约束条件的运行频率,所述能效比是性能与功耗的比值;
控制模块,用于根据各所述AI处理器对应的最优运行频率,分别对所述AI计算集群中的各所述AI处理器进行运行频率控制。
12.一种智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的针对AI计算集群的运行频率控制程序,所述针对AI计算集群的运行频率控制程序被所述处理器执行时实现如权利要求1-10任意一项所述针对AI计算集群的运行频率控制方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有针对AI计算集群的运行频率控制程序,所述针对AI计算集群的运行频率控制程序被处理器执行时实现如权利要求1-10任意一项所述针对AI计算集群的运行频率控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310203474.5A CN116069152A (zh) | 2023-03-06 | 2023-03-06 | 针对ai计算集群的运行频率控制方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310203474.5A CN116069152A (zh) | 2023-03-06 | 2023-03-06 | 针对ai计算集群的运行频率控制方法、系统及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069152A true CN116069152A (zh) | 2023-05-05 |
Family
ID=86175062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310203474.5A Pending CN116069152A (zh) | 2023-03-06 | 2023-03-06 | 针对ai计算集群的运行频率控制方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069152A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501594A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 系统建模评估方法、装置、电子设备及存储介质 |
CN116627433A (zh) * | 2023-07-18 | 2023-08-22 | 鹏城实验室 | Ai处理器实时的参数预测方法、系统、设备及介质 |
CN116974772A (zh) * | 2023-09-21 | 2023-10-31 | 阿里云计算有限公司 | 一种针对大语言模型的资源优化和碳减排方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090049314A1 (en) * | 2007-08-13 | 2009-02-19 | Ali Taha | Method and System for Dynamic Voltage and Frequency Scaling (DVFS) |
CN106598203A (zh) * | 2016-12-21 | 2017-04-26 | 上海海事大学 | 一种数据密集环境下的单芯片多处理器系统的电源管理方法 |
CN108228414A (zh) * | 2017-04-06 | 2018-06-29 | 珠海市魅族科技有限公司 | 基于Linux的处理器进程参数监测方法和监测系统 |
CN111666152A (zh) * | 2020-05-18 | 2020-09-15 | 中国电子科技集团公司电子科学研究院 | 面向异构计算平台的任务调度方法、设备及存储介质 |
-
2023
- 2023-03-06 CN CN202310203474.5A patent/CN116069152A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090049314A1 (en) * | 2007-08-13 | 2009-02-19 | Ali Taha | Method and System for Dynamic Voltage and Frequency Scaling (DVFS) |
CN106598203A (zh) * | 2016-12-21 | 2017-04-26 | 上海海事大学 | 一种数据密集环境下的单芯片多处理器系统的电源管理方法 |
CN108228414A (zh) * | 2017-04-06 | 2018-06-29 | 珠海市魅族科技有限公司 | 基于Linux的处理器进程参数监测方法和监测系统 |
CN111666152A (zh) * | 2020-05-18 | 2020-09-15 | 中国电子科技集团公司电子科学研究院 | 面向异构计算平台的任务调度方法、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
齐巍巍: "考虑DVFS的云计算系统虚拟机部署策略研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 137 - 10 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501594A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 系统建模评估方法、装置、电子设备及存储介质 |
CN116501594B (zh) * | 2023-06-27 | 2023-09-08 | 上海燧原科技有限公司 | 系统建模评估方法、装置、电子设备及存储介质 |
CN116627433A (zh) * | 2023-07-18 | 2023-08-22 | 鹏城实验室 | Ai处理器实时的参数预测方法、系统、设备及介质 |
CN116627433B (zh) * | 2023-07-18 | 2024-01-09 | 鹏城实验室 | Ai处理器实时的参数预测方法、系统、设备及介质 |
CN116974772A (zh) * | 2023-09-21 | 2023-10-31 | 阿里云计算有限公司 | 一种针对大语言模型的资源优化和碳减排方法及设备 |
CN116974772B (zh) * | 2023-09-21 | 2024-02-27 | 阿里云计算有限公司 | 一种针对大语言模型的资源优化和碳减排方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116069152A (zh) | 针对ai计算集群的运行频率控制方法、系统及相关设备 | |
CN109324875B (zh) | 一种基于强化学习的数据中心服务器功耗管理与优化方法 | |
CN107515663B (zh) | 调整中央处理器内核运行频率的方法和装置 | |
US9086876B2 (en) | Technique for selecting a frequency of operation in a processor system | |
CN112631415B (zh) | Cpu频率调整方法、装置、电子设备及存储介质 | |
CN110941325B (zh) | 处理器的调频方法及装置、计算设备 | |
CN112256383B (zh) | 虚拟机的cpu核心数的调整方法、装置、设备及介质 | |
CN109491760A (zh) | 一种高效能数据中心云服务器资源自主管理方法和系统 | |
Han et al. | Performance improvement of Linux CPU scheduler using policy gradient reinforcement learning for Android smartphones | |
Basmadjian et al. | Modelling and analysing conservative governor of dvfs-enabled processors | |
KR101770736B1 (ko) | 응용프로그램의 질의 스케쥴링을 이용한 시스템의 소모전력 절감 방법 및 그 방법을 이용하여 소모전력을 절감하는 휴대단말기 | |
CN114500578A (zh) | 分布式存储系统负载均衡调度方法、装置及存储介质 | |
Jiang et al. | An energy-aware virtual machine migration strategy based on three-way decisions | |
Song et al. | A deep reinforcement learning-based task scheduling algorithm for energy efficiency in data centers | |
Lee et al. | Energy-efficient control of mobile processors based on long short-term memory | |
Shi et al. | PAPMSC: power-aware performance management approach for virtualized web servers via stochastic control | |
CN117371622A (zh) | 一种区域中长期动态碳排放因子的预测方法、系统及设备 | |
CN112015259B (zh) | 控制峰值功耗的方法及系统 | |
Ali et al. | Optimal GPU frequency selection using multi-objective approaches for hpc systems | |
CN109582119B (zh) | 基于动态电压频率调整的双层Spark节能调度方法 | |
CN116360921A (zh) | 一种面向电力物联网的云平台资源优化调度方法及系统 | |
CN117130769A (zh) | 一种调频方法、频率调节神经网络的训练方法及电子设备 | |
CN116011646A (zh) | 虚拟电厂优化方法、装置、计算机设备及存储介质 | |
Bogdanov et al. | On application of simultaneous perturbation stochastic approximation for dynamic voltage-frequency scaling in android os | |
Xiong et al. | Energy-saving optimization of application server clusters based on mixed integer linear programming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230505 |