CN114895773B - 异构多核处理器的能耗优化方法、系统、装置及存储介质 - Google Patents
异构多核处理器的能耗优化方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN114895773B CN114895773B CN202210367862.2A CN202210367862A CN114895773B CN 114895773 B CN114895773 B CN 114895773B CN 202210367862 A CN202210367862 A CN 202210367862A CN 114895773 B CN114895773 B CN 114895773B
- Authority
- CN
- China
- Prior art keywords
- information
- processor
- application program
- processed
- core
- 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
- 238000005265 energy consumption Methods 0.000 title claims abstract description 54
- 238000005457 optimization Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004458 analytical method Methods 0.000 claims abstract description 47
- 238000004088 simulation Methods 0.000 claims abstract description 11
- 238000012549 training Methods 0.000 claims description 37
- 238000012360 testing method Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 21
- 238000010801 machine learning Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
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/329—Power saving characterised by the action undertaken by task scheduling
-
- 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
技术领域
本发明涉及异构多核计算机技术领域,尤其是一种异构多核处理器的能耗优化方法、系统、装置及存储介质。
背景技术
基于异构多核处理器的硬件平台,能够为嵌入式系统上提供高性能和高能效的解决方案。而对于异构多核处理器的能耗优化问题,相关技术中,目前多使用启发式算法得到局部最优解,但容易陷入局部最优解,还有不少优化空间。或者,通过神经网络模型进行预测,是基于应用程序的初始状态,来预测最后的调度结果,也可能会导致优化空间的缺失。
发明内容
本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
为此,本发明实施例的一个目的在于提供一种异构多核处理器的能耗优化方法、系统、装置和存储介质,其通过对异构多核处理器的管理策略进行适应性调整,能够实现对异构多核处理器的能耗优化。
为了达到上述技术目的,本发明实施例所采取的技术方案包括:
一方面,本发明实施例提供了一种异构多核处理器的能耗优化方法,包括以下步骤:
获取待处理应用程序的解析信息;
对所述待处理应用程序的解析信息进行模拟分配,获得线程分配情况信息;
获取处理器核心参数信息;
根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测,得到最优分配结果;
根据所述最优分配结果进行能耗优化。
进一步地,所述获取待处理应用程序的解析信息这一步骤,包括:
运行若干个基准测试程序;
通过所述基准测试程序,对运行时的待处理应用程序进行记录,获得所述待处理应用程序的解析信息;
所述待处理应用程序的解析信息包括指令信息、时钟信息和页切换信息。
进一步地,所述对所述待处理应用程序的解析信息进行模拟分配这一步骤,包括:
对所述待处理应用程序进行随机排序;
按照顺序从队列中依次获取应用程序,通过贪心搜索得到当前应用程序的最优结果,并根据所述最优结果对下一应用程序进行贪心搜索,直至完成所有应用程序的贪心搜索,获得所述线程分配情况信息。
进一步地,所述获取处理器核心参数信息这一步骤,包括:
通过性能计数器或者操作系统指令获取所述处理器核心参数信息。
进一步地,所述根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测这一步骤,包括:
根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息确定训练样本;
根据能量值和运行时间信息确定标签,所述能量值为异构多核处理器功率值与时间步长的乘积,所述运行时间信息为所述应用程序从开始运行到结束运行的时长;
根据样本和标签确定训练数据集;
将训练数据集输入到预先构建的性能预测模型;
训练得到所述性能预测模型;
通过所述性能预测模型进行性能预测。
进一步地,所述得到最优分配结果这一步骤,包括:
通过所述性能预测模型进行性能预测,获得若干个分配结果;
根据功耗结果,对所述若干个分配结果进行排序;
选取异构多核处理器功耗最低的结果作为最优分配结果。
进一步地,所述根据所述最优分配结果进行能耗优化这一步骤,包括:
根据所述最优分配结果,将所述待处理应用程序分配到对应的核心集群上;
关闭空闲的核心集群。
另一方面,本发明实施例提出了一种异构多核处理器的能耗优化系统,包括:
第一模块,用于获取待处理应用程序的解析信息;
第二模块,用于对所述待处理应用程序的解析信息进行模拟分配,获得线程分配情况信息;
第三模块,用于获取处理器核心参数信息;
第四模块,用于根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测,得到最优分配结果;
第五模块,用于根据所述最优分配结果进行能耗优化。
另一方面,本发明实施例提供了一种异构多核处理器的能耗优化装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现所述的异构多核处理器的能耗优化方法。
另一方面,本发明实施例提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于实现所述的异构多核处理器的能耗优化方法。
本发明公开了一种异构多核处理器的能耗优化方法,具备如下有益效果:
本实施例通过获取待处理应用程序的解析信息;并对所述待处理应用程序的解析信息进行模拟分配,获得线程分配情况信息;接着,获取处理器核心参数信息;随后,根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测,得到最优分配结果;然后,根据所述最优分配结果进行能耗优化。该方法通过先对应用程序进行模拟分配,再将分配结果结合异构多核处理器的实际情况进行性能预测,得到最优分配结果,从而能够对异构多核处理器的管理策略进行适应性调整,避免出现局部优化的情况,实现对异构多核处理器的能耗优化。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本申请实施例中提供的一种异构多核处理器的能耗优化方法的实施环境示意图;
图2为本发明实施例提供的一种异构多核处理器的能耗优化方法的流程示意图;
图3为本发明实施例提供的一种性能预测模型的训练示意图;
图4为本发明实施例提供的一种异构多核处理器的能耗优化系统的结构示意图;
图5为本发明实施例提供的一种异构多核处理器的能耗优化装置的结构示意图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明实施例的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数,“至少一个”是指一个或者多个,“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。如果有描述到“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
需要说明的是,本发明实施例中设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明实施例中的具体含义。例如,术语“连接”可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连。
在本发明实施例的描述中,参考术语“一个实施例/实施方式”、“另一实施例/实施方式”或“某些实施例/实施方式”、“在上述实施例/实施方式”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本公开的至少两个实施例或实施方式中。在本公开中,对上述术语的示意性表述不一定指的是相同的示实施例或实施方式。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或实施方式中以合适的方式结合。
需要说明的是,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)多核处理器(Multi-core processor),是指在一枚处理器中集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。多核心技术能为用户带来更强大的计算性能;更重要的,则是可满足用户同时进行多任务处理和多任务计算环境的要求。
2)机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,机器学习(深度学习)通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
基于能耗优化的调度管理策略作为一个最优化问题,是一个非确定性多项式问题(non-deterministic polynomial hard)。实际情况中,难以在实时系统中遍历所有可能性以实现最优化算法。相关技术中,目前多使用启发式算法得到局部最优解,但容易陷入局部最优解,可能还有不少优化空间。已有的使用机器学习方法进行预测,是基于应用程序的初始状态,来预测最后的调度结果,也可能会导致优化空间的缺失。
同时,动态电压频率调整(Dynamic voltage and frequency scaling)及目标检测算法(Deformable Parts Model)的结合方式,通常是以分步策略的形式出现,也即是先完成动态电压频率调整再完成目标检测算法,将目标检测算法关闭核心作为任务调度和动态电压频率调整全部完成后才进行的环节,或者更多的是不把目标检测算法加入管理策略范畴,作为用户手动操作关闭核心的形式出现。对于目前逐渐增大的静态功耗而言,也会导致功耗优化的空间有限。
为此,本申请提出了一种异构多核处理器的能耗优化方法、系统、装置及存储介质,通过获取待处理应用程序的解析信息;并对所述待处理应用程序的解析信息进行模拟分配,获得线程分配情况信息;接着,获取处理器核心参数信息;随后,根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测,得到最优分配结果;然后,根据所述最优分配结果进行能耗优化。该方法通过先对应用程序进行模拟分配,再将分配结果结合异构多核处理器的实际情况进行性能预测,得到最优分配结果,从而能够对异构多核处理器的管理策略进行适应性调整,避免出现局部优化的情况,实现对异构多核处理器的能耗优化。
图1是本申请实施例提供的一种智异构多核处理器的能耗优化方法的实施环境示意图。参照图1,该实施环境的软硬件主体主要包括操作终端101和服务器102,操作终端101与服务器102通信连接。其中,该智能交互模型的训练方法可以单独配置于操作终端101执行,也可以单独配置于服务器102执行,或者基于操作终端101与服务器102二者之间的交互来执行,具体可以根据实际应用情况进行适当的选择,本实施例对此并不作具体限定。此外,操作终端101与服务器102可以为区块链中的节点,本实施例对此并不作具体限定。
具体地,本申请中的操作终端101可以包括但不限于智能手表、智能手机、电脑、个人数字助理(Personal Digital Assistant,PDA)、智能语音交互设备、智能家电或者车载终端中的任意一种或者多种。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。操作终端101与服务器102之间可以通过无线网络或有线网络建立通信连接,该无线网络或有线网络使用标准通信技术和/或协议,网络可以设置为因特网,也可以是其它任何网络,例如包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。
图2是本申请实施例提供的一种异构多核处理器的能耗优化方法的流程图,该方法的执行主体可以是操作终端或者服务器中的至少一者,图2中以该异构多核处理器的能耗优化方法配置于操作终端执行为例进行说明。参照图2,该异构多核处理器的能耗优化方法包括但不限于步骤S110至步骤S150。
步骤S110:获取待处理应用程序的解析信息。
本步骤中,需要对即将到来的一组并发的多个待处理应用程序进行解析,获得应用程序的解析信息。其中,解析信息包括指令信息、时钟信息和页切换信息。
步骤S120:对所述待处理应用程序的解析信息进行模拟分配,获得线程分配情况信息。
本步骤中,需要根据获取到的应用程序解析信息进行模拟分配,以获得一个大致的线程分配结果,供后续步骤作进一步调整。示例性地,可以通过贪心搜索的算法对应用程序完成初步的线程分配,即在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。具体地,按照顺序依次获取应用程序,并依次获得当前处理应用程序的最优结果,并将这些结果作为线程分配情况信息。
步骤S130:获取处理器核心参数信息。
处理器核心参数信息包括主频和外频,其中,主频表示在CPU内数字脉冲信号震荡的速度。主频和实际的运算速度是有关的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。而外频是CPU的基准频率,单位也是MHz。CPU的外频决定着整块主板的运行速度。获取处理器核心参数信息的方式有很多,这里不对获取处理器核心参数信息的方式作过多限制。
步骤S140:根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测,得到最优分配结果。
本步骤中,通过处理器的实时参数,对先前模拟得到的线程分配情况进行修改、优化,从而得到更为准确的性能预测结果。为了进一步提高准确性,可以建模、训练一个具有针对性的机器学习模型进行性能预测,具体地,可以将待处理应用程序的解析信息、线程分配情况信息和处理器核心参数信息输入到性能预测模型中,性能预测模型对上述数据进行处理后,输出性能预测结果。
步骤S150:根据所述最优分配结果进行能耗优化。
本步骤中,根据得到的最优分配结果对处理器进行能耗优化,能耗优化包括应用程序的分配,调节核心集群的频率,将线程分配到不同的核心集群上以及关闭多余的空闲核心集群。具体的优化操作根据具体的最优分配结果确定。
进一步作为可选的实施方式,所述获取待处理应用程序的解析信息这一步骤,包括:
运行若干个基准测试程序;
通过所述基准测试程序,对运行时的待处理应用程序进行记录,获得所述待处理应用程序的解析信息;
所述待处理应用程序的解析信息包括指令信息、时钟信息和页切换信息。
为了模拟得到线程分配信息,需要在程序运行时,对处理器的各个参数进行测量。本实施例中,可以通过运行基准测试程序对处理器的各个参数进行测量。基准测试程序(Benchmark)用来测量机器的硬件最高实际运行性能,以及软件优化的性能提升效果,可分为微基准测试程序(Microbenchmark)和宏基准测试程序(Macrobenchmark)。具体地,可以通过系统的性能计数器如perf,将程序运行时的所有信息都进行记录,如指令信息、时钟信息和页切换信息等等。通过这种方式,可以非常全面地记录程序解析信息,并且不同的线程配置情况可以直接记录成线程分配情况。
进一步作为可选的实施方式,所述对所述待处理应用程序的解析信息进行模拟分配这一步骤,包括:
对所述待处理应用程序进行随机排序;
按照顺序从队列中依次获取应用程序,通过贪心搜索得到当前应用程序的最优结果,并根据所述最优结果对下一应用程序进行贪心搜索,直至完成所有应用程序的贪心搜索,获得所述线程分配情况信息。
本实施例中,将应用程序随机排序,形成队列,通过应用模拟分配单元,逐个取出队列中的应用,使用贪心搜索的方法,每次获得当前处理应用的最优结果,当前应用处理完后作为后一个应用处理的前提条件(资源使用情况信息),将取出应用的各种分配可能性都预先罗列出来,
示例性地,一个应用在一个常见的ARM big.LITTLE架构上(4个大核4个小核),按照最多三个线程分配(一个线程分配到一个核心上),不考虑跨核心类型分配,在满足资源约束的前提下,将使用一个核心到四个核心的情况都列举出来。
进一步作为可选的实施方式,所述根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测这一步骤,包括:
根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息确定训练样本;
根据能量值和运行时间信息确定标签,所述能量值为异构多核处理器功率值与时间步长的乘积,所述运行时间信息为所述应用程序从开始运行到结束运行的时长;
根据样本和标签确定训练数据集;
将训练数据集输入到预先构建的性能预测模型;
训练得到所述性能预测模型;
通过所述性能预测模型进行性能预测。
如图3所示,在随机采样得到训练数据集后,可以将训练数据集输入到初始化后的性能预测模型中进行训练。具体地,将训练数据集中的数据输入到初始化后的性能预测模型后,可以得到模型输出的识别结果,即性能预测结果(包括能量值和运行时间信息,能量值是指处理器的功耗值与时间步长的乘积,其中处理器的功耗值通过功率计测量得到),可以根据性能预测结果和前述的标签来评估识别模型预测的准确性,从而对模型的参数进行更新。对于性能预测模型来说,模型预测结果的准确性可以通过损失函数(Loss Function)来衡量,损失函数是定义在单个训练数据上的,用于衡量一个训练数据的预测误差,具体是通过单个训练数据的标签和模型对该训练数据的预测结果确定该训练数据的损失值。而实际训练时,一个训练数据集有很多训练数据,因此一般采用代价函数(Cost Function)来衡量训练数据集的整体误差,代价函数是定义在整个训练数据集上的,用于计算所有训练数据的预测误差的平均值,能够更好地衡量出模型的预测效果。对于一般的机器学习模型来说,基于前述的代价函数,再加上衡量模型复杂度的正则项即可作为训练的目标函数,基于该目标函数便能求出整个训练数据集的损失值。常用的损失函数种类有很多,例如0-1损失函数、平方损失函数、绝对损失函数、对数损失函数、交叉熵损失函数等均可以作为机器学习模型的损失函数,在此不再一一阐述。本申请实施例中,可以从中任选一种损失函数来确定训练的损失值。基于训练的损失值,采用反向传播算法对模型的参数进行更新,迭代几轮即可得到训练好的性能预测模型。具体地迭代轮数可以预先设定,或者在测试集达到精度要求时认为训练完成。
进一步作为可选的实施方式,所述得到最优分配结果这一步骤,包括:
通过所述性能预测模型进行性能预测,获得若干个分配结果;
根据功耗结果,对所述若干个分配结果进行排序;
选取异构多核处理器功耗最低的结果作为最优分配结果。
本实施例中,将性能预测模型获得到的若干个分配结果进行排序,并选取其中异构多核处理器功耗最低的结果作为最优分配结果。分配结果包括能量值和运行时间信息,能量值是指处理器的功耗值与时间步长的乘积,而运行时间信息是指程序从开始运行到结束运行的时长。
进一步作为可选的实施方式,所述根据所述最优分配结果进行能耗优化这一步骤,包括:
根据所述最优分配结果,将所述待处理应用程序分配到对应的核心集群上;
关闭空闲的核心集群。
本实施例中,在性能预测完毕,得到最优分配结果后,可以通过对应的管理实现模块,根据最优分配结果的分配方式协同操作系统,实施最优化的功耗结果。将应用程序按照该分配情况在异构多核处理器平台上运行。该模块实际地控制应用的分配,将应用分配到不同的核心集群上,随后拆分线程,调节集群中的频率,将线程分配到不同核心,同时关闭多余的空闲核心。
进一步作为可选的实施方式,所述获取处理器核心参数信息这一步骤,包括:
通过性能计数器或者操作系统指令获取所述处理器核心参数信息。
本实施例中,处理器核心参数信息包括了不会改变的物理参数和动态变化的资源使用情况,将各种不同配置下的结果都进行记录,以供后续进行性能预测。
具体地,处理器核心参数信息可以通过操作系统指令进行获取,也可以通过性能计数器如系统级性能分析工具perf,perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU(PerformanceMonitoring Unit))功能和软件(软件计数器、tracepoint)功能。
通过perf,应用程序可以利用PMU、tracepoint和内核中的计数器来进行性能统计。它不但可以分析制定应用程序的性能问题(per thread),也可以用来分析内核的性能问题,当然也可以同事分析应用程序和内核,从而全面理解应用程序中的性能瓶颈。
参照图4,本发明实施例提出的一种异构多核处理器的能耗优化系统,包括:
第一模块401,用于获取待处理应用程序的解析信息;
第二模块402,用于对所述待处理应用程序的解析信息进行模拟分配,获得线程分配情况信息;
第三模块403,用于获取处理器核心参数信息;
第四模块404,用于根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测,得到最优分配结果;
第五模块405,用于根据所述最优分配结果进行能耗优化。
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
参照图5,本发明实施例提供了一种异构多核处理器的能耗优化装置,包括:
至少一个处理器501;
至少一个存储器502,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器501执行时,使得所述至少一个处理器501实现图1所示的异构多核处理器的能耗优化方法。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于实现图1所示异构多核处理器的能耗优化方法。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.一种异构多核处理器的能耗优化方法,其特征在于,包括以下步骤:
获取待处理应用程序的解析信息;
对所述待处理应用程序的解析信息进行模拟分配,获得线程分配情况信息;
获取处理器核心参数信息;
根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测,得到最优分配结果;
根据所述最优分配结果进行能耗优化;
其中,所述根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测这一步骤,包括:
根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息确定训练样本;
根据能量值和运行时间信息确定标签,所述能量值为异构多核处理器功率值与时间步长的乘积,所述运行时间信息为所述应用程序从开始运行到结束运行的时长;
根据样本和标签确定训练数据集;
将训练数据集输入到预先构建的性能预测模型;
训练得到所述性能预测模型;
通过所述性能预测模型进行性能预测。
2.根据权利要求1所述的异构多核处理器的能耗优化方法,其特征在于,所述获取待处理应用程序的解析信息这一步骤,包括:
运行若干个基准测试程序;
通过所述基准测试程序,对运行时的待处理应用程序进行记录,获得所述待处理应用程序的解析信息;
所述待处理应用程序的解析信息包括指令信息、时钟信息和页切换信息。
3.根据权利要求1所述的异构多核处理器的能耗优化方法,其特征在于,所述对所述待处理应用程序的解析信息进行模拟分配这一步骤,包括:
对所述待处理应用程序进行随机排序;
按照顺序从队列中依次获取应用程序,通过贪心搜索得到当前应用程序的最优结果,并根据所述最优结果对下一应用程序进行贪心搜索,直至完成所有应用程序的贪心搜索,获得所述线程分配情况信息。
4.根据权利要求1所述的异构多核处理器的能耗优化方法,其特征在于,所述获取处理器核心参数信息这一步骤,包括:
通过性能计数器或者操作系统指令获取所述处理器核心参数信息。
5.根据权利要求1所述的异构多核处理器的能耗优化方法,其特征在于,所述得到最优分配结果这一步骤,包括:
通过所述性能预测模型进行性能预测,获得若干个分配结果;
根据功耗结果,对所述若干个分配结果进行排序;
选取异构多核处理器功耗最低的结果作为最优分配结果。
6.根据权利要求1所述的异构多核处理器的能耗优化方法,其特征在于,所述根据所述最优分配结果进行能耗优化这一步骤,包括:
根据所述最优分配结果,将所述待处理应用程序分配到对应的核心集群上;
关闭空闲的核心集群。
7.一种异构多核处理器的能耗优化系统,其特征在于,包括:
第一模块,用于获取待处理应用程序的解析信息;
第二模块,用于对所述待处理应用程序的解析信息进行模拟分配,获得线程分配情况信息;
第三模块,用于获取处理器核心参数信息;
第四模块,用于根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息进行性能预测,得到最优分配结果;
第五模块,用于根据所述最优分配结果进行能耗优化;
其中,所述第四模块具体用于:根据所述待处理应用程序的解析信息、所述线程分配情况信息和所述处理器核心参数信息确定训练样本;根据能量值和运行时间信息确定标签,所述能量值为异构多核处理器功率值与时间步长的乘积,所述运行时间信息为所述应用程序从开始运行到结束运行的时长;根据样本和标签确定训练数据集;将训练数据集输入到预先构建的性能预测模型;训练得到所述性能预测模型;通过所述性能预测模型进行性能预测。
8.一种异构多核处理器的能耗优化装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-6中任一项所述的异构多核处理器的能耗优化方法。
9.一种计算机可读存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于实现如权利要求1-6中任一项所述的异构多核处理器的能耗优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210367862.2A CN114895773B (zh) | 2022-04-08 | 2022-04-08 | 异构多核处理器的能耗优化方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210367862.2A CN114895773B (zh) | 2022-04-08 | 2022-04-08 | 异构多核处理器的能耗优化方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114895773A CN114895773A (zh) | 2022-08-12 |
CN114895773B true CN114895773B (zh) | 2024-02-13 |
Family
ID=82715528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210367862.2A Active CN114895773B (zh) | 2022-04-08 | 2022-04-08 | 异构多核处理器的能耗优化方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114895773B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687745A (zh) * | 2022-08-30 | 2024-03-12 | 华为技术有限公司 | 任务调度方法、模型生成方法、以及电子设备 |
CN115576856B (zh) * | 2022-12-08 | 2023-04-11 | 浪潮通信信息系统有限公司 | 能耗评估方法及装置 |
CN116627433B (zh) * | 2023-07-18 | 2024-01-09 | 鹏城实验室 | Ai处理器实时的参数预测方法、系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062504A1 (zh) * | 2013-10-29 | 2015-05-07 | 华为终端有限公司 | 功耗控制方法和终端 |
CN106598731A (zh) * | 2016-12-01 | 2017-04-26 | 上海交通大学 | 基于异构多核架构的运行时系统及其控制方法 |
CN107861606A (zh) * | 2017-11-21 | 2018-03-30 | 北京工业大学 | 一种通过协调dvfs和任务映射的异构多核功率封顶方法 |
CN111240461A (zh) * | 2020-01-09 | 2020-06-05 | 黔南民族师范学院 | 一种基于任务调度的异构计算系统低功耗方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11048323B2 (en) * | 2019-04-29 | 2021-06-29 | Apple Inc. | Power throttling in a multicore system |
-
2022
- 2022-04-08 CN CN202210367862.2A patent/CN114895773B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062504A1 (zh) * | 2013-10-29 | 2015-05-07 | 华为终端有限公司 | 功耗控制方法和终端 |
CN106598731A (zh) * | 2016-12-01 | 2017-04-26 | 上海交通大学 | 基于异构多核架构的运行时系统及其控制方法 |
CN107861606A (zh) * | 2017-11-21 | 2018-03-30 | 北京工业大学 | 一种通过协调dvfs和任务映射的异构多核功率封顶方法 |
CN111240461A (zh) * | 2020-01-09 | 2020-06-05 | 黔南民族师范学院 | 一种基于任务调度的异构计算系统低功耗方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114895773A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114895773B (zh) | 异构多核处理器的能耗优化方法、系统、装置及存储介质 | |
US20180203720A1 (en) | Techniques to manage virtual classes for statistical tests | |
US8689220B2 (en) | Job scheduling to balance energy consumption and schedule performance | |
KR20200015829A (ko) | 계산 그래프들 프로세싱 | |
US20070022142A1 (en) | System and method to generate domain knowledge for automated system management by combining designer specifications with data mining activity | |
JP2011086295A (ja) | 応答時間に基づいてサービスリソース消費を推定すること | |
CN109726811A (zh) | 使用优先级队列训练神经网络 | |
CN109558248B (zh) | 一种用于确定面向海洋模式计算的资源分配参数的方法及系统 | |
CN112764893B (zh) | 数据处理方法和数据处理系统 | |
Yan et al. | Efficient deep neural network serving: Fast and furious | |
Lu et al. | Latency-based analytic approach to forecast cloud workload trend for sustainable datacenters | |
Yao et al. | EAIS: Energy-aware adaptive scheduling for CNN inference on high-performance GPUs | |
Cassell et al. | EGTAOnline: An experiment manager for simulation-based game studies | |
WO2023040145A1 (zh) | 基于人工智能的文本分类方法、装置、电子设备及介质 | |
Li et al. | Resource usage prediction based on BiLSTM-GRU combination model | |
Li et al. | An adaptive cpu-gpu governing framework for mobile games on big. little architectures | |
Cai et al. | Dynacomm: Accelerating distributed CNN training between edges and clouds through dynamic communication scheduling | |
Wang et al. | Estimating multiclass service demand distributions using Markovian arrival processes | |
CN111159038A (zh) | 一种模拟cpu负载的方法及电子设备 | |
Hsu et al. | Toward a workload allocation optimizer for power saving in data centers | |
Llamas et al. | Modelling user satisfaction for power-usage optimisation of computer fleets | |
US11836531B2 (en) | Method, device, and program product for managing computing system | |
CN114239919A (zh) | 去化周期的预测、去化周期预测模型的生成方法及装置 | |
Upadhyay et al. | Dependency Prediction of Long-Time Resource Uses in HPC Environment | |
Wang et al. | GPARS: Graph predictive algorithm for efficient resource scheduling in heterogeneous GPU clusters |
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 |