CN112596601A - 使计算设备产生定量功耗的方法及装置 - Google Patents

使计算设备产生定量功耗的方法及装置 Download PDF

Info

Publication number
CN112596601A
CN112596601A CN202011612286.0A CN202011612286A CN112596601A CN 112596601 A CN112596601 A CN 112596601A CN 202011612286 A CN202011612286 A CN 202011612286A CN 112596601 A CN112596601 A CN 112596601A
Authority
CN
China
Prior art keywords
power consumption
program
threads
control command
computing device
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.)
Granted
Application number
CN202011612286.0A
Other languages
English (en)
Other versions
CN112596601B (zh
Inventor
喻安雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011612286.0A priority Critical patent/CN112596601B/zh
Publication of CN112596601A publication Critical patent/CN112596601A/zh
Application granted granted Critical
Publication of CN112596601B publication Critical patent/CN112596601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种使计算设备产生定量功耗的方法及装置,涉及计算设备领域,能对计算设备的功耗开销进行有效、精确的控制,有效解决在实现计算设备AVFS功能时,由于功耗不稳定无法实现在指定频率下获取稳定的指定功耗下的电流、电压等参数的问题。该方法包括:S1、使计算设备设置到指定主频;S2、获取计算设备需要产生的指定功耗值;S3、实时监测计算设备的功耗;S4、将获取到的当前功耗与指定功耗值进行比对:S5、根据当前功耗与指定功耗值的比对结果,控制第一程序和第二程序的运行,使计算设备产生定量功耗。第一程序的运行功耗大于第一功耗值,第二程序的运行功耗小于第二功耗值。

Description

使计算设备产生定量功耗的方法及装置
技术领域
本发明涉及计算设备领域,尤其涉及一种使计算设备产生定量功耗的方法及装置。
背景技术
随着大数据、云计算以及高性能计算等领域对计算性能需求的不断提升,计算设备的计算性能变得越来越重要。目前在计算设备上运行的应用对计算设备的性能要求越来越高,同时带来了更大的功耗开销。在高性能计算过程中,能耗比已成为衡量计算设备优劣的重要参数。
在计算过程中,随着计算任务的变化,为了更好地实现功耗和性能之间的平衡,需要在计算设备上实现AVFS(自适应电压与频率调节)。目前已有的控制方法对于计算设备的功耗开销缺乏有效、精确的控制,导致在指定频率下功耗波动较大;开发人员希望在应用程序执行时,能灵活方便地使计算设备能产生指定的功耗,且能稳定在指定功耗,从而获取电流、电压等参数,帮助开发人员在计算设备上实现AVFS,进而实现计算设备在进行高性能计算时,功耗和性能之间的平衡。
目前最常见的就是将计算程序放到计算设备循环执行,第一种是在主机端循环让设备端程序执行,第二种是在设备端执行的程序内循环执行。在指定计算设备的频率情况下,第一种方式由于两次执行间隔较大,功耗无法稳定;第二种方式比第一种方式优越,但应用程序不同的指令产生的功耗不一样,且如果没有充分利用计算设备,产生调度或者间隙,那么功耗波动会偏大。
发明内容
本发明提供的使计算设备产生定量功耗的方法及装置,能对计算设备的功耗开销进行有效、精确的控制,有效解决背景技术中在实现计算设备AVFS功能时,由于功耗不稳定,无法实现在指定频率下获取稳定的指定功耗下的电流、电压等参数的问题。
第一方面,本发明提供一种使计算设备产生定量功耗的方法,包括:
S1、使所述计算设备设置到指定主频;
S2、获取所述计算设备需要产生的指定功耗值;
S3、通过功耗监测工具,实时监测所述计算设备的功耗;
S4、从所述功耗监测工具处获取所述计算设备的当前功耗,并将获取到的所述当前功耗与所述指定功耗值进行比对:
S5、根据所述当前功耗与所述指定功耗值的比对结果,控制所述第一程序和第二程序的运行,使计算设备产生定量功耗,所述第一程序的运行功耗大于第一功耗值,用于快速增减所述计算设备的功耗;第二程序的运行功耗小于第二功耗值,用于动态微调所述计算设备的功耗,所述第一功耗值大于所述第二功耗值。
可选的,步骤S5中根据当前功耗与所述指定功耗值的比对结果,控制所述第一程序和第二程序的运行,包括:根据所述指定功耗减去所述当前功耗所得值的正负,确定是执行线程还是结束线程;如果所述指定功耗减去所述当前功耗所得绝对值大于第一功耗值,使计算设备执行或者结束M个所述第一程序的线程,所述M为所述计算设备需要操作的线程数量;如果所述指定功耗减去所述当前功耗所得绝对值大于第二功耗值且小于所述第一功耗值,使计算设备执行或者结束M个所述第二程序的线程;跳转至步骤S3,循环执行步骤S3-S5,直至所述指定功耗减去所述当前功耗所得绝对值小于所述第二功耗值。
可选的,在主机上执行步骤S4和步骤S5,生成用来控制所述第一程序和第二程序的运行的控制命令;所述计算设备的微控制单元根据所述控制命令来控制所述第一程序和第二程序的运行,使所述计算设备产生定量功耗,其中,所述控制命令至少包括:
当前控制命令执行的操作是执行线程还是结束线程;
所述计算设备需要操作的线程数量M;
所述计算设备所支持的最大线程数量;
当前需要操作的程序及参数信息。
可选的,所述计算设备需要操作的线程数量M为由主机程序与所述计算设备共同决定的、最小的、一次操作的线程数量。
可选的,所述计算设备的微控制单元接收到所述控制命令后解析所述控制命令,如果所述控制命令是执行线程的命令,且所述计算设备正在执行的线程数量满足下面的条件:K=K1+K2+M且K<=N,其中,K1为所述计算设备正在执行的所述第一程序的线程数量;K2为所述计算设备正在执行的所述第二程序的线程数量;M为当前需要执行的线程数量;N为所述计算设备所支持的最大线程数量;K为即将执行的所有线程数量;所述微控制单元根据所述控制命令,在所述计算设备上启动所述控制命令所指向的程序的M个数量的线程,然后使计算单元开始执行;如果成功执行,将所述控制命令所指向的程序正在执行的线程数量加M;
如果所述计算设备正在执行的线程数量K大于N,那么返回代表已超出所述计算设备所支持的最大线程数量的状态,不做执行动作。
可选的,如果所述控制命令是结束线程的命令,且所述控制命令所指向的程序的正在执行的线程数量大于等于需要结束的线程数量M,所述微控制单元结束所述控制命令所指向的程序的M个正在执行的线程;如果成功执行,将所述控制命令所指向的程序正在执行的线程数量减M;
如果所述控制命令执行失败或者返回代表已超出所述计算设备所支持的最大线程数量的状态或者代表线程已全部结束的状态,所述主机执行相应的异常处理程序;
如果所述主机接收代表所述控制命令成功的状态,所述主机继续从所述功耗监测工具处获取所述计算设备的当前功耗,并将获取到的所述当前功耗与所述指定功耗值进行比对,继续根据所述比对结果生成控制所述第一程序和所述第二程序的运行的控制命令。
可选的,所述生成控制所述第一程序和所述第二程序的运行的控制命令,包括:根据所述指定功耗减去所述当前功耗所得值的正负,确定所述控制命令执行的操作是执行线程还是结束线程;如果所述指定功耗减去所述当前功耗所得绝对值大于第一功耗值,确定所述控制命令中当前需要操作的程序为所述第一程序并确定对应的参数信息,以及所述计算设备需要操作的线程数量M;如果所述指定功耗减去所述当前功耗所得绝对值大于第二功耗值且小于所述第一功耗值,确定所述控制命令中当前需要操作的程序为所述第二程序并确定对应的参数信息,以及所述计算设备需要操作的线程数量M;如果所述指定功耗减去所述当前功耗所得绝对值小于所述第二功耗值,不生成所述执行命令。
第二方面,本发明提供一种使计算设备产生定量功耗的装置,包括:
主频设定单元,用于使所述计算设备设置到指定主频;
获取单元,用于获取所述计算设备需要产生的指定功耗值;
功耗监测单元,用于实时监测所述计算设备的功耗;
功耗比对单元,从所述功耗监测单元处获取所述计算设备的当前功耗,并将获取到的所述当前功耗与所述指定功耗值进行比对:
控制单元,根据所述当前功耗与所述指定功耗值的比对结果,控制所述第一程序和第二程序的运行,使计算设备产生定量功耗,所述第一程序的运行功耗大于第一功耗值,用于快速增减所述计算设备的功耗;第二程序的运行功耗小于第二功耗值,用于动态微调所述计算设备的功耗,所述第一功耗值大于所述第二功耗值。
可选地,所述控制单元包括:
控制命令生成模块,用于根据所述指定功耗减去所述当前功耗所得值的正负,生成控制所述第一程序和所述第二程序的运行的控制命令;
循环控制模块,控制所述功耗比对单元和所述控制命令生成模块、通讯单元进行功耗调整,直至所述指定功耗减去所述当前功耗所得绝对值小于所述第二功耗值;
通讯单元,用于将所述控制命令发送给计算设备,并接收所述计算设备的针对所述控制命令的反馈。
第三方面,本发明提供一种使计算设备产生定量功耗的装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行上述使计算设备产生定量功耗的方法。
第四方面,本发明提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现上述使计算设备产生定量功耗的方法。
本发明实施例提供的使计算设备产生定量功耗的方法及装置,能有效解决背景技术中在实现计算设备AVFS功能时,在指定频率下无法获取稳定的指定功耗下的电流、电压等参数的问题;能有效解决背景技术中对于计算设备的功耗开销缺乏有效、精确的控制的问题。
附图说明
图1为本发明实施例一提供的使计算设备产生定量功耗的方法的流程图;
图2为本发明实施例二提供的主机端与设备端交互图;
图3为本发明实施例二提供的计算设备产生稳定的指定功耗主流程图;
图4为本发明实施例二提供的计算设备功耗调整流程图;
图5为本发明实施例三提供的使计算设备产生定量功耗的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文描述中使用的缩略语和关键术语定义
MCU:微控制单元(Microcontroller Unit;MCU),又称单片机;
AVFS:自适应电压与频率调节(Adaptive Voltage and Frequency Scaling,缩写AVFS)。
实施例一
不同的指令使设备产生的功耗是不一样的,所以在指定频率下计算设备产生的功耗波动较大,为了解决现有技术无法在指定频率下使计算设备稳定在指定的功耗,且现有技术对于计算设备的功耗开销缺乏有效、精确的控制的问题,本发明提供一种使计算设备产生定量功耗的方法,如图1所示,该方法包括:
S1、使计算设备设置到指定主频;
S2、获取计算设备需要产生的指定功耗值;
S3、运行功耗监测工具,实时监测计算设备的功耗;
S4、从功耗监测工具处获取计算设备的当前功耗,并将获取到的当前功耗与指定功耗值进行比对:
S5、根据当前功耗与指定功耗值的比对结果,控制第一程序和第二程序的运行,使计算设备产生定量功耗,第一程序的运行功耗大于第一功耗值,用于快速增减计算设备的功耗;第二程序的运行功耗小于第二功耗值,用于动态微调计算设备的功耗,第一功耗值大于第二功耗值。
可选的,步骤S5中根据当前功耗与指定功耗值的比对结果,控制第一程序和第二程序的运行,包括:
根据指定功耗减去当前功耗所得值的正负,确定是执行线程还是结束线程;如果指定功耗减去当前功耗所得绝对值大于第一功耗值,使计算设备执行或者结束M个第一程序的线程,M为计算设备需要操作的线程数量,M为大于零的自然数;
如果指定功耗减去当前功耗所得绝对值大于第二功耗值且小于第一功耗值,使计算设备执行或者结束M个第二程序的线程;跳转至步骤S3,循环执行步骤S3-S5,直至指定功耗减去当前功耗所得绝对值小于第二功耗值。
可选的,可以在计算设备上执行上述功耗控制方法。
可选地,也可以在主机上执行上述功耗控制方法的全部或部分步骤。
例如,可以在主机上执行步骤S4和步骤S5,生成用来控制第一程序和第二程序的运行的控制命令;计算设备的微控制单元根据控制命令来控制第一程序和第二程序的运行,使计算设备产生定量功耗,其中,控制命令至少包括:当前控制命令执行的操作是执行线程还是结束线程;计算设备需要操作的线程数量M;计算设备所支持的最大线程数量;当前需要操作的程序及参数信息。
可选的,M可以为由主机程序与计算设备共同决定的一次操作的线程数量。
可选的,M可以为由主机程序与计算设备共同决定的、最小的、一次操作的线程数量。下面叙述中以此M值为例进行叙述,但本领域技术人员可以理解的是本申请中一次执行的线程操作数可以是此最小操作数的倍数。执行过程中,主机也可以对此线程操作数进行动态设置,本实施例不做限定。
可选的,计算设备的微控制单元接收到控制命令后解析控制命令,可以根据控制命令执行或结束M个第一程序的线程,此时对应功耗的粗调。也可以根据控制命令执行或结束M个第二程序的线程,此时对应功耗的微调。
如果计算设备正在执行的线程数量满足下面的条件:K=K1+K2+M且K<=N,其中,K1为计算设备正在执行的第一程序的线程数量;K2为计算设备正在执行的第二程序的线程数量;M为当前需要执行的线程数量;N为计算设备所支持的最大线程数量;K为即将执行的所有线程数量;微控制单元根据控制命令,在计算设备上启动控制命令所指向的程序的M个数量的线程,然后使计算单元开始执行;如果成功执行,将所述控制命令所指向的程序正在执行的线程数量加M;如果计算设备正在执行的线程数量K大于N,那么返回代表已超出计算设备所支持的最大线程数量的状态,不做执行动作。
可选的,如果控制命令是结束线程的命令,且控制命令所指向的程序的正在执行的线程数量大于等于需要结束的线程数量M,微控制单元结束控制命令所指向的程序的M个正在执行的线程;如果成功执行,将所述控制命令所指向的程序正在执行的线程数量减M;如果控制命令所指向的程序的正在执行的线程数量大于0且小于M,微控制单元将控制命令所指向的程序的正在执行的线程全部结束。
如果上述控制命令执行成功状态,主机继续从功耗监测工具处获取计算设备的当前功耗,并将获取到的当前功耗与指定功耗值进行比对,继续根据比对结果生成控制第一程序和第二程序的运行的控制命令。
可选的,生成控制第一程序和第二程序的运行的控制命令,包括:根据指定功耗减去当前功耗所得值的正负,确定控制命令执行的操作是执行线程还是结束线程;如果指定功耗减去当前功耗所得绝对值大于第一功耗值,确定控制命令中当前需要操作的程序为第一程序并确定对应的参数信息,以及计算设备需要操作的线程数量M;如果指定功耗减去当前功耗所得绝对值大于第二功耗值且小于第一功耗值,确定控制命令中当前需要操作的程序为第二程序并确定对应的参数信息,以及计算设备需要操作的线程数量M;如果指定功耗减去当前功耗所得绝对值小于第二功耗值,不生成执行命令。可选地,此时可以输出实施功率,并告知用户无法再进一步调整。
本申请实施例构建了一套新的方案,该方案应用实施过程中,能有效解决背景技术中在实现计算设备AVFS功能时,在指定频率下无法获取稳定的指定功耗下的电流、电压等参数的问题;能有效解决背景技术中对于计算设备的功耗开销缺乏有效、精确的控制的问题。
实施例二
如图2所示,本实施例提供的使计算设备产生定量功耗的方法包括:
1.运行计算设备的主频设置工具,设置计算设备到指定主频;运行功耗监测工具实时监测计算设备功耗;运行主机程序,传入需要产生的指定功耗值;
2.准备两个设备程序,一个以高功耗压力为主,用于快速增减功耗,记为设备程序1;一个以低功耗为主,用于动态微调功耗,记为设备程序2;主机程序指定计算设备所支持的最大线程数量N,并根据线程数量准备两个设备程序所需的数据及参数,然后将它们与设备程序一起发送到设备内存;
3.主机程序发送控制命令到计算设备的MCU控制器中,控制命令至少包括:
(1)当前命令执行的操作是执行线程还是结束线程;
(2)计算设备需要操作的线程数量M,M是一个主机程序与计算设备共同决定的最小的一次操作的线程数量,比如64;
(3)计算设备所支持的最大线程数量N;
(4)当前需要操作的设备程序及参数信息等;
4.MCU控制器接收到控制命令后解析命令,
(1)如果是执行线程命令,且正在执行的线程数量满足下面的条件:
K=K1+K2+M且K<=N,其中,
K1为设备程序1正在执行的线程数量;
K2为设备程序2正在执行的线程数量;
M为当前需要执行的线程数量;
N为计算设备所支持的最大线程数量;
K为即将执行的所有线程数量;
K小于等于N,那么MCU控制器根据需要执行的设备程序,参数及计算设备需要执行的线程数量M,在计算设备上启动对应数量的线程,然后使计算单元开始执行;如果成功执行,那么给主机返回Success状态,并将当前设备程序正在执行的线程数量加M;如果启动执行失败,那么返回Fail状态;如果即将执行的所有线程数量K大于N,那么返回Full状态,不做执行动作;
(2)如果是结束线程命令,且需要结束的设备程序正在执行的线程数量K1/K2大于等于需要结束的线程数量M,那么MCU控制器结束指定设备程序的M个正在执行的线程,如果成功结束,将所述控制命令所指向的程序正在执行的线程数量减M,给主机返回Success状态。如果正在执行的线程数量K1/K2大于0且小于M,那么将对应设备程序正在执行的线程全部结束;如果成功结束,那么给主机返回Success状态;如果结束失败,那么返回Fail状态;如果正在执行的线程数量等0,那么返回Empty状态;
5.如果主机程序接收到非Sucess状态,那么执行相应的异常处理程序,否则主机程序从功耗监测工具处获取计算设备实时功耗,将获取到的计算设备的功耗与指定的功耗对比,如图4所示:
(1)如果计算设备的功耗与指定功耗的差值小于等于第二功耗值例如1W,不做调整;
(2)如果指定功耗减计算设备功耗大于第一功耗值例如10W(也可以指定其他功耗值,用来判定进入粗调还是微调。大于10W粗调,小于等于10W微调),那么执行第3步,发送执行线程控制命令到MCU控制器中,然后再接着执行第4步,其中控制命令内容包括:
A.需要计算设备执行设备程序1;
B.需要计算设备执行M个线程;
C.计算设备所支持的最大线程数量N,设备程序1的参数信息等;
(3)如果指定功耗减计算设备功耗小于等于10W且大于1W,表示需要进入微调,那么执行第3步,发送执行线程控制命令到MCU控制器中,然后再接着执行第4步,其中控制命令内容包括:
A.需要计算设备执行设备程序2;
B.需要计算设备执行M个线程;
C.计算设备所支持的最大线程数量N,设备程序2的参数信息等;
(4)如果计算设备当前功耗减指定功耗大于10W,那么执行第3步,发送结束线程控制命令到MCU控制器中,然后再接着执行第4步,其中控制命令内容包括:
A.需要计算设备结束设备程序1;
B.需要计算设备结束M个线程;
(5)如果计算设备功耗减指定功耗小于等于10W且大于1W,表示需要进入微调,那么执行第3步,发送结束线程控制命令到MCU控制器中,然后再接着执行第4步,其中控制命令内容包括:
A.需要计算设备结束设备程序2;
B.需要计算设备结束M个线程;
6.主机重复3,4,5步,如图3所示,从而达到动态调整计算设备的功耗,使其能稳定在指定功耗。
本实施例对设备程序1和设备程序2不做限定,只要满足功耗要求且比较稳定即可。
设备程序1包含但不限于一种循环执行双精矩阵乘法运算,一种双精矩阵乘法的计算公式如下:
C=α×A×B
式中:C为m×n的矩阵的计算结果,其中m为行,n为列;
A为m×k的矩阵,矩阵数据可以通过随机产生,但不限于这种产生方式。
其中m为行,k为列;
B为k×n的矩阵,矩阵数据可以通过随机产生,但不限于这种产生方式。
其中k为行,n为列;
α为固定常量系数;
设备程序2包括但不限于一种循环执行的整型小矩阵加法运算,需要调整到计算设备需要操作的线程数量M运行时产生的功耗不大于第二功耗例如1W;线程数量M运行时产生的功耗大小的控制与实际的精度有关系,因为技术方案的精度例如是1W,所以线程数量M运行时产生的功耗需要不大于1W。一种整型矩阵加法的计算公式如下:
C=A+B
式中:
C为m×n的矩阵的计算结果,其中m为行,n为列;
A为m×n的矩阵,矩阵数据可以通过随机产生,但不限于这种产生方式。其中m为行,n为列;
B为m×n的矩阵,矩阵数据可以通过随机产生,但不限于这种产生方式。其中m为行,n为列;
8.循环第3,4,5,6,7步,直至程序执行结束,整个流程如图4所示。如果堆栈区域数组索引在自增和自减的过程中超过堆栈的区域数量范围,发生溢出,则可以通过软件触发异常,进行报错,也可以使用其他处理方式。
在实现计算设备AVFS功能时,使用本申请提供的方法可以使计算设备产生稳定的指定功耗,从而获取电流、电压等参数;使用本申请提供的方法可以实现计算设备的功耗精确的控制。
计算设备在计算时,使用本申请提供的方法可以实现使计算设备在指定频率下产生稳定的指定功耗,波动范围在±1W以内。
主机端:
本实施例技术方案描述的是运行软件功耗监测工具实时监测设备功耗,也可以使用外部硬件工具监测。
设备端:
本实施例技术方案描述的设备程序1是以双精矩阵乘法为例,也可以是其他压力算法,满足功耗需求即可,设备程序2也可以是其他算法,同样的需要满足功耗需求。
实施例三
本实施例提供一种使计算设备产生定量功耗的装置,如图5所示,包括:
主频设定单元20,用于使所述计算设备设置到指定主频;
功耗监测单元30,用于实时监测所述计算设备的功耗;
获取单元11,用于获取所述计算设备需要产生的指定功耗值;
功耗比对单元12,从所述功耗监测单元处获取所述计算设备的当前功耗,并将获取到的所述当前功耗与所述指定功耗值进行比对:
控制单元13,根据所述当前功耗与所述指定功耗值的比对结果,控制所述第一程序和第二程序的运行,使计算设备产生定量功耗,所述第一程序的运行功耗大于第一功耗值,用于快速增减所述计算设备的功耗;第二程序的运行功耗小于第二功耗值,用于动态微调所述计算设备的功耗,所述第一功耗值大于所述第二功耗值。
可选地,所述控制单元13包括:
控制命令生成模块,用于根据所述指定功耗减去所述当前功耗所得值的正负,生成控制所述第一程序和所述第二程序的运行的控制命令;
循环控制模块控制所述功耗比对单元和所述控制命令生成模块、通讯单元进行功耗调整,直至所述指定功耗减去所述当前功耗所得绝对值小于所述第二功耗值;
通讯单元,用于将所述控制命令发送给计算设备,并接收所述计算设备的针对所述控制命令的反馈。上述使计算设备产生定量功耗的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请还提供的使计算设备产生定量功耗的装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行上述任一项的使计算设备产生定量功耗的方法。
本申请还提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现如上述任一项的使计算设备产生定量功耗的方法。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (12)

1.一种使计算设备产生定量功耗的方法,其特征在于,包括:
S1、使所述计算设备设置到指定主频;
S2、获取所述计算设备需要产生的指定功耗值;
S3、通过功耗监测工具,实时监测所述计算设备的功耗;
S4、从所述功耗监测工具处获取所述计算设备的当前功耗,并将获取到的所述当前功耗与所述指定功耗值进行比对:
S5、根据所述当前功耗与所述指定功耗值的比对结果,控制所述第一程序和第二程序的运行,使计算设备产生定量功耗,所述第一程序的运行功耗大于第一功耗值,用于快速增减所述计算设备的功耗;第二程序的运行功耗小于第二功耗值,用于动态微调所述计算设备的功耗,所述第一功耗值大于所述第二功耗值。
2.根据权利要求1所述的方法,其特征在于,步骤S5中根据当前功耗与所述指定功耗值的比对结果,控制所述第一程序和第二程序的运行,包括:
根据所述指定功耗减去所述当前功耗所得值的正负,确定是执行线程还是结束线程;
如果所述指定功耗减去所述当前功耗所得绝对值大于第一功耗值,使计算设备执行或者结束M个所述第一程序的线程,所述M为所述计算设备需要操作的线程数量;
如果所述指定功耗减去所述当前功耗所得绝对值大于第二功耗值且小于所述第一功耗值,使计算设备执行或者结束M个所述第二程序的线程;
跳转至步骤S3,循环执行步骤S3-S5,直至所述指定功耗减去所述当前功耗所得绝对值小于所述第二功耗值。
3.根据权利要求2所述的方法,其特征在于,在主机上执行步骤S4和步骤S5,生成用来控制所述第一程序和第二程序的运行的控制命令;
所述计算设备的微控制单元根据所述控制命令来控制所述第一程序和第二程序的运行,使所述计算设备产生定量功耗,其中,所述控制命令至少包括:
当前控制命令执行的操作是执行线程还是结束线程;
所述计算设备需要操作的线程数量M;
所述计算设备所支持的最大线程数量;
当前需要操作的程序及参数信息。
4.根据权利要求3所述的方法,其特征在于,所述计算设备需要操作的线程数量M为由主机程序与所述计算设备共同决定的、最小的、一次操作的线程数量。
5.根据权利要求3或4所述的方法,其特征在于,所述计算设备的微控制单元接收到所述控制命令后解析所述控制命令,
如果所述控制命令是执行线程的命令,且所述计算设备正在执行的线程数量满足下面的条件:K=K1+K2+M且K<=N,其中,K1为所述计算设备正在执行的所述第一程序的线程数量;K2为所述计算设备正在执行的所述第二程序的线程数量;M为当前需要执行的线程数量;N为所述计算设备所支持的最大线程数量;K为即将执行的所有线程数量;所述微控制单元根据所述控制命令,在所述计算设备上启动所述控制命令所指向的程序的M个数量的线程,然后使计算单元开始执行;如果成功执行,将所述控制命令所指向的程序正在执行的线程数量加M;
如果所述计算设备正在执行的线程数量K大于N,那么返回代表已超出所述计算设备所支持的最大线程数量的状态,不做执行动作。
6.根据权利要求5所述的方法,其特征在于,如果所述控制命令是结束线程的命令,且所述控制命令所指向的程序的正在执行的线程数量大于等于需要结束的线程数量M,所述微控制单元结束所述控制命令所指向的程序的M个正在执行的线程;如果成功执行,将所述控制命令所指向的程序正在执行的线程数量减M;
如果所述控制命令所指向的程序的正在执行的线程数量大于0且小于M,所述微控制单元将所述控制命令所指向的程序的正在执行的线程全部结束。
7.根据权利要求6所述的方法,其特征在于,
如果所述控制命令执行失败或者返回代表已超出所述计算设备所支持的最大线程数量的状态或者代表线程已全部结束的状态,所述主机执行相应的异常处理程序;
如果所述主机接收代表所述控制命令成功的状态,所述主机继续从所述功耗监测工具处获取所述计算设备的当前功耗,并将获取到的所述当前功耗与所述指定功耗值进行比对,继续根据所述比对结果生成控制所述第一程序和所述第二程序的运行的控制命令。
8.根据权利要求7所述的方法,其特征在于,所述生成控制所述第一程序和所述第二程序的运行的控制命令,包括:
根据所述指定功耗减去所述当前功耗所得值的正负,确定所述控制命令执行的操作是执行线程还是结束线程;
如果所述指定功耗减去所述当前功耗所得绝对值大于第一功耗值,确定所述控制命令中当前需要操作的程序为所述第一程序并确定对应的参数信息,以及所述计算设备需要操作的线程数量M;
如果所述指定功耗减去所述当前功耗所得绝对值大于第二功耗值且小于所述第一功耗值,确定所述控制命令中当前需要操作的程序为所述第二程序并确定对应的参数信息,以及所述计算设备需要操作的线程数量M;
如果所述指定功耗减去所述当前功耗所得绝对值小于所述第二功耗值,不生成所述控制命令。
9.一种使计算设备产生定量功耗的装置,包括:
主频设定单元,用于使所述计算设备设置到指定主频;
获取单元,用于获取所述计算设备需要产生的指定功耗值;
功耗监测单元,用于实时监测所述计算设备的功耗;
功耗比对单元,从所述功耗监测单元处获取所述计算设备的当前功耗,并将获取到的所述当前功耗与所述指定功耗值进行比对:
控制单元,根据所述当前功耗与所述指定功耗值的比对结果,控制所述第一程序和第二程序的运行,使计算设备产生定量功耗,所述第一程序的运行功耗大于第一功耗值,用于快速增减所述计算设备的功耗;第二程序的运行功耗小于第二功耗值,用于动态微调所述计算设备的功耗,所述第一功耗值大于所述第二功耗值。
10.根据权利要求9所述的装置,其特征在于,所述控制单元包括:
控制命令生成模块,用于根据所述指定功耗减去所述当前功耗所得值的正负,生成控制所述第一程序和所述第二程序的运行的控制命令;
循环控制模块,控制所述功耗比对单元和所述控制命令生成模块、通讯单元进行功耗调整,直至所述指定功耗减去所述当前功耗所得绝对值小于所述第二功耗值;
通讯单元,用于将所述控制命令发送给计算设备,并接收所述计算设备的针对所述控制命令的反馈。
11.一种使计算设备产生定量功耗的装置,包括:
存储器;
以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至8中任一项所述的使计算设备产生定量功耗的方法。
12.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1至8中任一项所述的使计算设备产生定量功耗的方法。
CN202011612286.0A 2020-12-30 2020-12-30 使计算设备产生定量功耗的方法及装置 Active CN112596601B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011612286.0A CN112596601B (zh) 2020-12-30 2020-12-30 使计算设备产生定量功耗的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011612286.0A CN112596601B (zh) 2020-12-30 2020-12-30 使计算设备产生定量功耗的方法及装置

Publications (2)

Publication Number Publication Date
CN112596601A true CN112596601A (zh) 2021-04-02
CN112596601B CN112596601B (zh) 2023-03-14

Family

ID=75206295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011612286.0A Active CN112596601B (zh) 2020-12-30 2020-12-30 使计算设备产生定量功耗的方法及装置

Country Status (1)

Country Link
CN (1) CN112596601B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727172A (zh) * 2008-10-27 2010-06-09 联想(北京)有限公司 一种计算机进程功耗的测量方法及测量装置、计算机系统
CN101917516A (zh) * 2010-08-16 2010-12-15 宇龙计算机通信科技(深圳)有限公司 一种移动终端的省电处理方法、系统及移动终端
US20120086493A1 (en) * 2009-05-22 2012-04-12 Zte Corporation Method and device for managing handheld device power consumption
CN102960032A (zh) * 2011-05-20 2013-03-06 华为技术有限公司 一种基站功耗的监测方法及装置
US20130311803A1 (en) * 2011-01-25 2013-11-21 Zte Corporation Energy-saving device and method for portable terminal
CN104601822A (zh) * 2015-02-04 2015-05-06 上海斐讯数据通信技术有限公司 一种移动终端应用的功耗计算系统及方法
CN111459258A (zh) * 2020-03-30 2020-07-28 北京奇艺世纪科技有限公司 一种功耗管理方法、装置、电子设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727172A (zh) * 2008-10-27 2010-06-09 联想(北京)有限公司 一种计算机进程功耗的测量方法及测量装置、计算机系统
US20120086493A1 (en) * 2009-05-22 2012-04-12 Zte Corporation Method and device for managing handheld device power consumption
CN101917516A (zh) * 2010-08-16 2010-12-15 宇龙计算机通信科技(深圳)有限公司 一种移动终端的省电处理方法、系统及移动终端
US20130311803A1 (en) * 2011-01-25 2013-11-21 Zte Corporation Energy-saving device and method for portable terminal
CN102960032A (zh) * 2011-05-20 2013-03-06 华为技术有限公司 一种基站功耗的监测方法及装置
CN104601822A (zh) * 2015-02-04 2015-05-06 上海斐讯数据通信技术有限公司 一种移动终端应用的功耗计算系统及方法
CN111459258A (zh) * 2020-03-30 2020-07-28 北京奇艺世纪科技有限公司 一种功耗管理方法、装置、电子设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张朝中等: "基于线程级的同时多线程处理器功耗评估", 《计算机工程》 *

Also Published As

Publication number Publication date
CN112596601B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
US20200273424A1 (en) Closed loop cpu performance control
US7137115B2 (en) Method for controlling multithreading
JP4367856B2 (ja) プロセス制御システム及びその制御方法
CN109597733B (zh) 一种多功能高效动态芯片验证仿真方法和设备
CN109857528B (zh) 数据迁移的速度调整方法、装置、存储介质和移动终端
CN103888279A (zh) 基于反馈控制循环的资源池动态管理的方法和系统
CN103268247A (zh) 任务执行及调整线程池中保留线程的数量的方法和装置
US10216526B2 (en) Controlling method for optimizing a processor and controlling system
CN112596601B (zh) 使计算设备产生定量功耗的方法及装置
US6917049B2 (en) Autotuning method and system based on the bilinear-quadratic filter
US9229507B1 (en) Managing data center power usage
CN111367645B (zh) 一种实时任务调度控制方法、系统、设备及可读存储介质
Abouzour et al. Automatic tuning of the multiprogramming level in Sybase SQL Anywhere
US20160179716A1 (en) Timer management apparatus
CN109032779B (zh) 任务处理方法、装置、计算机设备及可读存储介质
CN108376087B (zh) 一种电子设备的启动控制方法、装置及服务器
US20090168092A1 (en) Job management and scheduling method for network system
JP2019154120A (ja) 運転計画方法、運転計画装置およびプログラム
US9690616B2 (en) Based on natural load determination either adjust processor sleep time or generate artificial load
CN112346933B (zh) 一种恶意文件扫描方法、装置、设备及介质
US20160363947A1 (en) Energy saving method based on confidence interval and apparatus using the same
Brocanelli et al. Supervisory performance control of concurrent mobile apps for energy efficiency
KR100956639B1 (ko) 컴퓨팅 디바이스의 전력 감소 장치 및 그 방법
EP1405171A1 (en) Method and apparatus to use task priority to scale processor performance
CN117492552B (zh) 动态电压频率调节方法、控制器、装置、设备及存储介质

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