CN110673958B - 调频方法、调频装置、存储介质与电子设备 - Google Patents

调频方法、调频装置、存储介质与电子设备 Download PDF

Info

Publication number
CN110673958B
CN110673958B CN201910939714.1A CN201910939714A CN110673958B CN 110673958 B CN110673958 B CN 110673958B CN 201910939714 A CN201910939714 A CN 201910939714A CN 110673958 B CN110673958 B CN 110673958B
Authority
CN
China
Prior art keywords
frequency modulation
operated
task group
tasks
task
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
Application number
CN201910939714.1A
Other languages
English (en)
Other versions
CN110673958A (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.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent 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 Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN201910939714.1A priority Critical patent/CN110673958B/zh
Publication of CN110673958A publication Critical patent/CN110673958A/zh
Application granted granted Critical
Publication of CN110673958B publication Critical patent/CN110673958B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

本公开提供了一种调频方法、调频装置、存储介质与电子设备,涉及计算机技术领域。该方法包括:响应于待运行任务组满足预设状态,检测快速调频模式当前的状态;当所述快速调频模式为开启状态时,调用预设的实时调频线程根据所述运行队列中的任务进行调频;当所述快速调频模式为关闭状态时,调用原生的调度器根据所述待运行任务组的负载参数进行调频。本公开可以解决相关技术中调频具有滞后性的问题,提高调频的针对性和时效性,改善调频后对于任务运行的实际加速效果,并具有较高的灵活性。

Description

调频方法、调频装置、存储介质与电子设备
技术领域
本公开涉及计算机技术领域,尤其涉及一种调频方法、调频装置、计算机可读存储介质与电子设备。
背景技术
调频是指调节电子设备上处理器的运行频率,包括对CPU(Central ProcessingUnit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)等的调频,以提高性能或降低功耗。
相关技术中,调频方法主要包括两种:第一种是从***层级进行统一调频,CPU上运行的任务都得到加速(提频时)或减速(降频时),显然这种方法的针对性较差,使得一部分无需调频的任务也得到调频,造成资源浪费;第二种是从任务层级进行调频,仅针对需要调频的任务进行调频,但是相关技术存在调频和任务运行之间的滞后问题,导致调频的时间晚于任务实际运行的时间,任务并未得到有效的调频优化。
因此,有必要提出一种新的调频方法,以解决上述技术问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种调频方法、调频装置、计算机可读存储介质与电子设备,进而至少在一定程度上提高调频的针对性和时效性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种调频方法,包括:响应于待运行任务组满足预设状态,检测快速调频模式当前的状态;当所述快速调频模式为开启状态时,调用预设的实时调频线程根据所述运行队列中的任务进行调频;当所述快速调频模式为关闭状态时,调用原生的调度器根据所述待运行任务组的负载参数进行调频。
根据本公开的第二方面,提供一种调频装置,包括:状态检测模块,用于响应于待运行任务组满足预设状态,检测快速调频模式当前的状态;第一调频模块,用于当所述快速调频模式为开启状态时,调用预设的实时调频线程根据所述运行队列中的任务进行调频;第二调频模块,用于当所述快速调频模式为关闭状态时,调用原生的调度器根据所述待运行任务组的负载参数进行调频。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述调频方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述调频方法。
本公开的技术方案具有以下有益效果:
根据上述调频方法、调频装置、计算机可读存储介质与电子设备,响应于待运行任务组满足预设状态,当快速调频模式为开启状态时,调用预设的实时调频线程进行调频,当快速调频模式为关闭状态时,调用原生的调度器进行调频。一方面,通过设置快速调频模式以及实时调频线程,在运行性能需求较高的任务时,可以在快速调频模式下,调用实时调频线程,根据运行队列中的任务情况进行快速实时调频,使调频的时间区间和任务运行的时间区间基本重合,从而解决相关技术中调频具有滞后性的问题,提高调频的针对性和时效性,改善调频后对于任务运行的实际加速效果。另一方面,通过控制快速调频模式的开关状态,可以在实时调频线程和原生的调度器之间切换调频机制,实时调频线程可以实现任务级的快速调频,调度器可以从负载的角度实现基于调频的资源调配,从而可以根据实际需求选择合适的调频模式,具有较高的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出相关技术中实际调频结果的示意图;
图2示出本示例性实施方式中一种调频方法的流程图;
图3示出本示例性实施方式中一种调频流程的示意图;
图4示出本示例性实施方式中实际调频结果的示意图;
图5示出本示例性实施方式中一种调频装置的结构框图;
图6示出本示例性实施方式中一种用于实现上述方法的计算机可读存储介质;
图7示出本示例性实施方式中一种用于实现上述方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
相关技术中,以EAS(Energy Aware Scheduling,能源调度策略)中的Schedtune(进程调度)原生机制为例,如图1所示,当运行游戏时,需要通过渲染线程(Render)渲染游戏画面,为了加速渲染过程,减少画面的卡顿,需要进行调频(主要是提频,以提高CPU/GPU性能)。然而,Schetune原生机制存在着较为明显的滞后问题,图1中实际提频区间晚于渲染线程运行的区间,从而影响渲染线程的实际加速效果。
鉴于上述一个或多个问题,本公开的示例性实施方式首先提供一种调频方法,该方法可以应用于计算机、智能手机、平板电脑等各种电子设备。图2示出了该方法的一种流程,可以包括以下步骤S210至S230:
步骤S210,响应于待运行任务组满足预设状态,检测快速调频模式当前的状态。
其中,待运行任务组是由多个待运行任务形成的任务组,例如在Android***中,待运行任务组可以是Boost Group。待运行任务组满足预设状态,是指待运行任务组进入了需要进行调频的状态,例如:生成了需要调频的待运行任务组,待运行任务组开始运行,或者待运行任务组中的多个任务需要同时运行等。快速调频模式是本示例性实施方式中增加的一种调频模式,区别于原生的调频模式,可以实现快速实时调频。***内可以设置快速调频模式的开关,用于开启或关闭快速调频模式,或者设置快速调频模式的状态变量,例如设置Fast Boost变量,当Fast Boost值为On时,表示快速调频模式已开启,当Fast Boost值为Off时,表示快速调频模式已关闭。
关于如何控制快速调频模式的状态,下面提供几种具体实施方式,但下述内容不应对本公开的保护范围造成限定:
(1)可以人为控制快速调频模式的状态,例如在***设置中增加关于快速调频模式的选项,使用户可以自定义开启或关闭快速调频模式。
(2)也可以将快速调频模式的状态和特定的程序关联起来,例如***在运行大型游戏或图形处理软件等对于处理性能要求较高的程序时,可以自动开启快速调频模式,当上述程序关闭时,可以自动关闭快速调频模式。基于此,在一种实施方式中,可以通过以下步骤开启快速调频模式:
当生成待运行任务组时,获取待运行任务组中的任务所属的程序;
如果待运行任务组中的任务所属的程序包括预设程序,则开启快速调频模式。
其中,预设程序是事先确定的需要快速调频模式的程序,例如上述大型游戏或图形处理软件等。由此,在生成每个待运行任务组时,如果其中的任务包括预设程序下的任务,说明当前有预设程序在运行或即将运行,可以开启快速调频模式。进一步的,如果待运行任务组中的任务所属的程序包括预设程序,可以将该待运行任务组标记为快速调频任务组,当***中所有的快速调频任务组运行结束时,即***当前运行的任务组中不包括快速调频任务组时,可以关闭快速调频模式。通过任务组对快速调频模式的开关进行控制,可以提高针对性。
进一步的,也可以将快速调频模式的状态和特定的事件关联起来,例如发生活动(Activity)切换,触屏点击等事件时,可以自动开启快速调频模式。
(3)还可以根据***的负载情况控制快速调频模式的状态,例如在***负载较高,或者运行的进程或线程数量较多的情况下,开启快速调频模式,或者在设备温度较高的情况下,关闭快速调频模式。
需要说明的是,可以采用上述任意多种方式的组合,以控制快速调频模式的开启或关闭。
步骤S220,当快速调频模式为开启状态时,调用预设的实时调频线程根据运行队列中的任务进行调频。
本示例性实施方式中,实时调频线程是基于快速调频模式设置的一个用于快速调频的线程,其原理是读取运行队列中的任务情况,根据任务情况确定需要调频的程度、时间等参数,立即实施调频。当快速调频模式开启时,调用实时调频线程进行调频。具体而言,由于此时运行队列中包括待运行任务组的任务,实时调频线程可以读取该任务的信息,进行调频,如果运行队列还包括其他需要调频的任务,则实时调频线程也可以读取这些任务的信息,进行调频。以待运行任务组中的任务A进入运行队列为例,实时调频线程读取任务A的信息,确定任务A分配至CPU#1运行,则可以对应的提高CPU#1的频率。
步骤S230,当快速调频模式为关闭状态时,调用原生的调度器根据待运行任务组的负载参数进行调频。
其中,原生的调度器可以通过原生机制进行调频。具体而言,调度器可以获取待运行任务组的负载参数,根据该负载参数对***资源进行统一的调度,并确定调频的参数,进行调频。
在一种可选的实施方式中,步骤S230可以具体包括:调用原生的调度器根据待运行任务组的负载参数更新全局负载参数,并根据全局负载参数进行调频。例如,调度器可以获取待运行任务组的Boost参数,并综合其他任务情况,更新全局负载参数Utility,再根据Utility计算所需的CPU/GPU频率,从而进行调频。可见,该过程需要一定的处理及响应时间,无法立即实现调频。相较而言,实时调频线程的响应时间较短,可以实现实时或接近于实时调频的效果。
基于上述内容,本示例性实施方式中,响应于待运行任务组满足预设状态,当快速调频模式为开启状态时,调用预设的实时调频线程进行调频,当快速调频模式为关闭状态时,调用原生的调度器进行调频。一方面,通过设置快速调频模式以及实时调频线程,在运行性能需求较高的任务时,可以在快速调频模式下,调用实时调频线程,根据运行队列中的任务情况进行快速实时调频,使调频的时间区间和任务运行的时间区间基本重合,从而解决相关技术中调频具有滞后性的问题,提高调频的针对性和时效性,改善调频后对于任务运行的实际加速效果。另一方面,通过控制快速调频模式的开关状态,可以在实时调频线程和原生的调度器之间切换调频机制,实时调频线程可以实现任务级的快速调频,调度器可以从负载的角度实现基于调频的资源调配,从而可以根据实际需求选择合适的调频模式,具有较高的灵活性。
由上可知,本示例性实施方式实际是以任务组为单位进行调频的控制。考虑到有些任务组对处理性能要求较高,需要调频,而有些任务组对处理性能要求较低,无需调频。在一种可选的实施方式中,在步骤S210之前,可以先执行以下步骤:
当生成待运行任务组时,获取待运行任务组的负载参数;
根据上述负载参数确定是否需要调频;
当确定需要调频时,执行步骤S210。
其中,负载参数是反映待运行任务组占用***资源多少,或对于性能要求高低的一个或多个指标参数,例如对CPU的占用率、单位时间内运行的数据量等。在生成待运行任务组时,由于还未实际运行其中的任务,负载参数可以通过历史运行数据进行估计,或者通过线程数量等已分配、已确定的参数进行计算得到。根据待运行任务组的负载参数,可以确定当待运行任务组运行时,是否需要调频,具体而言,负载参数高时需要调频,或者当前***剩余资源不足以支持待运行任务组的负载时,需要调频,等等。当确定需要调频时,可以监控待运行任务组的状态,一旦发现触发预设状态,则可以采用图2所示的方法步骤进行调频;当确定不需要调频时,可以在当前处理器频率下正常运行其中的任务。
进一步的,根据负载参数确定是否需要调频,可以具体通过以下方式实现:
根据负载参数计算待运行任务组的最大加速值;
当最大加速值高于预设值时,确定需要调频。
其中,最大加速值是对待运行任务组运行期间所需的最大加速程度的度量,例如可以是Android***中的Boost Max值,可以通过负载参数计算平均加速值,在此基础上通过对待运行任务组峰值情况的估计,以平均加速值加上幅度值计算最大加速值。最大加速值具有估计预测的性质,为了任务能够顺利运行,在计算最大加速值时还可以留出一定的余量,例如基于待运行任务组的峰值,加上一定的余量得到幅度值,并以此计算最大加速值,以保证能够满足任务的性能需求。预设值是对***正常运行能力的度量,可以根据***硬件条件、历史运行数据、经验值等设定,可视为用于衡量是否需要加速的阈值,当最大加速值高于预设值时,说明***正常频率下无法满足任务需求,因而需要调频。通过计算最大加速值,并和预设值进行比较的方式,可以较为准确地估计出待运行任务组的运行状况,以确定是否需要调频,从而减少在无需调频时进行调频的情况,提高***资源的使用效率。
在一种可选的实施方式中,步骤S210中的预设状态可以具体包括:待运行任务组的第一个任务进入运行队列。第一个任务进入运行队列表示待运行任务组开始实际运行,此时执行图2所示的方法步骤,可以进一步提高调频的时效性。
进一步的,在调用预设的实时调频线程根据运行队列中的任务进行调频后,当待运行任务组的最后一个任务运行结束时,可以关闭实时调频线程。其中,在关闭实时调频线程前,可以先恢复处理器的运行频率。最后一个任务运行结束,表示待运行任务组运行结束,此时无需再进行调频,关闭实时调频线程。换而言之,在正常不需要调频的情况下,实时调频线程处于关闭或休眠状态,后续如果生成了其他需要调频的任务组,并且快速调频模式为开启状态,则可以再次启动实时调频线程。
图3示出了一种调频流程的示意图。待运行任务组Boost Group中包括n个任务,分别为Task1、Task2、…、Taskn。当第一个任务Task1进行运行队列Runqueue时,***检测当前Fast Boost变量值;若其值为On,表示快速调频模式为开启状态,则调用实时调频线程根据Runqueue的情况对相应的CPU进行调频,例如Runqueue运行在CPU2上,则实时调频线程调整CPU2的频率,通常是提高运行频率以提高性能;在Boost Group运行期间,若Fast Boost变量值不变,即一直保持为On,则实时调频线程可以持续化进行调频,并且还可以根据Runqueue的实时负载情况进行动态调频;若Fast Boost变量值为Off,表示快速调频模式为关闭状态,则计算Boost Group的最大加速值Boost Max,调用调度器根据Boost Max值更新全局负载参数Utility,再对CPU进行调频;当最后一个任务Taskn运行结束时,同样检测当前的Fast Boost变量值,若为On,则调用实时调频线程将CPU恢复到正常频率,若为Off,则调用调度器,通过计算Utility将CPU恢复到正常频率。需要补充的是,在Boost Group运行期间,调用实时调频线程提高CPU频率后,如果Fast Boost变量值被修改为Off,即关闭了快速调频模式,当Boost Group运行结束时,可以通过调度器恢复CPU频率;相反情况也成立,调用调度器提高CPU频率后,如果Fast Boost变量值被修改为On,即开启了快速调频模式,当Boost Group运行结束时,可以通过实时调频线程恢复CPU频率;即在一次调频中,提频和降频可以通过不同的调频机制实现,本公开对此不做限定。
图4示出了采用本示例性实施方式进行调频时,对游戏程序中的渲染线程进行调频的结果。由图可见,当渲染线程运行时进行提频,运行结束时恢复频率,提频的区间和线程运行的区间基本重合,从而实现了调频的匹配,对于渲染线程的实际加速效果非常明显,有效地改善了游戏画面卡顿等问题。
本公开的示例性实施方式还提供一种调频装置,如图5所示,该调频装置500可以包括:状态检测模块510,用于响应于待运行任务组满足预设状态,检测快速调频模式当前的状态;第一调频模块520,用于当快速调频模式为开启状态时,调用预设的实时调频线程根据运行队列中的任务进行调频;第二调频模块530,用于当快速调频模式为关闭状态时,调用原生的调度器根据待运行任务组的负载参数进行调频。
在一种可选的实施方式中,调频装置500还可以包括:调频判断模块,用于当生成待运行任务组时,获取待运行任务组的负载参数,根据负载参数确定是否需要调频;状态检测模块510,还可以用于在调频判断模块确定需要调频的情况下,响应于待运行任务组满足预设状态,检测快速调频模式当前的状态。
进一步的,调频判断模块可以通过执行以下步骤以确定是否需要调频:根据负载参数计算待运行任务组的最大加速值,当最大加速值高于预设值时,确定需要调频。
在一种可选的实施方式中,状态检测模块510,还可以用于当待运行任务组的第一个任务进入运行队列时,检测快速调频模式当前的状态;
进一步的,第一调频模块520,还可以用于当待运行任务组的最后一个任务运行结束时,关闭实时调频线程。
在一种可选的实施方式中,调频装置500还可以包括:模式控制模块,用于当生成待运行任务组时,获取待运行任务组中的任务所属的程序,以及如果待运行任务组中的任务所属的程序包括预设程序,则开启快速调频模式。
在一种可选的实施方式中,第二调频模块530,还可以用于调用原生的调度器根据待运行任务组的负载参数更新全局负载参数,并根据全局负载参数进行调频。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为***、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
参考图6所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图7来描述根据本公开的这种示例性实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图7所示,电子设备700可以以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同***组件(包括存储单元720和处理单元710)的总线730和显示单元740。
存储单元720存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元710可以执行图2所示的方法步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(ROM)723。
存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

Claims (10)

1.一种调频方法,其特征在于,包括:
当生成待运行任务组时,获取所述待运行任务组中的任务所属的程序;
如果所述待运行任务组中的任务所属的程序包括预设程序,则开启快速调频模式;
响应于所述待运行任务组满足预设状态,检测快速调频模式当前的状态;
当所述快速调频模式为开启状态时,调用预设的实时调频线程根据运行队列中的任务进行调频;
当所述快速调频模式为关闭状态时,调用原生的调度器根据所述待运行任务组的负载参数更新全局负载参数,并根据所述全局负载参数进行调频;
其中,所述调用预设的实时调频线程根据运行队列中的任务进行调频,包括:
调用所述实时调频线程读取任务队列中所述任务的信息,确定用于运行所述任务的处理器,提高该处理器的频率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当生成所述待运行任务组时,获取所述待运行任务组的负载参数;
根据所述负载参数确定是否需要调频;
当确定需要调频时,执行所述响应于待运行任务组满足预设状态,检测快速调频模式当前的状态的步骤。
3.根据权利要求2所述的方法,其特征在于,所述根据所述负载参数确定是否需要调频,包括:
根据所述负载参数计算所述待运行任务组的最大加速值;
当所述最大加速值高于预设值时,确定需要调频。
4.根据权利要求1所述的方法,其特征在于,所述待运行任务组满足预设状态,包括:
所述待运行任务组的第一个任务进入运行队列。
5.根据权利要求4所述的方法,其特征在于,在调用预设的实时调频线程根据所述运行队列中的任务进行调频后,所述方法还包括:
当所述待运行任务组的最后一个任务运行结束时,关闭所述实时调频线程。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所有的快速调频任务组运行结束时,关闭所述快速调频模式;所述快速调频任务组中的任务所属的程序包括所述预设程序。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据***的负载情况控制所述快速调频模式的状态。
8.一种调频装置,其特征在于,包括:
模式控制模块,用于当生成待运行任务组时,获取所述待运行任务组中的任务所属的程序,如果所述待运行任务组中的任务所属的程序包括预设程序,则开启快速调频模式;
状态检测模块,用于响应于所述待运行任务组满足预设状态,检测快速调频模式当前的状态;
第一调频模块,用于当所述快速调频模式为开启状态时,调用预设的实时调频线程根据运行队列中的任务进行调频;
第二调频模块,用于当所述快速调频模式为关闭状态时,调用原生的调度器根据所述待运行任务组的负载参数更新全局负载参数,并根据所述全局负载参数进行调频;
其中,所述调用预设的实时调频线程根据运行队列中的任务进行调频,包括:
调用所述实时调频线程读取任务队列中所述任务的信息,确定用于运行所述任务的处理器,提高该处理器的频率。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7任一项所述的方法。
CN201910939714.1A 2019-09-30 2019-09-30 调频方法、调频装置、存储介质与电子设备 Active CN110673958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910939714.1A CN110673958B (zh) 2019-09-30 2019-09-30 调频方法、调频装置、存储介质与电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910939714.1A CN110673958B (zh) 2019-09-30 2019-09-30 调频方法、调频装置、存储介质与电子设备

Publications (2)

Publication Number Publication Date
CN110673958A CN110673958A (zh) 2020-01-10
CN110673958B true CN110673958B (zh) 2022-07-08

Family

ID=69080404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910939714.1A Active CN110673958B (zh) 2019-09-30 2019-09-30 调频方法、调频装置、存储介质与电子设备

Country Status (1)

Country Link
CN (1) CN110673958B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113487707A (zh) * 2021-06-30 2021-10-08 北京达佳互联信息技术有限公司 网页动画处理方法、装置、电子设备及存储介质
CN115508650A (zh) * 2022-10-13 2022-12-23 西安德纳检验检测有限公司 一种基于多点同步测量的新能源场站调频检测方法和***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866921A (zh) * 2012-08-29 2013-01-09 惠州Tcl移动通信有限公司 一种多核cpu的调控方法及***
CN109960584A (zh) * 2019-01-30 2019-07-02 努比亚技术有限公司 Cpu调频控制方法、终端及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866921A (zh) * 2012-08-29 2013-01-09 惠州Tcl移动通信有限公司 一种多核cpu的调控方法及***
CN109960584A (zh) * 2019-01-30 2019-07-02 努比亚技术有限公司 Cpu调频控制方法、终端及计算机可读存储介质

Also Published As

Publication number Publication date
CN110673958A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
US10191772B2 (en) Dynamic resource configuration based on context
KR102490908B1 (ko) 자원 스케줄링 방법 및 단말 장치
KR101864980B1 (ko) 가상 머신 전력 관리
US9244744B2 (en) Adaptive resource usage limits for workload management
US20140047256A1 (en) Terminal device and method for operating the same
CN110673958B (zh) 调频方法、调频装置、存储介质与电子设备
US9817696B2 (en) Low latency scheduling on simultaneous multi-threading cores
US10680904B2 (en) Determining periodicity of operation status information to predict future operation statuses of resources of the information processing devices
US20120254822A1 (en) Processing optimization load adjustment
CN107624181B (zh) 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备
US10275007B2 (en) Performance management for a multiple-CPU platform
CN115576645A (zh) 一种虚拟处理器调度方法、装置、存储介质及电子设备
CN115080209A (zh) ***资源调度方法、装置、电子设备及存储介质
CN110647401B (zh) 调频方法、调频装置、存储介质与电子设备
US20190086986A1 (en) Achieving a consistent computing device battery drain rate
CN110795323A (zh) 负载统计方法、装置、存储介质及电子设备
CN108415765B (zh) 任务调度方法、装置及智能终端
CN116303132A (zh) 一种数据缓存方法、装置、设备以及存储介质
US11681949B2 (en) Power awareness systems and processes
CN110737320B (zh) 耗电量检测方法、装置、电子设备及存储介质
WO2022039744A1 (en) Temperature control of computing device
CN103562869B (zh) 虚拟化环境下的音频处理方法和设备
CN114003367B (zh) 风险监控方法、装置、设备及存储介质
CN114968551B (zh) 一种进程管理的方法、装置、电子设备及存储介质
CN115576670A (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