CN116257128B - 一种多核异构芯片的低功耗控制方法和装置 - Google Patents
一种多核异构芯片的低功耗控制方法和装置 Download PDFInfo
- Publication number
- CN116257128B CN116257128B CN202310547690.1A CN202310547690A CN116257128B CN 116257128 B CN116257128 B CN 116257128B CN 202310547690 A CN202310547690 A CN 202310547690A CN 116257128 B CN116257128 B CN 116257128B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- core
- chip
- state
- heterogeneous chip
- 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.)
- Active
Links
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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- 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/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
Abstract
本发明提供了一种多核异构芯片的低功耗控制方法和装置,涉及计算机芯片技术领域。该方法包括:获取多核异构芯片在当前运行状态下的芯片温度;在芯片温度达到第一温度阈值且小于安全温度时,获取多核异构芯片中各单核的运行状态,将各单核的运行状态输入预建立的功耗模型得到多核异构芯片的功耗;根据功耗和芯片温度对多核异构芯片进行实时动态功耗管理。本方案能有效实现多核异构芯片的低功耗控制,优化多核异构芯片的计算性能。
Description
技术领域
本发明涉及计算机芯片技术领域,特别涉及一种多核异构芯片的低功耗控制方法和装置。
背景技术
随着芯片技术的快速发展和一些特殊场景的应用,低功耗技术越来越受到重视。多核芯片由于其工作频率高,系统集成度大,功耗也随之大幅度提升,从而带来一系列的现实问题。功耗的增加引起的芯片运行温度上升会引起半导体参数漂移,影响芯片的正常工作,降低芯片可靠性,增加芯片失效风险;同时运行温度上升还会缩短芯片寿命,进一步限制系统性能。因此,功耗已成为制约芯片性能提升的重要因素,而现有芯片的功耗管理多针对非异构芯片的同簇CPU的关核与降频调压对芯片的性能和功耗进行管理,对于多核异构芯片中的多个不同的CPU内核簇,现有的功耗管理缺乏实时性能与功耗的针对性管理。
发明内容
本发明提供了一种多核异构芯片的低功耗控制方法和装置,该方法能有效实现多核异构芯片的低功耗控制,同时优化多核异构芯片的计算性能。
第一方面,本发明实施例提供了一种多核异构芯片的低功耗控制方法,包括:
获取多核异构芯片在当前运行状态下的芯片温度;
在所述芯片温度达到第一温度阈值且小于安全温度时,获取所述多核异构芯片中各单核的运行状态,将所述各单核的运行状态输入预建立的功耗模型得到所述多核异构芯片的功耗;
根据所述功耗和所述芯片温度对所述多核异构芯片进行实时动态功耗管理。
可选地,所述功耗模型通过如下方法建立,包括:
获取各单核所支持的性能事件;
对所述性能事件进行组合,得到运行所述性能事件的单核组成的第一多核异构芯片的待运行状态;
根据所述待运行状态,获取每个所述待运行状态所对应的实际功耗;
将每个所述待运行状态和所对应的实际功耗进行拟合,得到所述功耗模型。
可选地,所述功耗模型为:
其中,P用于表征所述实际功耗;m用于表征单核的数量,corej用于表征第j个单核;nj用于表征第j个单核所支持的性能事件的数量,ei用于表征第i件性能事件;βei用于表征ei对应的回归系数;Mei用于表征ei的触发次数;Vdd(ei,corej)用于表征运行ei的单核corej的工作电压;f(ei,corej)用于表征运行ei的单核corej的工作频率;c1、c2、c3均用于表征与静态功耗相关的参数;T用于表征芯片温度,d用于表征截距项。
可选地,所述根据所述功耗和所述芯片温度对所述多核异构芯片进行动态功耗管理,包括:
S1:获取所述多核异构芯片的动作空间;其中,所述动作空间包括所有功耗策略,且同一单核的不同的功耗策略对应的频率和/或电压等级不同;
S2:初始化贪婪因子、折扣率,并初始化行为Q值神经网络与目标Q值神经网络相同;
S3:获取所述多核异构芯片的当前状态,根据ε-greedy策略和行为Q值神经网络进行动作选择,确定第一功耗策略,以使所述多核异构芯片运行所述第一功耗策略;其中,所述当前状态包括功耗和芯片温度;
S4:确定所述多核异构芯片运行所述第一功耗策略进入的第一状态,根据所述第一状态获得奖励因子;
S5:将所述当前状态、所述第一功耗策略、所述奖励因子、所述第一状态作为样本数据并加入样本集中;
S6:当所述样本集中的样本数据的数量达到训练阈值时,利用所述样本集训练行为Q值神经网络,在训练次数达到训练次数阈值时,将行为Q值神经网络的权重参数赋值给目标Q值神经网络,得到训练模型;
S7:使用所述训练模型结合ε-greedy策略确定最优功耗策略,以利用所述最优功耗策略对所述多核异构芯片进行动态功耗管理。
可选地,所述根据所述第一状态获得奖励因子,包括:
比较所述第一状态的功耗和所述当前状态的功耗;
若所述第一状态的功耗小于所述当前状态的功耗,则给予正奖励因子;
若所述第一状态的功耗不小于所述当前状态的功耗,则给予负奖励因子。
可选地,还包括:
构建梯度式奖励映射关系;其中,多核异构芯片的不同状态对应的奖励因子不同;
获取所述多核异构芯片在所述安全温度下运行指定时长的理论累计指令执行数;
每间隔所述指定时长均执行:计算该指定时长内所述多核异构芯片所执行的实际累计指令数;对所述实际累计指令数和所述理论累计指令执行数进行差值运算,得到指令差值;根据所述指令差值对所述多核异构芯片赋予奖励因子;其中,所述奖励因子与所述指令差值呈正相关。
可选地,所述确定最优功耗策略,包括:
S71:获取所述多核异构芯片的当前状态,根据ε-greedy策略和所述训练模型进行动作选择,确定第二功耗策略,以使所述多核异构芯片运行所述第二功耗策略;
S72:确定所述多核异构芯片运行所述第二功耗策略进入的第二状态,判断所述第二状态的芯片温度是否大于预设温度阈值;
若是,则将上一次统计的幕数加一得到本次统计的幕数,并判断本次统计的幕数是否等于预设训练幕数阈值,若等于,则得到最优功耗策略;若不等于,则返回S71;
若否,则返回S71。
可选地,所述预设温度阈值低于所述安全温度,所述预设温度阈值通过如下公式确定:
其中,T y用于表征所述预设温度阈值,T a用于表征所述安全温度,ε用于表征所述多核异构芯片的发热系数,P用于表征所述第二状态下的功耗,P s用于表征所述多核异构芯片的散热功耗,t用于表征进行所述动态功耗管理的时间间隔,c用于表征所述多核异构芯片的热容,m用于表征所述多核异构芯片的质量。
可选地,还包括:
采用去偏斜锁相环实现所述多核异构芯片中各单核之间的时钟同步。
第二方面,本发明实施例还提供了一种多核异构芯片的低功耗控制装置,包括:
获取模块,用于获取多核异构芯片在当前运行状态下的芯片温度;
功耗获取模块,用于在所述芯片温度达到第一温度阈值且小于安全温度时,获取所述多核异构芯片中各单核的运行状态,将所述各单核的运行状态输入预建立的功耗模型得到所述多核异构芯片的功耗;
功耗管理模块,用于根据所述功耗和所述芯片温度对所述多核异构芯片进行实时动态功耗管理。
第三方面,本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现上述任一项所述的多核异构芯片的低功耗控制方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项所述的多核异构芯片的低功耗控制方法。
本发明实施例提供了一种多核异构芯片的低功耗控制方法和装置,该方法在芯片温度达到第一温度阈值且低于安全温度时,通过获取该多核异构芯片中各单核的运行状态,利用预建立的功耗模型获取其功耗,以根据该功耗和芯片温度及时对多核异构芯片进行实时的动态功耗管理,如此有效降低芯片温度,实现多核异构芯片的低功耗控制,并通过动态调控优化多核异构芯片的计算性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种多核异构芯片的低功耗控制方法的流程图;
图2是本发明一实施例提供的一种计算设备的硬件架构图;
图3是本发明一实施例提供的一种多核异构芯片的低功耗控制装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种多核异构芯片的低功耗控制方法,该方法包括:
步骤100,获取多核异构芯片在当前运行状态下的芯片温度;
步骤102,在芯片温度达到第一温度阈值且小于安全温度时,获取多核异构芯片中各单核的运行状态,将各单核的运行状态输入预建立的功耗模型得到多核异构芯片的功耗;
步骤104,根据功耗和芯片温度对多核异构芯片进行实时动态功耗管理。
本发明实施例中,在芯片温度达到第一温度阈值且低于安全温度时,通过获取该多核异构芯片中各单核的运行状态,利用预建立的功耗模型获取其功耗,以根据该功耗和芯片温度及时对多核异构芯片进行实时的动态功耗管理,如此有效实现多核异构芯片的低功耗控制,并通过动态调控优化多核异构芯片的计算性能。
下面描述图1所示的各个步骤的执行方式。
针对步骤102,功耗模型通过如下方法建立,包括:
获取各单核所支持的性能事件;
对性能事件进行组合,得到运行性能事件的单核组成的第一多核异构芯片的待运行状态;
根据待运行状态,获取每个待运行状态所对应的实际功耗;
将每个待运行状态和所对应的实际功耗进行拟合,得到功耗模型。
在一个优选的实施方式中,功耗模型为:
其中,P用于表征所述实际功耗;m用于表征单核的数量,corej用于表征第j个单核;nj用于表征第j个单核所支持的性能事件的数量,ei用于表征第i件性能事件;βei用于表征ei对应的回归系数;Mei用于表征ei的触发次数;Vdd(ei,corej)用于表征运行ei的单核corej的工作电压;f(ei,corej)用于表征运行ei的单核corej的工作频率;c1、c2、c3均用于表征与静态功耗相关的参数;T用于表征芯片温度,d用于表征截距项。
需要说明的是,1≤j≤q;q为多核异构芯片中单核的数量。不同单核对应所支持的性能事件的数量相同或不同,故nj用于表征第j个单核所支持的性能事件的数量。且eC2/T中的e为自然常数e。例如,多核异构芯片包括4个异构单核,则q=4,其中core1表示标记为1的单核,core2表示标记为2的单核,core3表示标记为3的单核,core4表示标记为4的单核。由于同一性能事件运行在不同异构单核上的动态功耗并不相同,通过对于各单核所支持的性能事件进行组合,可以确定运行所需性能事件组合得到的第一多核异构芯片的运行状态,由此便能对组合得到的任何第一多核异构芯片进行功耗获取。接前例所述,上述4个异构单核均可运行性能事件1、2、3,性能事件的组合有6种,若性能事件组合为123,该组合可选择运行在单核1上、单核2、单核3、单核4、或任意两个单核组合或任意三个单核组合上,由此对应该组合可以有多个第一单核异构芯片,针对每个单核异构芯片的运行状态确定其所对应的实际功耗,由此获得包括待运行状态和实际功耗的样本数据集,如此通过采集芯片所运行的性能事件及其触发次数与实际功耗来建立功耗模型,进而可以在已知待动态功耗管理的多核异构芯片的运行状态时通过该功耗模型确定其功耗。其中,运行状态包括所运行的性能事件,运行性能事件的单核以及该单核的工作电压、工作频率,性能事件的触发次数,芯片温度。
在本发明中,对于不含内置功率计的芯片来说,通过事先采集由各单核的内部数据和实际功耗建立了功耗模型,如此对于由任几个单核所组合的多核异构芯片而言,便于通过该功耗模型获取其对应的功耗。
针对步骤104,根据功耗和芯片温度对多核异构芯片进行动态功耗管理,包括:
S1:获取多核异构芯片的动作空间;其中,动作空间包括所有功耗策略,且同一单核的不同的功耗策略对应的频率和/或电压等级不同;
S2:初始化贪婪因子、折扣率,并初始化行为Q值神经网络与目标Q值神经网络相同;
S3:获取所述多核异构芯片的当前状态,根据ε-greedy策略和行为Q值神经网络进行动作选择,确定第一功耗策略,以使所述多核异构芯片运行所述第一功耗策略;其中,所述当前状态包括功耗和芯片温度;
S4:确定所述多核异构芯片运行所述第一功耗策略进入的第一状态,根据所述第一状态获得奖励因子;
S5:将所述当前状态、所述第一功耗策略、所述奖励因子、所述第一状态作为样本数据并加入样本集中;
S6:当所述样本集中的样本数据的数量达到训练阈值时,利用所述样本集训练行为Q值神经网络,在训练次数达到训练次数阈值时,将行为Q值神经网络的权重参数赋值给目标Q值神经网络,得到训练模型;
S7:使用所述训练模型结合ε-greedy策略确定最优功耗策略,以利用所述最优功耗策略对所述多核异构芯片进行动态功耗管理。
需要说明的是,动作空间包括各单核可配置的频率、电压等级,一条功耗策略包括至少一个单核的频率和电压等级。例如,功耗策略a为将单核1的频率设置为f1,电压等级设置为V1;功耗策略b为将单核1的频率设置为f1,电压等级设置为V3;功耗策略c为将单核1的频率设置为f2,电压等级设置为V1;功耗策略d为将单核1的频率设置为f1,电压等级设置为V1,以及将单核2的频率设置为f1,电压等级设置为V5。
在本发明中,由于多核异构芯片中各单核的频率、电压等级的调整不仅影响当前运行状态及性能,还会对下一时刻的运行状态产生影响,因此采用深度Q网络,利用延后更新的目标网络计算目标Q值,极大提高了网络训练的稳定性和收敛性,同时提高模型的表达能力和学习效率,为多核异构芯片的降低功耗优化计算性能提供最优的功耗策略。
更具体地,每间隔一定时长使用训练模型结合ε-greedy策略确定最优功耗策略确定当前多核异构芯片的最优功耗策略,以实现实时动态功耗管理。
在一个优选的实施方式中,还包括:实时获取所述多核异构芯片的当前状态,对训练模型进行周期性训练更新,获得更新训练模型。
由于芯片性能一般会随使用时间而衰减,因此在本发明中,还包括:实时获取多核异构芯片的当前状态,并利用所获取的当前状态对训练模型进行周期性更新训练。更具体地,本发明还包括样本数据的存储库,通过经验回放机制便于模型的离线训练,得到更新训练模型,由于存储库具有固定容量大小,当存储库满后,再存入新的数据时,最先存入到存储库中的数据会被丢弃,从而保证了训练样本的时效性,保证训练模型能够自适应多核异构芯片的变化。
在一个优选的实施方式中,步骤S4中根据第一状态获得奖励因子,包括:
比较第一状态的功耗和当前状态的功耗;
若第一状态的功耗小于当前状态的功耗,则给予正奖励因子;
若第一状态的功耗不小于当前状态的功耗,则给予负奖励因子。
在本发明中,通过奖励因子的设定,不断优化Q值神经网络,使算法决策向降低能耗的方向进化。
在一个优选的实施方式中,针对S4中的奖励因子,还包括:
构建梯度式奖励映射关系;其中,多核异构芯片的不同状态对应的奖励因子不同;
获取多核异构芯片在安全温度下运行指定时长的理论累计指令执行数;
每间隔所述指定时长均执行:计算该指定时长内所述多核异构芯片所执行的实际累计指令数;对所述实际累计指令数和所述理论累计指令执行数进行差值运算,得到指令差值;根据所述指令差值对所述多核异构芯片赋予奖励因子;其中,所述奖励因子与所述指令差值呈正相关。
需要说明的是,奖励因子是经多次训练得到的最优参数。理论累计指令执行数是多核异构芯片以中等性能在安全温度下运行指定时长得到的。本发明以最大化芯片在指定时长内执行的总指令数为目标,实现对多核异构芯片的性能优化。
在本发明中,当累计指令执行数达到一定数量时,多核异构芯片将获得相应的奖励,并在进一步更新策略后获得更高的奖励,如此通过设置梯度奖励因子,对低功耗的功耗策略赋予更多的奖励,能够引导训练模型逐步改善功耗策略,进而达到优化芯片性能的目的。
在一个优选的实施方式中,确定最优功耗策略,包括:
S71:获取所述多核异构芯片的当前状态,根据ε-greedy策略和所述训练模型进行动作选择,确定第二功耗策略,以使所述多核异构芯片运行所述第二功耗策略;
S72:确定所述多核异构芯片运行所述第二功耗策略进入的第二状态,判断所述第二状态的芯片温度是否大于预设温度阈值;
若是,则将上一次统计的幕数加一得到本次统计的幕数,并判断本次统计的幕数是否等于预设训练幕数阈值,若等于,则得到最优功耗策略;若不等于,则返回S71;
若否,则返回S71。
在本发明中,贪婪因子会随着训练幕数的增大而衰减,使其在训练前期能充分探索环境,有利于在训练后期寻找全局最优的功耗策略,以利用该最优功耗策略对多核异构芯片中的单核的频率和/或电压进行调节。
在一个优选的实施方式中,预设温度阈值低于安全温度且高于第一温度阈值,预设温度阈值通过如下公式确定:
其中,T y用于表征预设温度阈值,T a用于表征安全温度,ε用于表征多核异构芯片的发热系数,P用于表征第二状态下的功耗,P s用于表征多核异构芯片的散热功耗,t用于表征进行动态功耗管理的时间间隔,c用于表征多核异构芯片的热容,m用于表征多核异构芯片的质量。
需要说明的是,在芯片温度达到第一温度阈值时,会存在多核异构芯片自身的散热小于自身放热的情况,此时随着多核异构芯片的持续运行,多核异构芯片温度会逐步升高,直至达到安全温度甚至超过安全温度,对多核异构芯片性能造成一定影响。因此,在本发明中,在进行周期性动态功耗管理时,针对每个时间间隔,需要考虑多核异构芯片在第二状态下运行t后其升温情况,即截至下一次动态功耗管理时所间隔的t内多核异构芯片的升温温度,记录该升温温度为,在确保运行t后的多核异构芯片的芯片温度为/>,使得/>,T1为第二状态下的芯片温度,如此通过上述方法确定预设温度阈值,能进一步延缓多核异构芯片达到安全温度,确保多核异构芯片的高效运行。
在一个优选的实施方式中,还包括:采用去偏斜锁相环实现多核异构芯片中各单核之间的时钟同步。
在本发明中,利用去偏斜锁相环的远端时钟反馈技术实现不同时钟域之间的实时相位对齐,同时抵抗反馈环内时钟分布随工艺电压温度的变化,进一步优化多核处理器的性能。
如图2、图3所示,本发明实施例提供了一种多核异构芯片的低功耗控制装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种多核异构芯片的低功耗控制装置所在计算设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的计算设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在计算设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种多核异构芯片的低功耗控制装置,包括:获取模块300、功耗获取模块302和功耗管理模块304;
获取模块300,用于获取多核异构芯片在当前运行状态下的芯片温度;
功耗获取模块302,用于在芯片温度达到第一温度阈值且小于安全温度时,获取多核异构芯片中各单核的运行状态,将各单核的运行状态输入预建立的功耗模型得到多核异构芯片的功耗;
功耗管理模块304,用于根据功耗和芯片温度对多核异构芯片进行实时动态功耗管理。
在一些具体的实施方式中,获取模块300可用于执行上述步骤100,功耗获取模块302可用于执行上述步骤102,功耗管理模块304可用于执行上述步骤104。
在一些具体的实施方式中,功耗获取模块302还用于执行如下操作:
获取各单核所支持的性能事件;
对性能事件进行组合,得到运行性能事件的单核组成的第一多核异构芯片的待运行状态;
根据待运行状态,获取每个待运行状态所对应的实际功耗;
将每个待运行状态和所对应的实际功耗进行拟合,得到功耗模型;
功耗模型为:
其中,P用于表征所述实际功耗;m用于表征单核的数量,corej用于表征第j个单核;nj用于表征第j个单核所支持的性能事件的数量,ei用于表征第i件性能事件;βei用于表征ei对应的回归系数;Mei用于表征ei的触发次数;Vdd(ei,corej)用于表征运行ei的单核corej的工作电压;f(ei,corej)用于表征运行ei的单核corej的工作频率;c1、c2、c3均用于表征与静态功耗相关的参数;T用于表征芯片温度,d用于表征截距项。
在一些具体的实施方式中,功耗管理模块304还用于执行如下操作:
S1:获取多核异构芯片的动作空间;其中,动作空间包括所有功耗策略,且同一单核的不同的功耗策略对应的频率和/或电压等级不同;
S2:初始化贪婪因子、折扣率,并初始化行为Q值神经网络与目标Q值神经网络相同;
S3:获取多核异构芯片的当前状态,根据ε-greedy策略和行为Q值神经网络进行动作选择,确定第一功耗策略,以使多核异构芯片运行第一功耗策略;其中,当前状态包括功耗和芯片温度;
S4:确定多核异构芯片运行第一功耗策略进入的第一状态,根据第一状态获得奖励因子;
S5:将当前状态、第一功耗策略、奖励因子、第一状态作为样本数据并加入样本集中;
S6:当样本集中的样本数据的数量达到训练阈值时,利用样本集训练行为Q值神经网络,在训练次数达到训练次数阈值时,将行为Q值神经网络的权重参数赋值给目标Q值神经网络,得到训练模型;
S7:使用训练模型结合ε-greedy策略确定最优功耗策略,以利用最优功耗策略对多核异构芯片进行动态功耗管理。
在一些具体的实施方式中,功耗管理模块304还用于执行如下操作:
比较第一状态的功耗和当前状态的功耗;
若第一状态的功耗小于当前状态的功耗,则给予正奖励因子;
若第一状态的功耗不小于当前状态的功耗,则给予负奖励因子。
在一些具体的实施方式中,功耗管理模块304还用于执行如下操作:
构建梯度式奖励映射关系;其中,多核异构芯片的不同状态对应的奖励因子不同;
获取多核异构芯片在安全温度下运行指定时长的理论累计指令执行数;
每间隔指定时长均执行:计算该指定时长内多核异构芯片所执行的实际累计指令数;对实际累计指令数和理论累计指令执行数进行差值运算,得到指令差值;根据指令差值对多核异构芯片赋予奖励因子;其中,奖励因子与指令差值呈正相关。
在一些具体的实施方式中,功耗管理模块304还用于执行如下操作:
S71:获取多核异构芯片的当前状态,根据ε-greedy策略和训练模型进行动作选择,确定第二功耗策略,以使多核异构芯片运行第二功耗策略;
S72:确定多核异构芯片运行第二功耗策略进入的第二状态,判断第二状态的芯片温度是否大于预设温度阈值;
其中,预设温度阈值低于安全温度,预设温度阈值通过如下公式确定:
其中,T y用于表征预设温度阈值,T a用于表征安全温度,ε用于表征多核异构芯片的发热系数,P用于表征第二状态下的功耗,P s用于表征多核异构芯片的散热功耗,t用于表征进行动态功耗管理的时间间隔,c用于表征多核异构芯片的热容,m用于表征多核异构芯片的质量;
若是,则将上一次统计的幕数加一得到本次统计的幕数,并判断本次统计的幕数是否等于预设训练幕数阈值,若等于,则得到最优功耗策略;若不等于,则返回S71;
若否,则返回S71。
在一个具体的实施方式中,该装置还包括更新模块,更新模块用于执行如下操作:
实时获取多核异构芯片的当前状态,对训练模型进行周期性训练更新,获得更新训练模型。
在一些具体的实施方式中,该装置还包括:采用去偏斜锁相环实现多核异构芯片中各单核之间的时钟同步。
可以理解的是,本发明实施例示意的结构并不构成对一种多核异构芯片的低功耗控制装置的具体限定。在本发明的另一些实施例中,一种多核异构芯片的低功耗控制装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种多核异构芯片的低功耗控制方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种多核异构芯片的低功耗控制方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种多核异构芯片的低功耗控制方法,其特征在于,包括:
获取多核异构芯片在当前运行状态下的芯片温度;
在所述芯片温度达到第一温度阈值且小于安全温度时,获取所述多核异构芯片中各单核的运行状态,将所述各单核的运行状态输入预建立的功耗模型得到所述多核异构芯片的功耗;
根据所述功耗和所述芯片温度对所述多核异构芯片进行实时动态功耗管理;
所述功耗模型通过如下方法建立,包括:
获取各单核所支持的性能事件;
对所述性能事件进行组合,得到运行所述性能事件的单核组成的第一多核异构芯片的待运行状态;
根据所述待运行状态,获取每个所述待运行状态所对应的实际功耗;
将每个所述待运行状态和所对应的实际功耗进行拟合,得到所述功耗模型;所述功耗模型为:
其中,P用于表征所述实际功耗;m用于表征单核的数量,corej用于表征第j个单核;nj用于表征第j个单核所支持的性能事件的数量,ei用于表征第i件性能事件;βei用于表征ei对应的回归系数;Mei用于表征ei的触发次数;Vdd(ei,corej)用于表征运行ei的单核corej的工作电压;f(ei,corej)用于表征运行ei的单核corej的工作频率;c1、c2、c3均用于表征与静态功耗相关的参数;T用于表征所述芯片温度,d用于表征截距项。
2.根据权利要求1所述的方法,其特征在于,所述根据所述功耗和所述芯片温度对所述多核异构芯片进行动态功耗管理,包括:
S1:获取所述多核异构芯片的动作空间;其中,所述动作空间包括所有功耗策略,且同一单核的不同的功耗策略对应的频率和/或电压等级不同;
S2:初始化贪婪因子、折扣率,并初始化行为Q值神经网络与目标Q值神经网络相同;
S3:获取所述多核异构芯片的当前状态,根据ε-greedy策略和行为Q值神经网络进行动作选择,确定第一功耗策略,以使所述多核异构芯片运行所述第一功耗策略;其中,所述当前状态包括功耗和芯片温度;
S4:确定所述多核异构芯片运行所述第一功耗策略进入的第一状态,根据所述第一状态获得奖励因子;
S5:将所述当前状态、所述第一功耗策略、所述奖励因子、所述第一状态作为样本数据并加入样本集中;
S6:当所述样本集中的样本数据的数量达到训练阈值时,利用所述样本集训练行为Q值神经网络,在训练次数达到训练次数阈值时,将行为Q值神经网络的权重参数赋值给目标Q值神经网络,得到训练模型;
S7:使用所述训练模型结合ε-greedy策略确定最优功耗策略,以利用所述最优功耗策略对所述多核异构芯片进行动态功耗管理。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一状态获得奖励因子,包括:
比较所述第一状态的功耗和所述当前状态的功耗;
若所述第一状态的功耗小于所述当前状态的功耗,则给予正奖励因子;
若所述第一状态的功耗不小于所述当前状态的功耗,则给予负奖励因子。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
构建梯度式奖励映射关系;其中,多核异构芯片的不同状态对应的奖励因子不同;
获取所述多核异构芯片在所述安全温度下运行指定时长的理论累计指令执行数;
每间隔所述指定时长均执行:计算该指定时长内所述多核异构芯片所执行的实际累计指令数;对所述实际累计指令数和所述理论累计指令执行数进行差值运算,得到指令差值;根据所述指令差值对所述多核异构芯片赋予奖励因子;其中,所述奖励因子与所述指令差值呈正相关。
5.根据权利要求2或3所述的方法,其特征在于,所述确定最优功耗策略,包括:
S71:获取所述多核异构芯片的当前状态,根据ε-greedy策略和所述训练模型进行动作选择,确定第二功耗策略,以使所述多核异构芯片运行所述第二功耗策略;
S72:确定所述多核异构芯片运行所述第二功耗策略进入的第二状态,判断所述第二状态的芯片温度是否大于预设温度阈值;
若是,则将上一次统计的幕数加一得到本次统计的幕数,并判断本次统计的幕数是否等于预设训练幕数阈值,若等于,则得到最优功耗策略;若不等于,则返回S71;
若否,则返回S71。
6.一种多核异构芯片的低功耗控制装置,其特征在于,包括:
获取模块,用于获取多核异构芯片在当前运行状态下的芯片温度;
功耗获取模块,用于在所述芯片温度达到第一温度阈值且小于安全温度时,获取所述多核异构芯片中各单核的运行状态,将所述各单核的运行状态输入预建立的功耗模型得到所述多核异构芯片的功耗;
功耗管理模块,用于根据所述功耗和所述芯片温度对所述多核异构芯片进行实时动态功耗管理;
功耗获取模块还用于执行如下操作:
获取各单核所支持的性能事件;
对所述性能事件进行组合,得到运行所述性能事件的单核组成的第一多核异构芯片的待运行状态;
根据所述待运行状态,获取每个所述待运行状态所对应的实际功耗;
将每个所述待运行状态和所对应的实际功耗进行拟合,得到所述功耗模型;所述功耗模型为:
其中,P用于表征所述实际功耗;m用于表征单核的数量,corej用于表征第j个单核;nj用于表征第j个单核所支持的性能事件的数量,ei用于表征第i件性能事件;βei用于表征ei对应的回归系数;Mei用于表征ei的触发次数;Vdd(ei,corej)用于表征运行ei的单核corej的工作电压;f(ei,corej)用于表征运行ei的单核corej的工作频率;c1、c2、c3均用于表征与静态功耗相关的参数;T用于表征所述芯片温度,d用于表征截距项。
7.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310547690.1A CN116257128B (zh) | 2023-05-16 | 2023-05-16 | 一种多核异构芯片的低功耗控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310547690.1A CN116257128B (zh) | 2023-05-16 | 2023-05-16 | 一种多核异构芯片的低功耗控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116257128A CN116257128A (zh) | 2023-06-13 |
CN116257128B true CN116257128B (zh) | 2023-07-14 |
Family
ID=86681068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310547690.1A Active CN116257128B (zh) | 2023-05-16 | 2023-05-16 | 一种多核异构芯片的低功耗控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257128B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9874917B2 (en) * | 2016-01-04 | 2018-01-23 | International Business Machines Corporation | Adaptive power capping in a chip |
CN114637387B (zh) * | 2022-05-09 | 2022-10-11 | 南京芯驰半导体科技有限公司 | 一种多核异构芯片的性能与功耗管理系统及方法 |
-
2023
- 2023-05-16 CN CN202310547690.1A patent/CN116257128B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116257128A (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10429921B2 (en) | Datacenter power management optimizations | |
Noureddine et al. | A preliminary study of the impact of software engineering on greenit | |
US8533719B2 (en) | Cache-aware thread scheduling in multi-threaded systems | |
TWI477945B (zh) | 用以控制處理器之渦輪加速模式頻率的方法、及能夠控制其之渦輪加速模式頻率的處理器 | |
Shen et al. | Achieving autonomous power management using reinforcement learning | |
US8230249B2 (en) | Dynamic selection of server states for servers in a cluster of servers | |
US8880477B2 (en) | Latency-aware live migration for multitenant database platforms | |
KR101529016B1 (ko) | 멀티-코어 시스템 에너지 소비 최적화 | |
WO2018137402A1 (zh) | 基于滚动灰色预测模型的云数据中心节能调度实现方法 | |
US8626902B2 (en) | Modeling and reducing power consumption in large IT systems | |
Goiri et al. | Coolair: Temperature-and variation-aware management for free-cooled datacenters | |
GB2511628A (en) | Dynamically controlling a maximum operating voltage for a processor | |
US20150143142A1 (en) | System and method for dynamic dcvs adjustment and workload scheduling in a system on a chip | |
CN116301282B (zh) | 一种多核处理器芯片的低功耗控制方法和装置 | |
CN113039506A (zh) | 基于因果学习的数据中心基础结构优化方法 | |
CN116257128B (zh) | 一种多核异构芯片的低功耗控制方法和装置 | |
Zhang et al. | GreenDRL: managing green datacenters using deep reinforcement learning | |
KR101925720B1 (ko) | 모바일 기기의 발열 관리 방법 | |
CN116627237A (zh) | 一种基于芯粒Chiplet的电源管理芯片架构系统 | |
CN116744417A (zh) | 一种低功耗物联网中能量敏感服务选择方法及系统 | |
CN106575870A (zh) | 用于确定用于发电系统的参数设置的系统、方法和设备及有形计算机可读介质 | |
CN113741402A (zh) | 一种设备控制方法、装置、计算机设备和存储介质 | |
Steinfeld et al. | Low-power processors require effective memory partitioning | |
Liu et al. | Fast power and energy management for future many-core systems | |
Moghaddam | Dynamic energy and reliability management in network-on-chip based chip multiprocessors |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |