CN116027879B - 确定参数的方法、电子设备和计算机可读存储介质 - Google Patents
确定参数的方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116027879B CN116027879B CN202210751789.9A CN202210751789A CN116027879B CN 116027879 B CN116027879 B CN 116027879B CN 202210751789 A CN202210751789 A CN 202210751789A CN 116027879 B CN116027879 B CN 116027879B
- Authority
- CN
- China
- Prior art keywords
- parameter
- scene
- current application
- target
- power consumption
- 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
- 238000000034 method Methods 0.000 title claims abstract description 394
- 238000013507 mapping Methods 0.000 claims abstract description 60
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 332
- 239000000523 sample Substances 0.000 description 118
- 238000007726 management method Methods 0.000 description 37
- 230000006870 function Effects 0.000 description 33
- 238000012545 processing Methods 0.000 description 33
- 239000008186 active pharmaceutical agent Substances 0.000 description 30
- 230000002093 peripheral effect Effects 0.000 description 26
- 230000008859 change Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 10
- 230000004927 fusion Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 241000256836 Apis Species 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- ZJPGOXWRFNKIQL-JYJNAYRXSA-N Phe-Pro-Pro Chemical compound C([C@H](N)C(=O)N1[C@@H](CCC1)C(=O)N1[C@@H](CCC1)C(O)=O)C1=CC=CC=C1 ZJPGOXWRFNKIQL-JYJNAYRXSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- 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
- Power Sources (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及计算机技术领域,提供了一种确定参数的方法、电子设备和计算机可读存储介质,包括:获取当前应用场景的标识,当前应用场景的标识用于表征电子设备当前所处理的业务对应的用户场景;根据当前应用场景的标识和第一映射关系,确定当前应用场景的标识对应的目标优先级;若目标优先级为高级,根据当前应用场景的标识和第二映射关系,确定当前应用场景的标识对应的第一参数为目标参数。以上方法确定的参数更为合理。
Description
本申请要求于2022年05月16日提交国家知识产权局、申请号为202210528712.5、申请名称为“确定参数的方法、电子设备和计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,具体涉及一种确定参数的方法、电子设备和计算机可读存储介质。
背景技术
随着计算机技术的发展和人类活动的进步,便携式电子设备、例如笔记本电脑的使用约来越广泛。由于笔记本电脑的便携性的要求和体积的限制,对笔记本电脑的功耗和器件的温度常常受到人们的重点关注。
通常,为了保证电子设备的正常运行,需要保证电子设备的各个器件(硬件设备)在运行时的最大的功率不能超过各自的负载的同时,还需要考虑续航能力。所以,在对电子设备开启续航模式的情况下,可以使用预置的功率表针对电子设备的整机的功率限值(PL,power limit)进行限制。又如,在电子设备开启性能模式的情况下,也可以使用预置的温度表针对器件的温度做一个限制,只要使得各个器件工作在安全的温度范围内,就可以提高器件的功率来提升性能。
然而,以PL的值为例,电子设备针对性能模式和续航模式两种模式分别设置了相应的PL的值,会导致在一些用户场景下,PL的值可能显得过小使得电子设备无法发挥各个器件的全部能力,而在另一些用户场景下,PL的值又显得过大导致续航时间缩短,因此参数设置的不合理,影响用户体验。
发明内容
本申请提供了一种确定参数的方法、装置、芯片、电子设备、计算机可读存储介质和计算机程序产品,能够提高参数的合理性。
第一方面,提供了一种确定参数的方法,包括:获取当前应用场景的标识,当前应用场景的标识用于表征电子设备当前所处理的业务对应的用户场景;根据当前应用场景的标识和第一映射关系,确定当前应用场景的标识对应的目标优先级,第一映射关系中包括多种应用场景的标识和多种优先级的对应关系,多种应用场景的标识中包括当前应用场景的标识,多种优先级中包括目标优先级,目标优先级用于表征当前应用场景的标识对应的第一参数,在当前应用场景的标识对应的第一参数和当前应用场景的标识对应的第二参数中的优先级;若目标优先级为高级,根据当前应用场景的标识和第二映射关系,确定当前应用场景的标识对应的第一参数为目标参数,目标参数用于电子设备处于当前应用场景时所调用的参数,第二映射关系中包括多种应用场景的标识和多组第一参数的对应关系。
电子设备可以根据实际使用的需要,预先对每个应用场景(后文中所提到的场景即为应用场景)标注优先级,生成多个不同的应用场景和不同的优先级之间的映射关系表,例如可以用应用场景的标识来代表不同的应用场景,该映射关系表可以为不同的应用场景的标识和不同的优先级的对应关系,即上述第一映射关系。可选地,该第一映射关系中,可以是高性能要求的应用场景(例如是游戏场景、评测场景、极限测试场景、系统调试的场景等)对应的优先级为高级,普通要求的应用场景(例如是视频播放场景、会议场景、聊天场景)对应的优先级为普通级,其他第一映射关系中不存在的应用场景或者是探针探测不到的应用场景对应的优先级可以是低级。
针对一些应用场景,电子设备还可以针对这些应用场景进行优化,例如是功耗优化。例如电子设备分别针对每一应用场景调试出使得功耗最低的功耗参数,然后将每个应用场景的标识(也即场景标识)和调试得到的功耗参数之间建立对应关系,以建立应用场景的标识和功耗参数的映射库。还可以针对一些高性能要求的场景调试出使得运算效率最高的功耗参数,然后建立场景的应用场景的标识和功耗参数之间的对应关系,并添加至映射库中。电子设备还可以针对一些应用场景的温度参数进行优化。例如是分别针对每一应用场景调试出更为准确的温度参数,并建立应用场景的标识和温度参数的对应关系,添加至映射库。该映射库中则包括上述第二映射关系。
该第二映射关系中的功耗参数或者温度参数为经过研发人员调试后的第一参数,每个应用场景还会对应一个原始的第二参数,该第二参数为默认的参数,可以包括默认的功耗参数或者默认的温度参数等,例如是存储在功率表或者温度表中的参数。
具体的,电子设备可以采用不同的探针,探测到电子设备当前所处理的业务对应的用户场景,即探测到电子设备的当前应用场景,并获取当前应用场景的标识。然后,电子设备根据第一映射关系得到该当前应用场景的标识对应的目标优先级。
如果电子设备确定当前应用场景的标识对应的目标优先级为高级,则说明第一参数的优先级比第二参数高,此时则需要调用第一参数来运行当前应用场景。由于第一参数是经过用户调试的优化后的参数,例如第一参数是优化后的功耗参数时,电子设备调用第一参数可以使得功耗配置更为合理。当第一参数是优化后的温度参数时,电子设备调用第一参数可以使得温度控制更为合理。
在一些可能的实现方式中,第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,方法还包括:若目标优先级为低级,确定当前应用场景的标识对应的第二参数为目标参数。
当该当前应用场景的标识对应的第一参数为空,或者是读取不到应用场景的标识对应的第一参数,电子设备则可以确定当前应用场景的标识对应的目标优先级为低级,即可确定当前应用场景的标识对应的第一参数的优先级比对应的第二参数低,此时则确定需要调用默认的第二参数来运行当前应用场景。将上述默认的第二参数作为一个兜底的设计,保证了即使出现异常也不会出现没有参数可调用的混乱状态,确保了系统的正常运行。
在一些可能的实现方式中,第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,第一参数为第一功耗参数,第二参数为第二功耗参数,目标参数为目标功耗参数。该方式能够使得电子设备调用第一功耗参数,进而使得功耗配置更为合理。
在一些可能的实现方式中,第一功耗参数为第一功率限值,第二功耗参数为第二功率限值,方法还包括:若目标优先级为普通级,确定当前应用场景的标识对应的第一功率限值和当前应用场景的标识对应的第二功率限值中最小的为目标功耗参数。
该方式能够使得电子设备在当前应用场景对应的优先级为普通级时,例如既不是异常的情况,也不是高性能要求的应用场景时,可以调用优化后的第一功率限值和默认的第二功率限值中小的一个,从而能够确保电子设备处于相对低功耗的状态,增强了电子设备的续航能力。
在一些可能的实现方式中,当目标优先级为高级时,当前应用场景的标识对应的第一功率限值比当前应用场景的标识对应的第二功率限值大。
当目标优先级为高级时,当前应用场景的标识对应的优化后的第一功率限值比当前应用场景的标识对应的第二功率限值大,说明此时第一功率限值能够使得电子设设备工作在高功耗状态,相比默认的第二功率限值来说,能够进一步提高处理能力,满足高性能要求的应用场景。
在一些可能的实现方式中,第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,第一参数为第一温度参数,第二参数为第二温度参数,目标参数为目标温度参数。该温度参数可以是用来进行温度控制的参数,也可以是用来进行温度预测的参数,该方式能够使得电子设备调用第一温度参数时,进而使得温度控制更为合理或温度预测更准确。
在一些可能的实现方式中,方法还包括:若目标优先级为普通级,确定当前应用场景的标识对应的第一温度参数为目标温度参数,目标温度参数用于电子设备计算目标温度参数对应的器件的温度值。
该温度参数可以是用来预测对应器件的温度值的参数。该方式能够使得目标优先级为普通级时,电子设备调用优化后的第一温度参数进行温度预测,能够使得对应器件的温度预测更准确。
在一些可能的实现方式中,第一温度参数为第一系统温度跟踪STT回归系数,第二温度参数为第二STT回归系数,第一STT回归系数计算得到的温度值比第二STT回归系数计算得到的温度值准确度高。
电子设备在目标优先级为普通级时,调用优化后的第一STT回归系数进行温度预测,能够提高对应器件的温度预测的准确度。
在一些可能的实现方式中,第一参数为通过系统管理规范WMI通道传输的参数,第二参数为通过系统控制中断SCI通道传输的参数。
在一些可能的实现方式中,获取当前应用场景的标识,包括:通过场景识别引擎确定当前应用场景的标识;根据当前应用场景的标识和第一映射关系,确定当前应用场景的标识对应的目标优先级,包括:通过调度引擎根据当前应用场景的标识和第一映射关系,确定目标优先级;若目标优先级为高级,根据当前应用场景的标识和第二映射关系,确定当前应用场景的标识对应的第一参数为目标参数,包括:通过场景决策模块,在目标优先级为高级时,根据当前应用场景的标识和第二映射关系,确定当前应用场景的标识对应的第一参数为目标参数。
在一些可能的实现方式中,若目标优先级为低级,确定当前应用场景的标识对应的第二参数为目标参数,包括:通过场景决策模块,在目标优先级为低级时,确定当前应用场景的标识对应的第二参数为目标参数。
在一些可能的实现方式中,若目标优先级为普通级,确定当前应用场景的标识对应的第一功率限值和当前应用场景的标识对应的第二功率限值中最小的为目标功耗参数,包括:通过场景决策模块,在目标优先级为普通级时,确定当前应用场景的标识对应的第一功率限值和当前应用场景的标识对应的第二功率限值中最小的,为目标功耗参数。
在一些可能的实现方式中,若目标优先级为普通级,确定当前应用场景的标识对应的第一温度参数为目标温度参数,包括:通过场景决策模块,在目标优先级为普通级时,确定当前应用场景的标识对应的第一温度参数为目标温度参数。
第二方面,提供了一种确定参数的装置,包括由软件和/或硬件组成的单元,该单元用于执行第一方面所述的技术方案中任意一种方法。
第三方面,提供了一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面所述的技术方案中任意一种方法。
第四方面,本申请实施例提供一种芯片,包括处理器;处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面所述的技术方案中任意一种方法。
可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选地,所述芯片还包括通信接口。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得该处理器执行第一方面所述的技术方案中任意一种方法。
第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面所述的技术方案中任意一种方法。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种软件模块架构示意图;
图3为本申请实施例提供的软件模块间的交互示意图;
图4为本申请实施例提供的一种信号交互示意图;
图5为本申请实施例提供的一种界面图;
图6为本申请实施例提供的又一种信号交互示意图;
图7为本申请实施例提供的又一种信号交互示意图;
图8是本申请实施例提供的一例软件模块架构图;
图9是本申请实施例提供的一例传统的功耗管理的数据流向示意图;
图10是本申请实施例提供的一例确定参数的方法流程图;
图11是本申请实施例提供的一例根据确定的参数进行功耗管理的数据流向示意图;
图12是本申请实施例提供的一例确定参数的装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例提供的确定参数的方法可以应用于平板电脑、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
请参考图1,为本申请实施例提供的电子设备100的结构示意图。
如图1所示,电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,无线通信模块150,显示屏160等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括I2C接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulsecode modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或USB接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏160,和无线通信模块150等供电。在一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
无线通信模块150可以提供应用在电子设备100上的包括WLAN(如Wi-Fi),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。例如,本申请实施例中,电子设备100可以通过无线通信模块150与终端设备(如无线耳机100)建立蓝牙连接。
无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
电子设备100通过GPU,显示屏160,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏160和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏160用于显示图像,视频等。该显示屏160包括显示面板。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
上述电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Windows系统为例,示例性说明电子设备100的软件结构。
图2为本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Windows系统分为用户态和内核态。其中,用户态包括应用层以及子系统动态链接库。内核态自下而上分为固件层、硬件抽象层(hardwareabstraction layer,HAL)、内核和驱动层及执行体。
如图2所示,应用层包括音乐、视频、游戏、办公、社交等应用程序。应用层还包括环境子系统、场景识别引擎以及调度引擎等。其中,图中仅示出部分应用程序,应用层还可以包括其他应用程序,例如购物应用、浏览器等,本申请不做限定。
环境子系统可以将基本的执行体系统服务的某些子集以特定的形态展示给应用程序,为应用程序提供执行环境。
场景识别引擎可以识别电子设备100所处的用户场景,并确定与该用户场景匹配的基础调度策略(也可称为第二调度策略)。调度引擎可以获取电子设备100的负载情况,并结合电子设备100的负载情况及上述基础调度策略确定符合电子设备100实际运行情况的实际调度策略(也可称为第一调度策略)。其中,关于场景识别引擎和调度引擎的具体内容见后文,在此暂不描述。
子系统动态链接库包括API模块,该API模块包括Windows API,Windows原生API等。其中,Windows API,Windows原生API均可以为应用程序提供系统调用入口及内部函数支持,区别在于Windows原生API为Windows系统原生的API。例如,Windows API可包括user.dll、kernel.dll,Windows原生API可包括ntdll.dll。其中,user.dll是Windows用户界面接口,可用于执行创建窗口、发送消息等操作。kernel.dll用于为应用程序提供访问内核的接口。ntdll.dll是重要的Windows NT内核级文件,描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
执行体包括进程管理器、虚拟内存管理器、安全引用监视器、I/O管理器、Windows管理规范(Windows management instrumentation,WMI)、电源管理器、系统事件驱动(operating system event driver,OsEventDriver)节点、系统与芯片驱动(operatingsystem to System on Chip,OS2SOC)节点等。
进程管理器用于创建及中止进程和线程。
虚拟内存管理器实现“虚拟内存”。虚拟内存管理器也为高速缓存管理器提供基本的支持。
安全引用监视器可在本地计算机上执行安全策略,它保护了操作系统资源,执行运行时对象的保护和监视。
I/O管理器执行独立于设备的输入/输出,并进一步处理调用适当的设备驱动程序。
电源管理器可管理所有支持电源状态更改的设备的电源状态更改。
系统事件驱动节点可以与内核和驱动层进行交互,例如与显卡驱动进行交互,在确定存在GPU视频解码事件后,向场景识别引擎上报该GPU视频解码事件。
系统与芯片驱动节点可供调度引擎向硬件设备发送调整信息,例如向CPU发送调整维持功率限值(sustained,power limite,SPL)(或PL1)和慢包功率跟踪(slow packagepower tracking,s-PPT)(或PL2)的信息。
内核和驱动层包括内核以及设备驱动程序。
内核是对处理器体系结构的抽象,将执行体与处理器体系结构的差异相隔离,保证系统的可移植性。内核可以进行线程安排和调度、陷阱处理和异常调度、中断处理和调度等。
设备驱动程序运行在内核模式下,为I/O系统和相关硬件之间的接口。设备驱动程序可包括显卡驱动、Intel DTT驱动、鼠标驱动、音视频驱动、摄像头驱动、键盘驱动等。例如,显卡驱动可以驱动GPU运行,Intel DTT驱动可以驱动CPU运行。
HAL是一个核心态模块,可以隐藏各种与硬件有关的细节,例如I/O接口、中断控制器以及多处理器通信机制等,为运行Windows的不同硬件平台提供统一的服务接口,实现多种硬件平台上的可移植性。需要说明的是,为了维护Windows的可移植性,Windows内部组件和用户编写的设备驱动程序并不直接访问硬件,而是通过调用HAL中的例程。
固件层可以包括基本输入输出系统(basic input output system,BIOS),BIOS是一组固化到计算机主板上一个只读存储器(read only memory,ROM)芯片内的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。Intel DTT驱动可以通过BIOS向CPU发送指令的。
需要说明的是,本申请实施例仅以Windows系统举例来说明,在其他操作系统中(例如安卓系统,IOS系统,鸿蒙系统等),只要各个功能模块实现的功能和本申请的实施例类似也能实现本申请的方案。
图3示出了电子设备100对资源进行调度的软件及硬件的工作流程示意图。
如图3所示,应用层的场景识别引擎包括系统探针模块、场景识别模块及基础策略匹配管理器。场景识别模块可分别与系统探针模块及基础策略匹配管理器进行交互。场景识别模块可以向系统探针模块发送获取探针状态的请求。系统探针模块可以获取电子设备100的运行状态。例如,系统探针模块可以包括电源状态探针、外设状态探针、进程负载探针、音视频状态探针、系统负载探针及系统事件探针等。
其中,电源状态探针可以向内核态订阅电源状态事件,根据内核态反馈的回调函数确定电源状态,电源状态包括电池(剩余)电量、电源模式等,电源模式可包括交流电源(alternating current,AC)和直流电源(direct current,DC)。例如,电源状态探针可向执行体层的OsEventDriver节点发送订阅电源状态事件的请求,由OsEventDriver节点向执行体层的电源管理器转发该请求。电源管理器可通过该OsEventDriver节点向电源状态探针反馈回调函数。
外设状态探针可以向内核态订阅外设事件,根据内核态反馈的回调函数确定外设事件。外设事件包括鼠标滚轮滑动事件、鼠标点击事件、键盘输入事件、麦克风输入事件、摄像头输入事件等。
进程负载探针可以向内核态订阅进程负载,根据内核态反馈的回调函数确定进程(例如,第一进程)的负载。
系统负载探针可以向内核态订阅系统负载,根据内核态反馈的回调函数确定系统负载。
音视频状态探针可向内核态订阅音视频事件,根据内核态反馈的回调函数确定电子设备100当前存在的音视频事件。音视频事件可包括GPU解码事件等。例如,音视频状态探针可向执行体层的OsEventDriver节点发送订阅GPU解码事件的请求,由OsEventDriver节点向内核和驱动层的显卡驱动转发该请求。显卡驱动可以监控GPU的状态,在监控到GPU在进行解码操作后,通过该OsEventDriver节点向音视频状态探针反馈回调函数。
系统事件探针可以向内核态订阅系统事件,根据内核态反馈的回调函数确定系统事件。系统事件可包括窗口变化事件、进程创建事件、线程创建事件等。例如,系统事件探针可向执行体层的OsEventDriver节点发送订阅进程创建事件的请求,由OsEventDriver节点向进程管理器转发该请求。进程管理器可在创建进程后,通过该OsEventDriver节点向系统事件探针反馈回调函数。又例如,系统事件探针还向API模块发送订阅焦点窗口变化事件,API模块可监控电子设备100的焦点窗口是否发生变化,并在监控到焦点窗口发生变化时,向系统事件探针反馈回调函数。
可见,系统探针模块通过向内核态订阅电子设备100的各种事件,再根据内核态反馈的回调函数确定电子设备100的运行状态,即得到探针状态。系统探针模块得到探针状态后,可向场景识别模块反馈该探针状态。场景识别模块接收到探针状态后,可根据该探针状态确定电子设备100所处的用户场景。该使用场景可包括视频场景、游戏场景、办公场景及社交场景等。用户场景可以反映用户当前的使用需求。例如,场景识别引擎在识别出焦点窗口为视频应用的窗口时,确定出电子设备100处于视频场景,这说明用户需要使用视频应用观看、浏览视频。又例如,场景识别引擎识在识别出焦点窗口为微信TM的聊天窗口时,确定电子设备100处于社交场景。场景识别模块还可向基础策略匹配管理器发送该用户场景。基础策略匹配管理器可根据该用户场景确定基础调度策略(也可称为第二调度策略,具体可以参见下文S301、S302中的说明)。基础策略匹配管理器可向场景识别模块反馈该基础调度策略。场景识别模块可向应用层的调度引擎发送该基础调度策略及用户场景。
如图3所示,调度引擎包括负载管控器、芯片策略融合器以及调度执行器。其中,负载管控器可接收场景识别模块发送的基础调度策略及用户场景。负载管控器还可从系统探针模块获取系统负载,并根据系统负载和用户场景对该基础调度策略进行调整,得到实际调度策略(也可称为第一调度策略,具体可以参见下文S310中的说明)。实际调度策略中包括OS调度策略和第一CPU功耗调度策略(也可称为第一子策略)。其中,负载管控器可向调度执行器发送该OS调度策略,由调度执行器基于该OS调度策略进行调度。OS调度策略用于调整焦点进程的进程优先级及I/O优先级。示例性的,调度执行器可向进程管理器发送调整焦点进程的进程优先级的指令,响应于该指令,进程管理器对焦点进程的进程优先级进行调整。又例如,调度执行器可向I/O管理器发送调整焦点进程的I/O优先级的指令,响应于该指令,I/O管理器对焦点进程的I/O优先级进行调整。
负载管控器还可向芯片策略融合器发送第一CPU功耗调度策略,芯片策略融合器可基于CPU的芯片平台类型及该第一CPU功耗调度策略,得到第二CPU功耗调度策略(也可称为第二子策略,具体可以参见下文S317~S325中的说明)。CPU的芯片平台类型主要分为两种,分别为(Advanced Micro Devices,AMD)的CPU和 的CPU,这两类CPU对于CPU功耗的调整方式并不相同,因此需要进行区分。
若CPU的芯片平台类型为AMD(也可以称为第一类型),调度执行器可以向电源管理器发送调整能源性能偏好(energy performance preference,EPP)的指令,以调整CPU的EPP。另外,调度执行器还可以向OS2SOC驱动节点发送调整SPL、s-PPT的指令,以调整CPU的PL1(在AMD平台中可以叫做SPL)和PL2(在AMD平台中可以叫做s-PPT)。
若CPU的芯片平台类型为调度执行器可以通过WMI插件向Intel DTT驱动发送该第二CPU功耗调度策略,第二CPU功耗调度策略可包括PL1的最小值、PL1的最大值、PL2、PL2的持续时间及EPP,由Intel DTT驱动CPU基于该第二CPU功耗调度策略运行。
本申请实施方式所提供的资源调度(包括功耗资源调度)方法,主要分为两个过程,分别为:(1)确定电子设备所处的用户场景;(2)根据电子设备所处的用户场景及电子设备的系统负载进行资源调度。下面将结合附图分别说明上述两个过程。
下面将以电子设备处于视频播放场景为例,结合图4,对图3所示的电子设备中部分模块的交互过程进行说明。如图4所示,本申请实施例提供的一种资源调度方法,其确定电子设备所处的用户场景的流程如下:
S101、系统探针模块向OsEventDriver节点发送订阅进程创建事件的请求。
如图3所示,场景识别引擎包括系统探针模块,系统探针模块包括系统事件探针。在本申请实施例中,可以由系统事件探针向位于执行体层的OsEventDriver节点发送订阅进程创建事件的请求。其中,订阅进程创建事件的请求也可以称为第一请求。
在一种可选的实施方式中,订阅进程创建事件的请求可以携带有进程名称。即场景识别引擎可以仅订阅指定进程的创建事件,减少不相干进程的创建事件的干扰。例如,指定进程可以为视频应用的进程、游戏应用的进程、办公应用的进程、社交应用的进程等等。当然,在其他实施方式中,场景识别引擎也可以不对订阅的进程创建事件做出限制。
S102、OsEventDriver节点向进程管理器发送订阅进程创建事件的请求。
进程创建事件的请求可以参考S101的描述,在此不做赘述。
也就是说,场景识别引擎的系统事件探针可以通过OsEventDriver节点向进程管理器发送订阅进程创建事件的请求。
可以理解地,OsEventDriver节点会向进程管理器注册一个回调,注册该回调的作用是当进程管理器创建进程后,可以向OsEventDriver节点返回该进程创建事件。
S103、系统探针模块向OsEventDriver节点发送订阅GPU解码事件的请求。
仍然如图3所示,系统探针模块还包括音视频状态探针。在本申请实施例中,可以由系统探针模块的音视频状态探针向OsEventDriver节点发送订阅GPU解码事件的请求。其中,订阅GPU解码事件的请求也可以称为第三请求。
S104、OsEventDriver节点向显卡驱动发送订阅GPU解码事件的请求。
也就是说,场景识别引擎的音视频状态探针可以通过OsEventDriver节点向显卡驱动发送订阅GPU解码事件的请求。同样地,OsEventDriver节点可向显卡驱动注册一个回调,注册该回调的作用是当显卡驱动监控到GPU进行解码操作后,可以向OsEventDriver节点返回该GPU解码事件。
S105、系统探针模块向API模块发送订阅焦点窗口变化事件的请求。
API模块可包括由user32.dll实现的windows用户界面接口,该接口可用于创建窗口。在一种可选的实施方式中,可以由系统探针模块的系统事件探针向API模块的windows用户界面接口发送订阅焦点窗口变化事件的请求。其中,订阅焦点窗口变化事件的请求也可以称为第二请求。
同样地,该系统事件探针可向API模块注册一个回调,注册该回调的作用是当API模块(的windows用户界面接口)监控到焦点窗口发生变化时,可以向系统事件探针返回该焦点窗口变化事件。
焦点窗口为拥有焦点的窗口,大概率为用户当前需要使用的窗口。因此,通过监控焦点窗口,可以确定用户的使用需求。例如,焦点窗口为视频应用的窗口,则表明用户需求为浏览、播放视频。又例如,焦点窗口为游戏应用的窗口,则表明用户需求为打游戏。通过监控焦点窗口是否发生变化,可以确定用户需求是否发生改变。例如,焦点窗口由视频应用的窗口变为游戏应用的窗口,则表明用户当前的需求由看视频变成了打游戏。
需要说明的是,上述S101、S103及S105之间没有严格的先后顺序,其可以按照图4中所示的顺序依次执行,也可以同时执行,也可以按照S103、S101、S105的顺序依次执行、按照S103、S105、S101的顺序依次执行、按照S105、S101、S103的顺序依次执行或者按照S105、S103、S101的顺序依次执行。相应地,S102、S104及S106之间也没有严格的先后顺序,只要满足S102在S101之后执行、S104在S103之后执行以及S106在S105之后执行即可,在此不做具体限制。
S106、响应于接收到用户开启视频应用的操作,视频应用向进程管理器发送创建进程请求。
其中,创建进程请求包括视频应用程序的存储地址。
视频应用可以通过API模块的kernel32.dll接口及Ntdll.dll接口向进程管理器发送创建进程的请求(图未示)。
S107、进程管理器创建视频应用进程。
具体的,进程管理器可以通过该存储地址查询到视频应用程序的二进制文件。通过加载视频应用程序的二进制文件,可以创建进程运行的环境,启动视频应用进程。
其中,Windows操作系统将一个应用程序的一次运行定义为一个进程。一个进程可以拥有多个线程。窗口是窗口结构的实例,是一种图形用户界面(graphical userinterface,GUI)资源,窗口是由线程创建的,线程可以拥有它所创建的所有窗口。在本申请实施例中,电子设备运行视频应用,则进程管理器需创建该视频应用的进程,即视频应用进程(即第一进程)。视频应用进程包括多个线程,多个线程包括线程1,线程1可用于创建视频应用的主窗口,主窗口为集成有视频应用全部功能按键的窗口。
S108、进程管理器向OsEventDriver节点上报进程创建事件。
其中,进程创建事件可包括进程管理器所创建的进程的名称。在本申请实施例中,该进程的名称为视频应用进程的名称。当然,若进程管理器创建的是其他应用的进程,该进程的名称也对应为其他应用进程的名称。
前文已经说明,OsEventDriver节点向进程管理器发送了订阅进程创建事件的请求,且注册了回调。因此,进程管理器在创建视频应用进程后可向OsEventDriver节点上报进程创建事件。
S109、OsEventDriver节点向系统探针模块上报进程创建事件。
其中,关于进程创建事件的描述见S108,在此不再赘述。
在本申请实施例中,该OsEventDriver节点可向系统探针模块的系统事件探针上报该进程创建事件。
S110、系统探针模块向场景识别模块发送进程创建事件。
S111、响应于线程1的调用请求,API模块创建窗口1。
进程管理器创建视频应用进程后,视频应用进程的线程1主动调用API模块的windows用户界面接口创建窗口1。示例性的,如图5中(a)所示,电子设备可以显示窗口101,该窗口101可以为桌面,也可以称为主界面。该窗口101包括视频应用的图标102。电子设备可以接收用户点击该视频应用的图标102的操作,响应于该操作,如图5中的(b)所示,电子设备显示窗口103(即窗口1,也可以称为第一窗口)。在上述过程中,焦点窗口由原本的窗口101变为窗口103。
S112、API模块向系统探针模块上报焦点窗口事件。
在本申请实施例中,API模块的windows用户界面接口创建窗口1后,可以获取第一进程(即焦点进程)的名称及第二进程的名称,第一进程为当前的焦点窗口(即窗口1)对应的进程,第二进程为上一个焦点窗口(例如,窗口2)对应的进程。示例性的,窗口1对应的进程为视频应用进程(第一进程),该进程的名称例如为hlive.exe,窗口2对应的进程为windows程序管理器的进程(第二进程),该进程的名称例如为explorer.exe。由于第一进程的名称与第二进程的名称不一致,API模块确定焦点窗口发生变化,向系统探针模块的系统事件探针上报焦点窗口事件。其中,焦点窗口变化事件包括第一进程(即焦点进程)的名称。示例性的,第一进程为视频应用进程,焦点窗口变化事件携带有视频应用进程的名称。
需要说明的是,在电子设备已经启动视频应用的情况下,电子设备可以不用执行S106~S111。在系统探针模块向API模块发送订阅焦点窗口变化事件的请求后,若用户将焦点窗口切换为视频应用的窗口,API模块同样可以检测到焦点窗口发生变化,并向系统探针模块上报焦点窗口事件。
S113、系统探针模块向场景识别模块发送焦点窗口事件。
S114、场景识别模块确定第一进程所属的类型为视频类。
电子设备可以预先配置有应用名单,场景识别模块可以查询应用名单中是否包括第一进程。若应用名单中包括第一进程,场景识别模块可以确定第一进程所属的类型。其中,应用名单包括每个应用的进程名称及应用所属的类型。示例性的,应用名单可以如表1所示:
表1
应用 | 进程名称 | 类型 |
视频 | hlive.exe | 视频类 |
Word | word.exe | 办公类 |
射击游戏 | shot.exe | 游戏类 |
微信 | wechat.exe | 社交类 |
…… | …… | …… |
例如,第一进程的名称为hlive.exe,则场景识别模块可以确定第一进程所属的类型为视频类。又例如,第一进程的名称为wechat.exe,则场景识别模块可以确定第一进程所属的类型为社交类。需要说明的是,上述表1仅作为示例,实际上表1还可包括更多应用的进程名称及其所属的类型。
需要说明的是,此步骤的目的在于初步判断电子设备所处的用户场景。电子设备所处的用户场景可包括视频场景、游戏场景、社交场景、办公场景、浏览器场景等等。其中,视频场景进一步可包括视频播放场景、视频浏览场景。社交场景进一步可包括文字聊天场景、语音聊天场景、视频聊天场景等。办公场景进一步可包括文档编辑场景、文档浏览场景、视频会议场景等。浏览器场景可包括浏览网页场景及播放视频场景等。
在本步骤中,通过第一进程所属的类型,可以确定电子设备所处的用户场景的类型。例如,若确定第一进程所属的类型为视频类,则可以确定电子设备处于视频场景;又例如,若确定第一进程所属的类型为游戏类,则可以确定电子设备处于游戏场景。为了进一步分析用户需求,场景识别模块还可以进一步结合其他参数(例如,外设事件、GPU运行状态等)来分析电子设备所处的具体场景,以达到分析结果更加准确的效果,其具体内容参见后文,在此暂不描述。
S115,响应于接收到用户播放视频的操作,视频应用向API模块发送视频播放指令。
具体的,视频应用可向API模块的DirectX API发送该视频播放指令。该视频播放指令可包括视频的缓存地址。
S116、API模块读取视频文件。
API模块可根据视频播放指令中携带的缓存地址,读取对应的视频文件。
S117、API模块向显卡驱动发送解码指令。
S118、显卡驱动向GPU发送启动指令。
S119、GPU进行解码。
具体的,GPU可通过GPU video processing引擎对该视频文件进行解码操作。
S120、GPU向显卡驱动上报解码事件。
S121、显卡驱动向OsEventDriver节点上报解码事件。
S122、OsEventDriver节点向系统探针模块上报解码事件。
具体的,OsEventDriver节点向系统探针模块的音视频状态探针上报该解码事件。
S123、系统探针模块向场景识别模块发送解码事件。
S124、场景识别模块向系统探针模块发送指令1。
其中,指令1指示系统探针模块获取第一进程的GPU占用率。该指令1可携带有第一进程的名称。
S125、系统探针模块向进程管理器发送获取第一进程的GPU占用率的请求。
其中,该获取焦点进程的GPU占用率的请求可以包括第一进程的名称。
在一种可选的实施方式中,可以由系统探针模块的音视频状态探针向进程管理器发送获取第一进程的GPU占用率的请求。
S126、进程管理器采集第一进程的GPU占用率。
具体的,进程管理器可以通过显卡驱动的图像核心(graphics kernel)接口采集第一进程的GPU占用率。
S127、进程管理器向系统探针模块发送第一进程的GPU占用率。
进程管理器可向系统探针模块的音视频状态探针发送第一进程的GPU占用率。
S128、系统探针模块向场景识别引擎发送第一进程的GPU占用率。
S129、场景识别模块判断第一进程的GPU占用率是否大于0。
其中,若第一进程的GPU占用率大于0,则执行S130。
通过第一进程的GPU占用率,可以确定第一进程在运行过程中是否使用GPU,若第一进程的GPU占用率大于0,则可以认为第一进程在运行过程中使用了GPU;若第一进程的GPU占用率为0,则表明第一进程在运行过程中未使用GPU。
S130、场景识别模块向系统探针模块发送指令2。
其中,指令2指示系统探针模块获取第一进程的GPU引擎。该指令2可携带有第一进程的名称。
S131、系统探针模块向进程管理器发送获取第一进程的GPU引擎的请求。
其中,可以由系统探针模块的音视频状态探针向进程管理器发送获取第一进程的GPU引擎的请求。获取第一进程的GPU引擎的请求包括第一进程的名称。
GPU引擎包括GPU 3D引擎、GPU copy引擎、GPU video encode引擎、GPU videoprocessing引擎。其中,GPU 3D引擎主要负责处理2D或者3D图形。GPU copy引擎主要用于传输数据。GPU video encode引擎主要用于进行编码操作。GPU video processing引擎主要进行解码操作。在一些实施例中,GPU video processing引擎也可以由GPU video decode引擎代替。
S132、进程管理器获取第一进程的GPU引擎。
具体的,进程管理器可以通过显卡驱动的graphics kernel接口获取第一进程的GPU引擎。
S133、进程管理器向系统探针模块发送消息1,消息1指示第一进程的GPU引擎为GPU video processing引擎。
具体的,进程管理器可向系统探针模块的音视频状态探针发送该消息,再由音视频状态将该消息转发给场景识别模块。
S134、系统探针模块向场景识别模块发送消息1。
S135、场景识别模块判断第一进程的GPU引擎是否为GPU video processing引擎。
若第一进程的GPU引擎为GPU video processing引擎,则执行S129;若第一进程的GPU引擎不为GPU video processing引擎,则执行S130。
在S114步骤中,场景识别引擎已经确定第一进程所属的类型为视频类,即可以确定电子设备处于视频场景。通过步骤S135,场景识别引擎可以确定第一进程通过GPU执行的具体操作,进而确定用户在使用视频应用的具体操作。例如,若第一进程的GPU引擎为GPUvideo processing引擎,则表明第一进程在使用GPU进行解码操作,可以认为用户在使用视频应用播放视频。又例如,第一进程的GPU引擎不为GPU video processing引擎,则表明第一进程没有在使用GPU进行解码操作,那么用户大概率在视频应用上浏览视频资源,还未播放视频。
S136、场景识别模块根据第一进程的进程信息确定用户场景为视频播放场景。
其中,第一进程的进程信息包括第一进程的名称、第一进程所属的应用类型、第一进程的GPU占用率及第一进程使用的GPU引擎等信息。
综合上述内容可知,若第一进程(焦点进程)的类型为视频类、第一进程的GPU占用率大于0且第一进程的GPU引擎为GPU video processing引擎,则可以确定电子设备处于视频播放场景。
需要说明的是,上述S101~S136仅以电子设备处于视频场景下的视频播放场景为例进行说明。实际上,电子设备还可以处于其他用户场景(例如,游戏场景、办公场景、社交场景、视频浏览场景等)。
在一种可选的实施方式中,若场景识别引擎确定第一进程(焦点进程)的类型属于游戏类、CPU的电源模式变为游戏模式(game mode)、第一进程的GPU占用率大于0且第一进程的GPU引擎为GPU 3D引擎,则可以确定电子设备处于游戏场景。
其中,系统探针模块的电源状态探针可以向电源管理器发送订阅电源模式变化事件的请求。电源管理器可以在电源模块转换为游戏模式(game mode)时,向系统探针模块的电源状态探针上报该电源模式变化事件。如此,场景识别引擎可通过电源模式变化事件确定CPU的电源模式是否为game mode。
另外,场景识别引擎获取第一进程的类型的过程可以参阅图4中S101、S102、S105、S106~S114,场景识别引擎判断第一进程的GPU占用率是否大于0且第一进程的GPU引擎是否为GPU 3D引擎的过程参阅S124~S135。区别在于将视频应用更换为游戏应用,在此不再赘述。
下面,再结合图6简单说明电子设备处于办公场景时,其确定自身所处的用户场景的流程。需要说明的是,图6所示的流程图与图4所示的流程图,其原理及流程基本详细,下面仅具体说明两者的不同之处,类似之处不再赘述,详情参见图4中相关步骤的说明。图6示出了本申请实施例提供的一种资源调度方法,其确定电子设备所处的用户场景的流程如下:
S201、系统探针模块向OsEventDriver节点发送订阅进程创建事件的请求。
S202、OsEventDriver节点向进程管理器发送订阅进程创建事件的请求。
S203、系统探针模块向OsEventDriver节点发送订阅外设事件的请求。
如图3所示,系统探针模块还包括外设状态探针。在本申请实施例中,可以由系统探针模块的外设状态探针向OsEventDriver节点发送订阅外设事件的请求。其中,订阅外设事件的请求也可以称为第四请求。
其中,外设事件包括鼠标滚轮滑动、鼠标点击、键盘输入、摄像头输入、麦克风输入等事件。
S204、OsEventDriver节点向外设驱动发送订阅外设事件的请求。
需要说明的是,外设驱动为所有外设的驱动的统称,例如可以包括鼠标驱动、键盘驱动、摄像头驱动、麦克风驱动等。
S205、系统探针模块向API模块发送订阅焦点窗口变化事件的请求。
S206、响应于接收用户开启办公应用的操作,办公应用向进程管理器发送创建办公应用进程的请求。
其中,创建办公应用进程的请求可包括办公应用程序的存储地址。
S207、进程管理器创建办公应用进程。
具体的,进程管理器可以通过该存储地址查询到办公应用程序的二进制文件。通过加载办公应用程序的二进制文件,可以创建进程运行的环境,启动视频应用进程。另外,办公应用进程包括线程2,线程2可用于创建办公应用的主窗口。
S208、进程管理器向OsEventDriver节点上报进程创建事件。
S209、OsEventDriver节点向系统探针模块上报进程创建事件。
其中,该进程创建事件携带有办公应用进程的名称。
S210、系统探针模块向场景识别模块发送进程创建事件。
S211、响应于线程2的调用请求,API模块创建办公应用窗口。
S212、API模块向系统探针模块上报焦点窗口事件。
其中,焦点窗口事件中携带有第一进程(焦点进程)的名称。可以理解地,在本申请实施例中,第一进程即为办公应用进程。
S213、系统探针模块向场景识别模块发送焦点窗口事件。
S214、场景识别模块确定第一进程所属的类型为办公类。
例如,第一进程的名称为word.exe,则可以确定第一进程所属的类型为办公类。
S215、响应于用户对外设的操作,外设驱动检测到外设事件。
S216、外设驱动向OsEventDriver节点上报外设事件。
S217、OsEventDriver节点向系统探针模块发送外设事件。
S218、系统探针模块向场景识别模块发送外设事件。
S219、场景识别模块根据外设事件及第一进程所属的类型确定用户场景。
在一种可选的实施方式中,若场景识别引擎确定第一进程(焦点进程)的类型属于办公类,且外设事件为鼠标滚轮滑动事件或点击事件,则可以确定电子设备具体处于办公场景下的文档浏览场景。又或者,若场景识别引擎确定第一进程(焦点进程)的类型属于办公类,且在接收到键盘输入事件后的预设时间(例如,10秒)内未再次接收到鼠标滚轮滑动事件、鼠标击事件、键盘输入事件,可以确定电子设备具体处于办公场景下的文档浏览场景。
在一种可选的实施方式中,若场景识别引擎确定第一进程(焦点进程)的类型属于办公类,且接收到键盘输入事件,则可以确定电子设备具体处于办公场景下的文档编辑场景。
在一种可选的实施方式中,若场景识别引擎确定第一进程(焦点进程)的类型属于办公类,且接收到摄像头输入事件(即摄像头处于开启状态且存在视频流输入),可以确定电子设备具体处于办公场景下的视频会议场景。
电子设备还可以处于社交场景。社交场景包括三个具体场景,分别为:文字聊天场景、语音聊天场景及视频聊天场景。判断电子设备处于社交场景的原理与判断电子设备处于办公场景的原理类似,在此暂不赘述,下面仅说明判断电子设备处于社交场景需要满足的条件。
在一种可选的实施方式中,若场景识别引擎确定第一进程(焦点进程)的类型属于社交类,且接收到键盘输入事件,则可以确定电子设备具体处于社交场景下的文字聊天场景。
在一种可选的实施方式中,若场景识别引擎确定第一进程(焦点进程)的类型属于社交类,且接收到麦克风输入事件且摄像头处于关闭状态,则可以确定电子设备具体处于社交场景下的语音聊天场景。
在一种可选的实施方式中,若场景识别引擎确定第一进程(焦点进程)的类型属于社交类,且接收到麦克风输入事件、摄像头输入事件,则可以确定电子设备具体处于社交场景下的视频聊天场景。
上述内容说明了如何识别电子设备所处的用户场景,在确定电子设备所处的用户场景后,电子设备还可根据自身所处的用户场景和系统负载进行资源调度,使得电子设备的CPU可以按照用户的实际需求进行运行,达到在不影响用户体验的情况下避免CPU出现性能过剩的效果。
下面,继续以电子设备处于视频播放场景为例,说明电子设备的资源调度过程。如图7所示,本申请实施例提供的一种资源调度方法,其进行资源调度的流程如下:
如图7所示,本申请实施方式提供的资源调度方法还包括:
S301、场景识别模块向基础调度策略匹配管理器发送场景信息。
其中,场景信息用于指示电子设备所处的用户场景。示例性的,电子设备可以预先为不同的用户场景分配唯一标识,该场景信息则可包括用户场景所的唯一标识。例如,该标识(例如为V01)可指示电子设备处于视频播放场景。又例如,该标识(例如为V02)可指示电子设备处于视频浏览场景。
关于场景识别模块确定电子设备所处的用户场景的过程,具体参阅S101~S136,在此不再赘述。
S302、基础策略匹配管理器根据场景信息得到调度策略1。
其中,调度策略1包括OS调度策略1及CPU功耗调度策略1。OS调度策略1包括第一进程的第一进程优先级及第一I/O优先级。其中,调度策略1也可称为第二调度策略。
第一进程的优先级用于衡量第一进程抢占CPU的能力,其优先级越高,则可以优先满足其对CPU资源的占用需求,从而使得第一进程的运行流畅度越高。在一种可选的实施方式中,焦点进程的优先级从高到低依次包括等级:实时、高、高于正常、正常、低于正常、低。其中,第一进程的优先级也可以理解为焦点进程优先级(focus process priority,FPP)。
第一进程的I/O优先级用于衡量系统对第一进程的磁盘和I/O请求的响应度,期优先级越高,则第一进程的磁盘和I/O请求的响应度越高,即响应速度越快。在一种可选的实施方式中,焦点进程I/O优先级从高到低依次包括等级:关键、高、正常、低、非常低。其中,第一进程的I/O优先级也可以理解为焦点进程I/O优先级(focus process IO priority,FPP_IO)。
CPU功耗调度策略1包括CPU的第一PL1、第一PL2以及第一EPP。
可见,调度策略1可以调整第一进程的进程优先级、I/O优先级以及CPU功耗。
在一种可选的实施方式中,电子设备可以预先配置各种用户场景和其对应的调度策略。示例性的,各种用户场景和其对应的调度策略的对应关系可以如表2所示。
示例性的,若确定电子设备所处的用户场景为社交场景下的文字聊天场景,则调度策略1包括:第一进程的第一进程优先级为正常,第一进程的第一I/O优先级为正常,CPU的第一PL1为12W,第一PL2为60W,第一EPP为220。需要说明的是,表2中的调度策略仅作为示例,在实际应用中,进程优先级、I/O优先级、PL1、PL2及EPP的值可以与表2中的值不一致。另外,表2仅示出了部分场景的调度策略,实际电子设备还可配置比表2更多的调度策略。
需要说明的是,上述调度策略为默认电子设备处于轻负载状态时的调度策略,其可以为电子设备预先统计每个应用在对应的负载特征下的CPU功耗,并根据统计得到的负载特征及CPU功耗配置的。因此,基础策略匹配管理器得到的调度策略1可作为电子设备进行调度的策略的参考方案,电子设备还可根据该调度策略1并结合实际的系统负载来得到实际的调度策略。
表2
S303、基础策略匹配管理器向场景识别模块发送调度策略1。
S304、场景识别模块向负载管控器发送调度策略1和场景信息。
也即,基础策略匹配管理器确定调度策略1后,通过场景识别模块向负载管控器转发调度策略1。在一种可选的实施方式中,场景识别模块可以分两个步骤分别向负载管控器发送调度策略1和场景信息。
S305、负载管控器向系统探针模块发送获取系统负载的请求。
其中,系统负载是处于可运行状态的进程和不可中断状态的进程的平均数。可运行状态的进程指正在使用CPU或者等待使用CPU的进程。不可中断状态的进程为等待I/O访问(例如,磁盘I/O)的进程。
S306、系统探针模块向进程管理器发送获取系统负载的请求。
如图3所示,系统探针模块包括系统负载探针,可以由系统负载探针向进程管理器发送获取系统负载的请求。在一种可选的实施方式中,也可以由OsEventDriver节点向进程管理器转发系统负载探针的获取系统负载的请求(图未示)。
S307、进程管理器获取系统负载。
S308、进程管理器向系统探针模块发送系统负载。
具体的,进程管理器可以向系统探针模块的系统负载探针发送该系统负载。在一种可选的实施方式中,也可以由OsEventDriver节点向系统负载探针转发该系统负载(图未示)。
S309、系统探针模块向负载管控器发送系统负载。
S310、负载管控器根据系统负载、场景信息及调度策略1,得到调度策略2。
调度策略2可包括OS调度策略2(也可以称为OS调度策略)和CPU功耗调度策略2(也可以称为第一子策略)。CPU功耗调度策略2包括PL1`、PL2`、EPP`,PL1`为负载管控器调整后的PL1,也可以称为第二PL1。PL2`为负载管控器调整后的PL2,也可以称为第二PL2。EPP`为负载管控器调整后的EPP,也可以称为第二EPP。其中,调度策略2也可以称为第一调度策略。
在一种可选的实施方式中,负载管控器可将系统负载划分为三个等级,分别为轻负载、中负载、重负载。电子设备可预先配置各种用户场景和其对应的调整策略。例如,调整策略可以如表3所示:
表3
示例性的,若电子设备处于视频播放场景,且根据表2可知调度策略1为:视频应用进程的进程优先级为正常,视频应用进程的I/O优先级为正常,CPU的PL1(即第一PL1)为18W,PL2(即第一PL2)为60W,EPP(即第一EPP)为200。在这种情况下,若系统负载为轻负载,则不需要调整调度策略,即调度策略2为调度策略1。若系统负载为中负载,则需保持视频应用进程的进程优先级为正常,视频应用进程的I/O优先级为正常,PL1在18W的基础上增加22W,PL2在60W的基础上增加30W,EPP在200的基础上减少50,即调度策略2为:视频应用进程的进程优先级为正常、视频应用进程的I/O优先级为正常(OS调度策略2),PL1`为40W,PL2`为90W,EPP`为150(CPU调度策略2)。若系统负载为重负载,则需保持视频应用进程的进程优先级为正常,调整视频应用进程的I/O优先级为高,PL1在18W的基础上增加37W,PL2在60W的基础上增加45W,EPP在200的基础上减少100,即调度策略2为:视频应用进程的进程优先级为正常,视频应用进程的I/O优先级为高,PL1`为55W,PL2`为105W,EPP`为100。
需要说明的是,表3仅示出了部分用户场景及其对应的调整策略,电子设备还可配置比表3更多的调整策略,在此不做具体限制。
在一种可选的实施方式中,系统负载与CPU功耗之间满足特定的映射关系(例如通过特定算式进行映射),负载管控器也可以通过该特定算式和系统负载计算得到CPU功耗,进而得到调度策略2。
S311、负载管控器向调度执行器发送OS调度策略2。
其中,OS调度策略2包括第一进程的第二进程优先级、第二I/O优先级。
S312、调度执行器向I/O管理器发送指令1。
其中,指令1携带有第一进程的第二I/O优先级。另外,如图3所示,调度执行器包括I/O优先级接口,可以由该I/O优先级接口向I/O管理器发送指令1。其中,该指令1也可以称为第二指令。
S313、响应于指令1,I/O管理器调整第一进程的I/O优先级。
也即,I/O管理器可将第一进程的I/O优先级调整为第二I/O优先级。如此,可以保证第一进程可以优先进行I/O访问,减少第一进程在I/O访问过程中的响应时间。
S314、调度执行器向进程管理器发送指令2。
其中,指令2携带有第一进程的第二进程优先级。另外,如图3所示,调度执行器还包括进程优先级接口,可以由该进程优先级接口向进程管理器发送指令2。其中,该指令2也可以称为第一指令。
S315、响应于接收到指令2,进程管理器调整第一进程的进程优先级。
也即,进程管理器可将第一进程的进程优先级调整为第二进程优先级。如此,第一进程可以优先占用CPU资源,保证第一进程能够流畅运行。
可见,通过调整第一进程的I/O优先级和进程优先级,可以优先保证第一进程的I/O访问以及对CPU资源的消耗,使得第一进程可以正常、流畅地运行,保证用户有良好的体验。
需要说明的是,S312与S314之间不存在严格的先后顺序,可以先执行S312再执行S314,也可以先执行S314再执行S312,也可以同时执行S314和S312。
S316、负载管控器向芯片策略融合器发送CPU功耗调度策略2。
S317、芯片策略融合器判断CPU的芯片平台类型为或者
公司的CPU芯片和公司的CPU,对于CPU功耗的调整方式并不相同,因此需要进行区分。其中,若CPU的芯片平台类型为(也可以称为第一类型),则执行S318;若PU的芯片平台类型为(也可以称为第二类型),则执行S325。
S318,芯片策略融合器向调度执行器发送CPU功耗调度策略2。
其中,CPU功耗调度策略2包括PL1`、PL2`、EPP`。
S319,调度执行器向OS2SOC驱动节点发送指令3。
其中,指令3携带有PL1`、PL2`。也即,指令3用于调整CPU的PL1和PL2。其中,指令3也可以称为第三指令。
在一种可选的实施方式中,可以由调度执行器的CPU功耗调度接口向OS2SOC驱动节点发送指令3。
S320,OS2SOC驱动节点向CPU发送指令3。
S321、响应于指令3,CPU调整PL1和PL2。
也即,CPU可将PL1调整为PL1`,将PL2调整为PL2`。
S322、调度执行器向电源管理器发送指令4。
其中,指令4携带有EPP`。也即,指令4用于调整CPU的EPP。指令4也可以称为第四指令。
S323、电源管理器向CPU发送指令4。
S324、响应于指令4,CPU调整EPP。
也即,CPU可将EPP调整为EPP`。
S325、芯片策略融合器根据CPU功耗调度策略2确定动态调谐技术策略号。
动态调谐技术(dynamic tuning technology,DTT)是公司在处理器和独立显卡之间自动并动态分配功耗,以优化性能并延长电池续航时间的技术,其可以使CPU和GPU的性能得到提升,智能混合工作负载功率平衡。
可以理解地,DTT策略号与CPU功耗调度策略2可以存在映射关系。在BIOS中会构建一张DTT策略表,任何一条CPU功耗调度策略2都能通过其内的参数(PL1`、PL2`、EPP`)映射到DTT策略表中某个DTT策略号,如表4所示。
其中,DTT策略号可用于标识一种DTT策略(也可以称为第二子策略),DTT策略号对应的DTT策略用于调整CPU的PL1_MINI、PL1_MAX、PL2、PL2_TIME、EPO Gear。PL1_MINI为PL1的最小值,PL1_MAX为PL1的最大值,PL2_TIME为PL2的持续时间。能效-性能优化挡位(Energy Performance Optimize Gear,EPO Gear)用来表征DTT调节CPU能效比(EPP)的力度,取值范围1~5,值越大,调节EPP时越倾向能效;值越小,调节EPP时越倾向性能。
需要说明的是,表4仅示出部分PL1'、PL2'、EPP'和DTT策略号的对应关系,实际上还可包括比表4更多的信息。示例性的,若CPU功耗调度策略2指示PL1`为-1,PL2`为-1且EPP`为-1,则可以确定DTT策略号为0,其对应的PL1_MINI为30,PL1_MAX为40,PL2为95,PL2_TIME为28,EPO Gear为3。
S326、芯片策略融合器向调度执行器发送DTT策略号。
在一种可选的实施方式中,芯片策略融合器也可直接向调度执行器发送该DTT策略号对应的功DTT策略(即第二子策略)。
表4
S327、调度执行器向Intel DTT驱动发送DTT策略号。
S328、Intel DTT驱动向CPU发送DTT策略号。
可以理解地,该Intel DTT驱动可通过BIOS向CPU发送DTT策略号。
S329、CPU基于DTT策略号运行。
可见,若CPU的芯片平台类型为芯片策略融合器可以通过调度执行器向电源管理器发送调整EPP的指令,电源管理器可调整CPU的EPP。另外,调度执行器还可以向OS2SOC驱动节点发送调整PL1、PL2的指令,OS2SOC驱动节点驱动CPU的PL1和PL2。
若CPU的芯片平台类型为则芯片策略融合器可以确定CPU功耗调度策略2得到DTT策略号,并通过调度执行器通过bios向Intel DTT驱动发送DTT策略号,使得CPU基于该DTT策略号运行,达到调整功耗的效果。
可以理解地,本申请可以获取焦点窗口变化事件以及第一信息(包括焦点进程的进程信息、焦点进程对GPU的占用情况、外设事件以及电源模式等),并根据焦点窗口变化事件以及第一信息确定电子设备当前所处的用户场景,并结合用户场景和电子设备的系统负载确定第一调度策略,基于第一调度策略调整焦点进程的进程优先级、I/O优先级以及CPU的功耗,在流畅满足用户需求(保证焦点进程流畅运行)的情况下,降低电子设备的能耗。
以上为对本案涉及的整体框架和整体功能的介绍,上述软件架构还可以简化为图8所示的结构。如图8所示,该软件架构由上到下可以包括应用层,内核和驱动层,硬件层。
若CPU的芯片平台类型为芯片策略融合器可以通过调度执行器向电源管理器发送调整EPP的指令,电源管理器可调整CPU的EPP。另外,调度执行器还可以向OS2SOC驱动节点发送调整SPL、s-PPT的指令,OS2SOC驱动节点驱动CPU的SPL和s-PPT。
若CPU的芯片平台类型为则芯片策略融合器可以确定CPU功耗调度策略2得到DTT策略号,并通过调度执行器通过bios向Intel DTT驱动发送DTT策略号,使得CPU基于该DTT策略号运行,达到调整功耗的效果。
可以理解地,本申请可以获取焦点窗口变化事件以及第一信息(包括焦点进程的进程信息、焦点进程对GPU的占用情况、外设事件以及电源模式等),并根据焦点窗口变化事件以及第一信息确定电子设备当前所处的用户场景,并结合用户场景和电子设备的系统负载确定第一调度策略,基于第一调度策略调整焦点进程的进程优先级、I/O优先级以及CPU的功耗,在流畅满足用户需求(保证焦点进程流畅运行)的情况下,降低电子设备的能耗。
以上为对本案涉及的整体框架和整体功能的介绍,上述软件架构还可以简化为图8所示的结构。如图8所示,该软件架构由上到下可以包括应用层,内核和驱动层,以及硬件层。
具体的,应用层可以安装PC管家,该PC管家可以对PC的资源进行管理和调度。PC管家能够根据不同的探针识别出多种场景,例如音乐场景、视频场景、游戏场景、办公场景和社交场景等。该PC管家中包括场景识别引擎和调度引擎。其中,场景识别引擎用于根据各种探针上报的状态来确定当前的场景和该场景的场景标识。调度引擎用于根据场景标识确定当前的场景所要使用的策略,然后通过将策略的参数下发来调度各种资源。
内核和驱动层,包括设备驱动程序,例如鼠标驱动、键盘驱动、摄像头驱动、音视频驱动和显卡驱动。这些驱动能够控制对应的硬件设备的工作状态和获取硬件设备的参数。例如,显卡驱动能够控制GPU的状态,例如唤醒GPU和控制GPU处于休眠状态。
硬件层,该硬件层包括EC、CPU、GPU、MEMORY、温度传感器(例如热敏电阻DTS)和风扇等硬件设备,这些硬件设备在设备驱动程序的控制下运行。
为了便于理解,本申请以下实施例将以具有上文中所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的确定参数的方法进行具体阐述。
通常,EC中包括电源管理电路,能够对系统的电源进行管理,从而确保电子设备工作所需要的电源不超过使用电源的器件的供电的能力,并且控制发热敏感的器件不超过正常温度的上限。为了保证电子设备的正常运行,需要保证电子设备的各个器件(硬件设备)在运行时的最大的功率不能超过各自的负载的同时,还需要考虑续航能力。所以,在对电子设备开启续航模式的情况下,可以使用预置在EC RAM中的功率表针对电子设备的整机的功耗进行控制,例如设置功率限值(PL,power limit)来保证在系统运行的时候,整机的功率不超过功率表中的PL的值。同时,各个器件在运行过程中,一些发热量大的器件,例如CPU、GPU等,可能会出现器件温度过热损坏,例如电容高温会爆炸,电池过热会鼓包等现象。所以,在电子设备开启性能模式的情况下,可以使用预置在EC RAM中的温度表针对器件的温度做一个限制,只要使得各个器件工作在安全的温度范围内,就可以提高器件的功率来提升性能。具体可以参见图9所示的架构,EC可以根据电子设备处于续航模式或者性能模式,来确定是调用功率表或者温度表中的参数。在一些平台中,针对功耗类的参数的接口为一个,例如AMD的Alib接口,EC可以通过该Alib接口将确定的参数传递给CPU,使得CPU根据EC传递的参数进行功耗管理。
然而,电子设备使用EC传递的参数来进行功耗管理时,只是针对性能模式和续航模式两种模式分别设置了相应的参数,会导致在一些场景下,PL的值可能显得过小使得电子设备无法发挥各个器件的全部能力,而在另一些场景下,PL的值又显得过大导致续航时间缩短,因此功耗管理不合理。
本申请的技术方案中,以上述参数为功耗参数为例,PC管家可以针对多种不同的场景(即前文中的应用场景,后续简称为场景)进行功耗的优化,例如分别针对每一场景调试出使得功耗最低的功耗参数,然后将每个场景的场景标识和调试得到的功耗参数之间建立对应关系,以建立场景标识和功耗参数的映射库。还可以针对一些高性能要求的场景调试出使得运算效率最高的功耗参数,然后建立场景的场景标识和功耗参数之间的对应关系,并添加至映射库中。然后,在电子设备根据当前所处的场景的场景标识在建立的映射库中查找,得到场景对应的功耗参数,并根据这个功耗参数进行功耗管理。该方法能够根据不同场景,来调用场景对应的功耗参数来进行功耗管理,提高了功耗管理的合理性。
在一些实施例中,上述参数还可以是其他的参数,例如是温度参数。电子设备可以根据温度传感器所传感的温度数据,结合温度参数来计算特定位置的预测温度。通常,这些温度参数能够影响预测温度的准确性。在调试过程中,电子设备不断改变温度参数,来计算不同温度参数计算的预测温度,然后找到与实测温度的差值最小的预测温度,然后将计算这个与实测温度差值最小的预测温度的温度参数作为该场景对应的温度参数。即,当电子设备使用这个与实测温度差值最小的预测温度的温度参数计算得到的预测温度最准确。
可选地,上述参数调试的过程中,电子设备可以首先使用随机的方式在大的数据范围中进行调试,当得到和预期的结果较为接近的参数后,还可以改为使用梯度的方式,将参数按照一定的步进来详细调试,从而得到准确的参数。
首先,针对上述映射库进行详细的说明。PC管家根据电子设备所处场景的不同,可以将电子设备的场景分为多个级别,这些级别分别表征PC管家所提供的功耗参数的优先级高低。例如,可以将电子设备的场景划分为三个级别,低级(Low Level)、普通级(NormalLevel)和高级(High Level),这三个级别分别代表PC管家所提供的参数的优先级。在一些实施例中,上述场景可以包括但不限于游戏场景、社交场景、办公场景、音视频场景、评测场景等。
以参数为功耗参数为例,当电子设备处于场景1时,如果该场景1为办公场景、社交场景或音视频场景等对性能要求较低的场景时,可以按照一定的步进分别设置PL的值,然后记录这些不同的PL的值运行时的电子设备的功耗,并从这多个功耗数据中选择出确保电子设备正常运行的情况下最小的PL的值PL-1,然后将这个PL-1作为场景1对应的功耗参数。同理,针对每个识别到的场景,均执行上述操作,得到每个场景对应的功耗参数。在一些实施例中,可以使用场景标识和功耗参数进行对应,例如:场景1对应PL-1。
当电子设备处于场景2时,如果该场景2为游戏场景或评测场景等对性能要求较高的场景(例如系统的极限测试的场景、跑分的场景和系统调试的场景)时,可以按照一定的步进分别设置PL的值,然后记录这些不同的PL的值运行时的电子设备的功耗,并从这多个功耗数据中选择出确保电子设备正常运行的情况下(器件不会被烧毁的情况)最大的PL的值PL-2,然后将这个PL-2作为场景2对应的功耗参数。同理,针对每个识别到的场景,均执行上述操作,得到每个场景对应的功耗参数。在一些实施例中,可以使用场景标识和功耗参数进行对应,例如:场景2对应PL-2。
采用上述方式则可以建立不同的场景标识和不同功耗参数之间的对应关系,形成映射库。
以参数为温度参数为例,当电子设备处于场景3时,可以按照一定的步进分别设置温度参数,然后根据这些不同的温度参数计算预测温度,并从这多个预测温度中选择出和实测温度差异最小的预测温度,将计算这个差异最小的预测温度所用到的温度参数作为该场景对应的温度参数3,然后将这个温度参数3作为场景3对应的温度参数。同理,针对每个识别到的场景,均执行上述操作,得到每个场景对应的温度参数。在一些实施例中,可以使用场景标识和温度参数进行对应,例如:场景3对应温度参数3。采用该方式则可以建立不同的场景标识和不同温度参数之间的对应关系,形成映射库。
上述文中介绍了如何建立映射库,接下来详细介绍如何应用该映射库对系统的功耗进行管理的过程。
图10为一个实施例提供的确定参数的方法的流程示意图,包括:
S1001、获取当前场景对应的目标优先级。
可选地,电子设备可以根据实际使用的需要,预先对每个场景标注优先级,生成多个不同的场景和不同的优先级之间的映射关系表。该场景表征电子设备当前所处理的业务对应的用户场景,例如聊天场景、游戏场景等等。该目标优先级用于表征PC管家下发的参数(即第一参数)的优先级。例如,在一些高性能要求的评测的场景或游戏场景下,则认为EC所提供的功耗参数,例如EC提供的PL的值距离各个器件的极限运行状态下的数值还留有的余量较大,实际上,电子设备还可以以更高的处理速度运行,即PL的值可以超过原本EC所提供的数据来进一步提高处理能力,此时则可以将评测场景或游戏场景的优先级确定为高级,以获取更高的功耗参数的数据。
在一些性能要求不高的场景下,例如社交场景、办公场景、音视频场景等,则认为EC所提供的功耗参数没有详细区分不同的场景,数据结构较为单一,例如EC所提供的同一PL的值可能会覆盖多个不同的场景。这时,则可以将这类场景标注为普通级。由电子设备决策到底是使用EC提供的功耗参数(即第二功耗参数)还是使用PC提供的功耗参数(即第一功耗参数)。
电子设备虽然能够识别多个场景,但是仍然不能保证能够覆盖到用户所使用的所有的场景,因此当电子设备处于未能预先识别的场景时,即处于电子设备所能识别的场景盲区时,此时并未对这样的功耗参数进行重新设置,因此可以将这类场景的优先级标志为低级。
在一些场景下,如果PC管家运行异常,此时有可能无法提供功耗参数,当电子设备无法获取到PC管家提供的参数时,则可以将PC管家的优先级直接标志为低级。
电子设备可以根据当前的场景的场景标识,在多个不同的场景和不同的优先级之间的映射关系表中查找,得到当前场景对应的目标优先级。在一些实施例中,场景标识可以为场景号。该场景号由多个字段组成,每个字段可以代表一个探针探测的对象的状态。
在一些实施例中,还可以参见图11的所示的流程,电子设备还可以通过场景识别引擎来获取多个探针的状态,并根据多个探针的状态探得的状态确定出当前场景的场景标识,然后将当前场景的场景标识发送至调度引擎,由调度引擎基于上述多个不同的场景和不同的优先级之间的映射关系表(即第一映射关系),查找当前场景的场景标识所对应的优先级。在一些实施例中,调度引擎还可以将优先级通过WMI通道下发至场景决策模块。
在一些实施例中,如果场景识别引擎无法根据探针的状态识别出场景标识时,表明此时电子设备的状态不在预先可获知的场景列表中,可以认为此时处于场景盲区,则可以向调度引擎发送一个空的场景号或者表征场景盲区的场景号,例如-1。此时调度引擎就可以根据这个-1的场景号或者空的场景号确定出当前的目标优先级为低级。
在一些实施例中,当场景为性能要求低的场景时,调度引擎可以定场景对应的优先级为普通级。当场景为性能要求高的场景时,则调度引擎可以确定场景对应的优先级为高级。
可选地,PC管家还可以设置心跳机制,即每个预设周期(例如1秒)会定时向EC发送表征PC管家运行状态正常的信息。如果PC管家运行异常,例如在应用层发生crash,则无法正常下发这个运行状态正常的信息。因此,当EC在一段时间内没有收到PC管家下发的运行状态正常的信息时,则可以确定当前PC管家的运行异常,无法正常下发功耗参数,因此可以将PC管家的功耗参数的优先级确定为低级。
S1002、若目标优先级为高级,则根据PC管家下发的当前场景对应的功耗参数进行功耗管理。
具体的,电子设备可以获取PC管家下发的功耗参数,然后将功耗参数下发至CPU,由CPU根据PC管家下发的功耗参数进行功耗管理。
此时,采用PC管家的功耗参数相比EC的功耗参数,虽然会使得电子设备的功耗变大,但同时提升电子设备的性能,因此针对优先级为高级的场景可以在确保硬件设备不被烧毁的情况下,尽可能提高处理能力,最大化的发挥了电子设备的性能,也提升了用户的体验。
在一些实施例中,电子设备可以通过场景决策模块进行决策,场景决策模块可以忽略EC通过SCI通道发送的功耗参数,直接确定采用通过WMI通道下发的PC管家下发的功耗参数,并将PC管家下发的功耗参数发送给执行模块,由执行模块将功耗参数通过预设的接口(例如Alib接口)发送至CPU,进行功耗管理。
S1003、若目标优先级为普通级,从PC管家的功耗参数和EC的功耗参数中选择一个,来进行功耗管理。
电子设备可以在获取PC管家的功耗参数的同时还获取EC提供的功耗参数,然后比较两个功耗参数的大小,从中选择一个来进行功耗管理。
可选地,电子设备可以选择两个功耗参数中小的一个进行功耗管理。例如,如果PC管家下发的PL的值大,则采用EC提供的PL的值;如果PC管家下发的PL的值小,则采用PC管家提供的PL的值。无论是PC管家,还是EC,都能够保证电子设备的正常运行状态,因此采用小的一个功耗参数能够在保证正常运行状态的同时,节约功耗,提升续航能力。
在一些实施例中,如果PC管家下发的功耗参数小于EC提供的功耗参数,则电子设备也可以直接采用PC管家提供的功耗参数进行功耗管理,减少决策的步骤,简化了方案,节约了资源。
在一些实施例中,电子设备可以通过场景决策模块确定目标优先级为普通级的时候,将PC管家的功耗参数和EC提供的功耗参数进行对比,并将小的一个功耗参数发送至执行模块,由执行模块通过预设的接口(例如Alib接口)发送至CPU,进行功耗管理。
在一些实施例中,电子设备可以通过场景决策模块确定目标优先级为普通级的时候,还可以继续判断外接接口的设置项(例如OEM INPUT),如果为0,则可以从PC管家的功耗参数和EC提供的功耗参数中进行选择。当外接接口的设置项不为零时,则表明启动场景索引功能,根据场景标识来在场景库中进行索引。该场景库中包括多个场景以及各自对应的功耗参数(例如PL的值)。然后电子设备找到和索引的场景标识对应的功耗参数,作为当前的场景需要调用的功耗参数。
S1004,若目标优先级为低级,则根据EC的功耗参数进行功耗管理。
当目标优先级为低级,则表明当前的场景没有进行功耗优化,或者是PC管家运行异常无法下发功耗参数,此时电子设备可以直接使用EC提供的功耗参数进行功耗管理。这样,即使PC管家运行异常,或是出现场景盲区,也能够采用EC提供的功耗参数,将EC的功耗参数作为一个兜底的设计,从而保证了即使出现异常也不会出现没有功耗参数可调用的混乱状态,确保了系统的正常运行。
在一些实施例中,如果电子设备通过调度引擎向BIOS层的场景决策模块下发的目标优先级为低级时,场景决策模块可以忽略PC管家的通过WMI下发的功耗参数,优先EC通过系统控制中断(system control interrupt,SCI)通道提供的功耗参数,然后将决策出的功耗参数发给执行模块,由执行模块将功耗参数发送至CPU,进行功耗管理。
在一些实施例中,如果PC管家运行异常,则基于心跳机制,EC在一段时间内没有收到PC管家下发的运行状态正常的信息时,则可以确定当前PC管家的运行异常,无法正常下发功耗参数,因此可以将PC管家的功耗参数的优先级确定为低级,并将目标优先级为低级的信息发送至场景决策模块。场景决策模块可以忽略PC管家的通过WMI下发的功耗参数,优先EC通过SCI提供的功耗参数,然后将决策出的功耗参数发给执行模块,由执行模块将功耗参数发送至CPU,进行功耗管理。
上述实施例中,以参数为功耗参数为例进行了说明,实际中上述实施例中的功耗参数还可以直接替换为温度参数。不同的是,当参数为温度参数时,该温度参数并不仅是用来进行功耗控制,还可以对一些特定位置的温度进行预测,得到这些对温度敏感的位置处的预测温度,以此来衡量用户对这些温度敏感位置处的温度的感受。可选地,该温度参数为可以为系统温度跟踪(system temperature tracking,STT)回归系数,如果优先级为普通级,电子设备可以直接采用PC管家下发的温度参数来获取预测温度。
在一些实施例中,如果目标优先级为高级或者普通级的时候,场景决策模块可以直接确定PC管家的温度参数优先,并将PC管家的温度参数发送至执行模块,由执行模块发送至CPU进行温度的预测。只有在目标优先级为低级的时候,采用EC的数据温度参数来预测温度。
关于温度参数的传递路径也可以采用如功耗参数的路径,例如PC管家的温度参数可以通过WMI通道传递,EC的温度参数通过SCI通道传递。
需要说明的是,PC管家下发参数的时候可以是在场景发生变化的时候,此时PC管家设置的参数可能会随之发生变化,因而可以触发一次功耗调整。而EC上报参数的时候可以是按照一定的周期进行上报。
在上述实施例中,PC管家下发的参数为用户自行调试过的参数,也可以是通过其他的应用程序或者其他的方式下发,PC管家进行操作仅为一种示例的描述,并不造成对此的限定。
需要说明的是,上述场景决策模块决策出使用PC管家的参数时,也可以是优先WMI传递的参数并且忽略SCI传递的参数,其效果相同。上述场景决策模块决策出使用EC的参数时,也可以是采用优先SCI传递的参数并且忽略WMI传递的参数,其实现的效果相同。
上文详细介绍了本申请提供的确定参数的方法的示例。可以理解的是,相应的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请可以根据上述方法示例对确定参数装置进行功能模块的划分,例如,可以将各个功能划分为各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图12是本申请实施例提供的一例确定参数的装置的结构示意图,包括:
获取模块1201,用于获取当前应用场景的标识,当前应用场景的标识用于表征电子设备当前所处理的业务对应的用户场景。
第一确定模块1202,用于根据当前应用场景的标识和第一映射关系,确定当前应用场景的标识对应的目标优先级,第一映射关系中包括多种应用场景的标识和多种优先级的对应关系,多种应用场景的标识中包括当前应用场景的标识,多种优先级中包括目标优先级,目标优先级用于表征当前应用场景的标识对应的第一参数,在当前应用场景的标识对应的第一参数和当前应用场景的标识对应的第二参数中的优先级;
第二确定模块1203,用于当目标优先级为高级时,根据当前应用场景的标识和第二映射关系,确定当前应用场景的标识对应的第一参数为目标参数,目标参数用于电子设备处于当前应用场景时所调用的参数,第二映射关系中包括多种应用场景的标识和多组第一参数的对应关系。
在一些实施例中,第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,第二确定模块1203,还用于当目标优先级为低级时,确定当前应用场景的标识对应的第二参数为目标参数。
在一些实施例中,第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,第一参数为第一功耗参数,第二参数为第二功耗参数,目标参数为目标功耗参数。
在一些实施例中,第一功耗参数为第一功率限值,第二功耗参数为第二功率限值,第二确定模块1203,还用于当目标优先级为普通级时,确定当前应用场景的标识对应的第一功率限值和当前应用场景的标识对应的第二功率限值中最小的为目标功耗参数。
在一些实施例中,当目标优先级为高级时,当前应用场景的标识对应的第一功率限值比当前应用场景的标识对应的第二功率限值大。
在一些实施例中,第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,第一参数为第一温度参数,第二参数为第二温度参数,目标参数为目标温度参数。
在一些实施例中,第二确定模块1203,还用于当目标优先级为普通级时,确定当前应用场景的标识对应的第一温度参数为目标温度参数,目标温度参数用于电子设备计算目标温度参数对应的器件的温度值。
在一些实施例中,第一温度参数为第一STT回归系数,第二温度参数为第二STT回归系数,第一STT回归系数计算得到的温度值比第二STT回归系数计算得到的温度值准确度高。
在一些实施例中,第一参数为通过系统管理规范WMI通道传输的参数,第二参数为通过系统控制中断SCI通道传输的参数。
在一些实施例中,获取模块1201,具体用于通过场景识别引擎确定当前应用场景的标识。
第一确定模块1202,具体用于通过调度引擎根据当前应用场景的标识和第一映射关系,确定目标优先级。
第二确定模块1203,具体用于通过场景决策模块,在目标优先级为高级时,根据当前应用场景的标识和第二映射关系,确定当前应用场景的标识对应的第一参数为目标参数。
在一些实施例中,第二确定模块1203,具体用于通过场景决策模块,在目标优先级为低级时,确定当前应用场景的标识对应的第二参数为目标参数。
在一些实施例中,第二确定模块1203,具体用于通过场景决策模块,在目标优先级为普通级时,确定当前应用场景的标识对应的第一功率限值和当前应用场景的标识对应的第二功率限值中最小的,为目标功耗参数。
在一些实施例中,第二确定模块1203,具体用于通过场景决策模块,在目标优先级为普通级时,确定当前应用场景的标识对应的第一温度参数为目标温度参数。
确定参数的装置1200执行确定参数的方法的具体方式以及产生的有益效果可以参见方法实施例中的相关描述,此处不再赘述。
本申请实施例还提供了一种电子设备,包括上述处理器。本实施例提供的电子设备可以是图1所示,为终端设备,例如笔记本电脑,用于执行上述确定参数的方法。在采用集成的单元的情况下,终端设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对终端设备的动作进行控制管理,例如,可以用于支持终端设备执行显示单元、检测单元和处理单元执行的步骤。存储模块可以用于支持终端设备执行存储程序代码和数据等。通信模块,可以用于支持终端设备与其它设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其它终端设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的终端设备可以为具有图1所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行上述任一实施例所述的确定参数的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的确定参数的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,更换的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种确定参数的方法,应用于电子设备,其特征在于,包括:
获取当前应用场景的标识,所述当前应用场景的标识用于表征所述电子设备当前所处理的业务对应的用户场景;
根据所述当前应用场景的标识和第一映射关系,确定所述当前应用场景的标识对应的目标优先级,所述第一映射关系中包括多种应用场景的标识和多种优先级的对应关系,所述多种应用场景的标识中包括所述当前应用场景的标识,所述多种优先级中包括所述目标优先级,所述目标优先级用于表征所述当前应用场景的标识对应的第一参数,在所述当前应用场景的标识对应的第一参数和所述当前应用场景的标识对应的第二参数中的优先级,所述第一参数为应用层的应用程序提供的参数,所述第二参数应为硬件层的嵌入式控制器EC提供的参数;
若所述目标优先级为高级,根据所述当前应用场景的标识和第二映射关系,确定所述当前应用场景的标识对应的第一参数为目标参数,所述目标参数用于所述电子设备处于所述当前应用场景时所调用的参数,所述第二映射关系中包括多种应用场景的标识和多组第一参数的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,所述方法还包括:
若所述目标优先级为低级,确定所述当前应用场景的标识对应的第二参数为所述目标参数。
3.根据权利要求1或2所述的方法,其特征在于,所述第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,所述第一参数为第一功耗参数,所述第二参数为第二功耗参数,所述目标参数为目标功耗参数。
4.根据权利要求3所述的方法,其特征在于,所述第一功耗参数为第一功率限值,所述第二功耗参数为第二功率限值,所述方法还包括:
若所述目标优先级为普通级,确定所述当前应用场景的标识对应的第一功率限值和所述当前应用场景的标识对应的第二功率限值中最小的为所述目标功耗参数。
5.根据权利要求3所述的方法,其特征在于,当所述目标优先级为高级时,所述当前应用场景的标识对应的第一功率限值比所述当前应用场景的标识对应的第二功率限值大。
6.根据权利要求1或2所述的方法,其特征在于,所述第二映射关系中还包括多种应用场景的标识和多组第二参数的对应关系,所述第一参数为第一温度参数,所述第二参数为第二温度参数,所述目标参数为目标温度参数。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述目标优先级为普通级,确定所述当前应用场景的标识对应的第一温度参数为所述目标温度参数,所述目标温度参数用于所述电子设备计算所述目标温度参数对应的器件的温度值。
8.根据权利要求6所述的方法,其特征在于,所述第一温度参数为第一系统温度跟踪STT回归系数,所述第二温度参数为第二STT回归系数,所述第一STT回归系数计算得到的温度值比所述第二STT回归系数计算得到的温度值准确度高。
9.根据权利要求1所述的方法,其特征在于,所述第一参数为通过系统管理规范WMI通道传输的参数,所述第二参数为通过系统控制中断SCI通道传输的参数。
10.根据权利要求1所述的方法,其特征在于,所述获取当前应用场景的标识,包括:
通过场景识别引擎确定所述当前应用场景的标识;
所述根据所述当前应用场景的标识和第一映射关系,确定所述当前应用场景的标识对应的目标优先级,包括:
通过调度引擎根据所述当前应用场景的标识和所述第一映射关系,确定所述目标优先级;
所述若所述目标优先级为高级,根据所述当前应用场景的标识和第二映射关系,确定所述当前应用场景的标识对应的第一参数为目标参数,包括:
通过场景决策模块,在所述目标优先级为高级时,根据所述当前应用场景的标识和所述第二映射关系,确定所述当前应用场景的标识对应的第一参数为目标参数。
11.根据权利要求2所述的方法,其特征在于,所述若所述目标优先级为低级,确定所述当前应用场景的标识对应的第二参数为所述目标参数,包括:
通过场景决策模块,在所述目标优先级为低级时,确定所述当前应用场景的标识对应的第二参数为所述目标参数。
12.根据权利要求4所述的方法,其特征在于,所述若所述目标优先级为普通级,确定所述当前应用场景的标识对应的第一功率限值和所述当前应用场景的标识对应的第二功率限值中最小的为所述目标功耗参数,包括:
通过场景决策模块,在所述目标优先级为普通级时,确定所述当前应用场景的标识对应的第一功率限值和所述当前应用场景的标识对应的第二功率限值中最小的,为所述目标功耗参数。
13.根据权利要求7所述的方法,其特征在于,所述若所述目标优先级为普通级,确定所述当前应用场景的标识对应的第一温度参数为所述目标温度参数,包括:
通过场景决策模块,在所述目标优先级为普通级时,确定所述当前应用场景的标识对应的第一温度参数为所述目标温度参数。
14.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、所述存储器和所述接口相互配合,使得所述电子设备执行如权利要求1至13中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至13中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210528712 | 2022-05-16 | ||
CN2022105287125 | 2022-05-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116027879A CN116027879A (zh) | 2023-04-28 |
CN116027879B true CN116027879B (zh) | 2023-10-20 |
Family
ID=86074918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210751789.9A Active CN116027879B (zh) | 2022-05-16 | 2022-06-29 | 确定参数的方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116027879B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521112B (zh) * | 2023-05-15 | 2024-08-06 | 摩尔线程智能科技(北京)有限责任公司 | 参数的调整方法、显卡、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957654A (zh) * | 2010-09-10 | 2011-01-26 | 浪潮电子信息产业股份有限公司 | 一种降低系统能耗的方法 |
CN102819305A (zh) * | 2012-07-30 | 2012-12-12 | 江苏瑞曼信息技术有限公司 | 一种自动调节处理器频率的计算机 |
CN107660278A (zh) * | 2015-06-19 | 2018-02-02 | 英特尔公司 | 用以控制电子设备的计算资源的技术 |
CN110199242A (zh) * | 2017-02-24 | 2019-09-03 | 英特尔公司 | 基于使用参数配置处理器的基本时钟频率 |
KR102256136B1 (ko) * | 2021-04-14 | 2021-05-26 | 주식회사 티원엘에스 | 오프셋모드를 활용하여 코어전원을 제어하는 에너지 절감형 컴퓨터 시스템 및 그 제어 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9851774B2 (en) * | 2016-01-04 | 2017-12-26 | Qualcomm Incorporated | Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase |
US20200409450A1 (en) * | 2019-06-28 | 2020-12-31 | Microsoft Technology Licensing, Llc | Software-correlated supply voltages for processing devices |
-
2022
- 2022-06-29 CN CN202210751789.9A patent/CN116027879B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957654A (zh) * | 2010-09-10 | 2011-01-26 | 浪潮电子信息产业股份有限公司 | 一种降低系统能耗的方法 |
CN102819305A (zh) * | 2012-07-30 | 2012-12-12 | 江苏瑞曼信息技术有限公司 | 一种自动调节处理器频率的计算机 |
CN107660278A (zh) * | 2015-06-19 | 2018-02-02 | 英特尔公司 | 用以控制电子设备的计算资源的技术 |
CN110199242A (zh) * | 2017-02-24 | 2019-09-03 | 英特尔公司 | 基于使用参数配置处理器的基本时钟频率 |
KR102256136B1 (ko) * | 2021-04-14 | 2021-05-26 | 주식회사 티원엘에스 | 오프셋모드를 활용하여 코어전원을 제어하는 에너지 절감형 컴퓨터 시스템 및 그 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN116027879A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115599513B (zh) | 资源调度方法及电子设备 | |
CN116028205B (zh) | 资源调度方法和电子设备 | |
US9286120B2 (en) | Resource management with dynamic resource budgeting | |
CN116028210B (zh) | 资源调度方法、电子设备及存储介质 | |
CN116027879B (zh) | 确定参数的方法、电子设备和计算机可读存储介质 | |
US11816042B2 (en) | Platform framework telemetry | |
CN116027880B (zh) | 资源调度方法和电子设备 | |
CN116028211B (zh) | 显卡调度方法、电子设备和计算机可读存储介质 | |
CN116025580B (zh) | 调节风扇转速的方法和电子设备 | |
WO2023221752A1 (zh) | 信息处理方法和电子设备 | |
CN116028207B (zh) | 调度策略确定方法、装置、设备和存储介质 | |
CN117130454A (zh) | 功耗调整方法和电子设备 | |
CN116069209A (zh) | 焦点窗口处理方法、装置、设备和存储介质 | |
US11720161B2 (en) | Platform framework arbitration | |
CN116028209B (zh) | 资源调度方法、电子设备及存储介质 | |
CN116028314B (zh) | 温度参数读取方法、电子设备和计算机可读存储介质 | |
CN116089055B (zh) | 资源调度方法和装置 | |
CN116055443B (zh) | 识别社交场景的方法、电子设备及计算机可读存储介质 | |
CN116028005B (zh) | 音频会话获取方法、装置、设备和存储介质 | |
CN116028208B (zh) | 系统负载确定方法、装置、设备和存储介质 | |
CN116027878A (zh) | 功耗调整方法和电子设备 | |
CN116028206A (zh) | 资源调度方法、电子设备及存储介质 | |
US20220413921A1 (en) | Platform framework orchestration and discovery | |
CN117950935A (zh) | 一种性能调控方法及电子设备 | |
CN114764353A (zh) | 用于信息处置系统(ihs)全系统优化的ml到ml的编排系统和方法 |
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 |