System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种对cpu进行调频的智能控制方法及系统。
技术介绍
1、cpu动态调频技术可以在不同负载情况下优化cpu的能效、温度控制、散热管理和性能表现,使cpu在不同场景下实现最佳的能量利用和性能表现。
2、目前,cpu动态调频的主流技术都是根据cpu的负载或者进程的负载去做动态调频,经常会遇到cpu长时间运行在高频段,但是cpu实际执行的指令又比较少,也就是每个指令循环(cycles per instructions,cpi)值比较大,换言之就是cpu内部是处于cpu 停运状态的,cpu光出工不出力,看着cpu的负载高,但实际执行的运算却很少。当cpu在执行这类任务的时候,在保证不降低任务执行效率的前提下,可以通过降低cpu的频率来提高cpu的效能。
3、目前,行业内主要通过以下两种策略来对cpu的频率进行调整: userspace策略,通过用户空间程序来动态调节cpu频率;schedutil策略:是linux的默认调频策略,基于调度器调度事件触发的调频策略,根据当前cpu利用率进行动态调频的调频策略。
4、然而,实践发现,userspace策略中用户空间根据运行场景的算力需求去动态调节cpu频率,无法根据cpu的利用率去做,cpu频率选择不够精准,不适用于全部场景;schedutil策略虽然能够解决userspace策略的问题,但是schedutil策略会存在cpu高频运行但是指令执行不多的低效场景,即cpu出工不出力,这种情况cpu的运行效能差。因此,如何提出一种减
技术实现思路
1、本专利技术所要解决的技术问题在于,提供一种对cpu进行调频的智能控制方法及系统,能够减少cpu高频运行但是指令执行不多的低效场景的情况,从而提高cpu的运行效能。
2、为了解决上述技术问题,本专利技术实施例第一方面公开了一种对cpu进行调频的智能控制方法,所述方法包括:
3、当需要对所述cpu进行调频时,获取所述cpu的当前调频频率,并确定所述cpu下一次的调频频率;
4、根据所述cpu的当前调频频率及所述cpu下一次的调频频率,控制所述cpu的性能监控单元对所述cpu以所述cpu的当前调频频率进行工作时的性能事件数据执行数据采集操作,得到所述cpu对应的性能事件数据,所述cpu对应的性能事件数据包括所述cpu对应的性能事件发生次数;
5、根据所述cpu对应的性能事件数据,确定所述cpu的算力比例因子,并根据所述cpu的算力比例因子及所述cpu下一次的调频频率,控制所述cpu执行调频操作。
6、作为一种可选的实施方式,在本专利技术第一方面中,所述控制所述cpu的性能监控单元对所述cpu以所述cpu的当前调频频率进行工作时的性能事件数据执行数据采集操作,得到所述cpu对应的性能事件数据,包括:
7、以当确定出需要对所述cpu进行调频的时刻作为数据采集的起始时刻,开始控制所述cpu的性能监控单元对所述cpu以所述cpu的当前调频频率进行工作时某一时长段内的性能事件数据执行数据采集操作;
8、在执行所述采集操作的过程中,判断所述cpu的当前调频频率与所述cpu下一次的调频频率是否相等;
9、当判断出所述cpu的当前调频频率与所述cpu下一次的调频频率不相等时,控制所述性能监控单元停止执行所述数据采集操作,得到所述cpu对应的性能事件数据。
10、作为一种可选的实施方式,在本专利技术第一方面中,所述确定所述cpu下一次的调频频率,包括:
11、判断所述cpu是否发生调度事件,当判断结果为是时,控制所述cpu执行到调度入口,并获取所述调度事件的调度信息,所述调度信息包括所述cpu的利用率及所述cpu支持的最高频率;
12、根据所述调度信息,计算所述cpu下一次的调频频率;
13、其中,所述cpu下一次的调频频率的计算公式如下:
14、next_freq=c*max_freq*cpu_util;
15、式中,next_freq为所述cpu下一次的调频频率,max_freq为所述cpu支持的最高频率,cpu_util是所述cpu的利用率,且cpu_util是所述cpu上多个调度类的利用率及中断的利用率的总和,c为常量。
16、作为一种可选的实施方式,在本专利技术第一方面中,所述cpu对应的性能事件发生次数包括所述cpu的停运周期发生次数、所述cpu的指令执行发生次数及所述cpu的总执行周期发生次数;
17、其中,所述根据所述cpu对应的性能事件数据,确定所述cpu的算力比例因子,包括:
18、根据所述cpu的指令执行发生次数及所述cpu的停运周期发生次数,计算所述cpu的算力冗余周期数;
19、根据所述cpu的算力冗余周期数及所述cpu的总执行周期发生次数,计算所述cpu的算力比例因子。
20、作为一种可选的实施方式,在本专利技术第一方面中,所述cpu的算力比例因子的计算公式如下:
21、k=1 - x/cpu_cycles;
22、x = stall_cycles - m * instructions;
23、式中,k为所述cpu的算力比例因子,x 为所述cpu的算力冗余周期数,cpu_cycles为所述cpu的总执行周期发生次数,stall_cycles为所述cpu的停运周期发生次数,m为常量,instructions为所述cpu的指令执行发生次数。
24、作为一种可选的实施方式,在本专利技术第一方面中,所述根据所述cpu的算力比例因子及所述cpu下一次的调频频率,控制所述cpu执行调频操作,包括:
25、根据所述cpu的算力比例因子及所述cpu下一次的调频频率,计算所述cpu的目标调频频率,其中,当所述cpu的算力比例因子≥1时,所述cpu的算力比例因子取1,当所述cpu的算力比例因子<1时,所述cpu的算力比例因子取实际值;
26、根据所述cpu的目标调频频率及所述cpu的当前调频频率,控制所述cpu执行调频操作;
27、所述cpu的目标调频频率的计算公式如下:
28、target_freq = next_freq * k;
29、式中,target_freq为所述cpu的目标调频频率,k为所述cpu的算力比例因子。
30、作为一种可选的实施方式,在本专利技术第一方面中,所述根据所述cpu的目标调频频率及所述cpu的当前调频频率,控制所述cpu执行调频操作,包括:
31、判断所述cpu的当前调频频率与所述cpu的目标调频频率是否相等;
32、当判断出所述cpu的当前调频频率与所述cpu的目标调频频率不相等时,控制所述cpu将所述cpu的当前调频频本文档来自技高网...
【技术保护点】
1.一种对CPU进行调频的智能控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的对CPU进行调频的智能控制方法,其特征在于,所述控制所述CPU的性能监控单元对所述CPU以所述CPU的当前调频频率进行工作时的性能事件数据执行数据采集操作,得到所述CPU对应的性能事件数据,包括:
3.根据权利要求1或2所述的对CPU进行调频的智能控制方法,其特征在于,所述根据所述CPU的算力比例因子及所述CPU下一次的调频频率,控制所述CPU执行调频操作,包括:
4.根据权利要求1或2所述的对CPU进行调频的智能控制方法,其特征在于,所述CPU对应的性能事件数据还包括所述CPU对应的性能事件发生类型,所述CPU对应的性能事件发生次数包括每个所述性能事件发生类型对应的性能事件发生次数,所有所述性能事件发生类型包括所述CPU的停运周期发生类型、所述CPU的指令执行发生类型及所述CPU的总执行周期发生类型;
5.一种对CPU进行调频的智能控制系统,其特征在于,所述系统包括:
6.一种对CPU进行调频的智能控制系统,其特征在于,所述智能
7.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-4任一项所述的对CPU进行调频的智能控制方法。
...【技术特征摘要】
1.一种对cpu进行调频的智能控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的对cpu进行调频的智能控制方法,其特征在于,所述控制所述cpu的性能监控单元对所述cpu以所述cpu的当前调频频率进行工作时的性能事件数据执行数据采集操作,得到所述cpu对应的性能事件数据,包括:
3.根据权利要求1或2所述的对cpu进行调频的智能控制方法,其特征在于,所述根据所述cpu的算力比例因子及所述cpu下一次的调频频率,控制所述cpu执行调频操作,包括:
4.根据权利要求1或2所述的对cpu进行调频的智能控制方法,其特征在于,所述cpu对应的性能事件数...
【专利技术属性】
技术研发人员:朱振华,姚若河,
申请(专利权)人:珠海全志科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。