CN110795238A - 负载计算方法、装置、存储介质及电子设备 - Google Patents

负载计算方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN110795238A
CN110795238A CN201910965161.7A CN201910965161A CN110795238A CN 110795238 A CN110795238 A CN 110795238A CN 201910965161 A CN201910965161 A CN 201910965161A CN 110795238 A CN110795238 A CN 110795238A
Authority
CN
China
Prior art keywords
task
response speed
load
cpu
current
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
CN201910965161.7A
Other languages
English (en)
Other versions
CN110795238B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201910965161.7A priority Critical patent/CN110795238B/zh
Publication of CN110795238A publication Critical patent/CN110795238A/zh
Application granted granted Critical
Publication of CN110795238B publication Critical patent/CN110795238B/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/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
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

本申请实施例公开了一种负载计算方法、装置、存储介质及电子设备,方法包括:获取在当前时间窗口内中央处理器CPU上运行的任务集合;获取所述任务集合中各任务对应的响应速度等级;基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,所述当前时刻为所述当前时间窗口的起始时刻。因此,采用本申请实施例,考虑了每个任务的响应速度,并基于响应速度对任务进行了分级,对不同等级的任务额外增加不同的负载权重,使得计算出的CPU上的负载值更接近实际值。

Description

负载计算方法、装置、存储介质及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种负载计算方法、装置、存储介质及电子设备。
背景技术
Linux内核中的动态电压频率调整(Dynamic voltage and frequency scaling,DVFS)策略是关系到操作系统响应速度、功耗表现、运行时间的关键策略,DVFS的具体调频算法与负载跟踪机制密不可分,正常情况下,DVFS会根据负载跟踪的结果驱动CPU的调频处理。
目前,常采用的负载跟踪机制包括PELT机制和WALT机制。其中,PELT机制通过跟踪每个任务的方式以对CPU的整体负载进行跟踪,每个负载的最终负载值仅考虑了每个任务的抢占能力(weight值)的影响。而WALT机制是将负载跟踪按照一定的时间窗口进行分割,每个窗口又再次分割为更细粒度的小窗口,取每个小窗口中的最大负载值,平均负载值或者最小负载值作为此窗口的负载值,通过导出用户态的配置接口从而对WALT中具体使用哪种负载值(最大负载值,平均负载值或者最小负载值)进行配置,以满足不同的性能、功耗需求,同样的,此过程也仅考虑了每个任务的weight的影响。
由于现有的负载跟踪机制所计算的负载值仅依赖weight值,而不同任务具有不同的响应速度(响应延时),这种方式对于响应速度需求较快的任务,其计算出的负载值不准确,从而导致CPU上的负载值不准确,进而影响DVFS对CPU的调频结果。
发明内容
本申请实施例提供了一种负载计算方法、装置、存储介质及电子设备,可以使得计算出的CPU上的负载值更接近实际值。所述技术方案如下:
第一方面,本申请实施例提供了一种负载计算方法,所述方法包括:
获取在当前时间窗口内中央处理器CPU上运行的任务集合;
获取所述任务集合中各任务对应的响应速度等级;
基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,所述当前时刻为所述当前时间窗口的起始时刻。
第二方面,本申请实施例提供了一种负载计算装置,所述装置包括:
集合获取模块,用于获取在当前时间窗口内CPU上运行的任务集合;
等级获取模块,用于获取所述任务集合中各任务对应的响应速度等级;
负载计算模块,用于基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,所述当前时刻为所述当前时间窗口的起始时刻。
结果生成模块,用于当确定不存在下一个网络节点时,生成推理计算结果。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,通过获取在当前时间窗口内CPU上运行的任务集合,并获取所述任务集合中各任务对应的响应速度等级,再根据所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,从而实现CPU的负载跟踪过程。由于考虑了每个任务的响应速度,并基于响应速度对任务进行了分级,将负载跟踪与每个任务对CPU响应速度的不同进行统一管理,即对不同等级的任务额外增加不同的负载权重,使得计算出的CPU上的负载值更接近实际值,可以使得响应速度要求比较高的任务可以获取更高的负载值,进而通过DVFS调频可以获取到更高的CPU频率,响应更快,对于响应速度要求比较低的任务,其计算的负载值将会比较低,从而运行在较低的CPU频率上,可以更加省电。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种负载计算方法的流程示意图;
图2是本申请实施例提供的一种负载计算方法的流程示意图;
图3是本申请实施例提供的一种负载计算装置的结构示意图;
图4是本申请实施例提供的一种负载计算装置的结构示意图;
图5是本申请实施例提供的一种负载计算模块的结构示意图;
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面将结合附图1-附图2,对本申请实施例提供的负载计算方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的负载计算装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的负载计算装置可以为用户终端,所述用户终端包括但不限于:智能手机、个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。
请参见图1,为本申请实施例提供的一种负载计算方法的流程示意图。如图1所示,本申请实施例的所述方法可以包括以下步骤:
S101,获取在当前时间窗口内中央处理器CPU上运行的任务集合;
可以理解的是,时间窗口是指从某个时刻开始后的一段时长,是周期性的。当前时间窗口指从当前时刻开始未来的一段时长,即周期性时间窗口中以当前时刻为起点的时间窗口。
在每个时间窗口内有不同的任务运行,所占用的CPU负载不同。但对于每个时间窗口均采用相同的方式确定CPU负载。在本申请实施例中,以当前时间窗口为例进行说明。
在当前时间窗口内的任务集合包括至少一个任务,每个任务可以看做一个线程。通常在一个进程中可以包含至少一个线程。线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统多个程序间并发执行的程度。
通常,一个运行进程具有以下三种基本状态:就绪(Ready)态、执行(Running)态和阻塞(Blocked)态。
其中,当进程具备运行条件(已分配到除CPU以外的所有必要的资源),只要获得CPU便可立即执行,这时的进程状态称为就绪态。
当进程已获得CPU,其程序正在CPU上执行,此时的进程状态称为执行态。
正在执行的进程,由于等待某个事件发生而无法执行时,便放弃CPU而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信号等。
对于每个任务,其运行状态与所属进程的运行状态相同。在本申请实施例中,所述运行的任务集合对应的运行状态包括就绪(Ready)态和/或执行(Running)态。
具体实现中,检测在当前时间窗口内,各任务的运行状态,并将运行状态为就绪(Ready)态或执行(Running)态的任务添加到任务集合中。
S102,获取所述任务集合中各任务对应的响应速度等级;
响应速度等级是指各任务对CPU频率的需求程度,对响应速度的需求程度,由各任务的自身性能决定。
一种可行的实现方式为,各任务的响应速度等级可以从父进程继承,即获取创建所述任务集合中各任务的父进程对应的响应速度等级,将所述父进程对应的响应速度等级确定为所述各任务对应的响应速度等级。
另一种可行的实现方式为,基于响应速度等级与任务的对应关系,获取所述任务集合中各任务对应的响应速度等级。可以理解为,在系统中预先记录了各任务的响应速度,并定义了多个响应速度等级,基于各任务的响应速度确定所属的响应速度等级,并建立任务与响应速度的对应关系。
S103,基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,所述当前时刻为所述当前时间窗口的起始时刻。
中央处理器(Central Processing Unit,CPU),是一个计算机的运算核心和控制核心,是信息处理、程序运行的最终执行单元。CPU包含运算逻辑部件、寄存器部件和控制部件等,并具有处理指令、执行操作、控制时间、处理数据等功能。
CPU的性能主要体现在其运行程序的速度上。影响运行速度的性能指标包括CPU的工作频率、Cache容量、指令系统和逻辑结构等参数。CPU负载就是CPU使用率,当CPU使用率较大时,导致CPU运行速度慢,可通过CPU调频限制CPU的使用。
具体实现中,获取预先设置的各响应速度等级对应的权重值,根据各任务对应的响应速度等级,从而确定各任务对应的权重值,再根据当前时刻CPU的负载以及最大负载,计算得到各任务所需负载。
例如,将响应速度分为10个等级(0等级~9等级),每个等级额外增加不同比例的负载值。比如最大的负载值为1024,则响应速度等级为0等级的任务进入就绪态之后,其最终的load值为“原始load+(1024-原始load)*0%”,响应速度等级为1等级的任务进入就绪态之后,其最终的load值为“原始load+(1024-原始load)*10%”,响应速度等级为2等级的任务进入就绪态之后,其最终的load值为“原始load+(1024-原始load)*20%”,以此类推。如果上述load值最终值大于1024,则取为1024。其中,原始load为当前时刻CPU的真实负载。
在得到任务集合中各任务的负载后,将所有任务的负载进行求和,并将所得到的和值作为CPU在当前时间窗口内的负载。
在本申请实施例中,通过获取在当前时间窗口内CPU上运行的任务集合,并获取所述任务集合中各任务对应的响应速度等级,再根据所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,从而实现CPU的负载跟踪过程。由于考虑了每个任务的响应速度,并基于响应速度对任务进行了分级,将负载跟踪与每个任务对CPU响应速度的不同进行统一管理,即对不同等级的任务额外增加不同的负载权重,使得计算出的CPU上的负载值更接近实际值,可以使得响应速度要求比较高的任务可以获取更高的负载值,进而通过DVFS调频可以获取到更高的CPU频率,响应更快,对于响应速度要求比较低的任务,其计算的负载值将会比较低,从而运行在较低的CPU频率上,可以更加省电。
请参见图2,为本申请实施例提供的一种负载计算方法的流程示意图。图2所示实施例相对于图1所示实施例的不同之处在于,强调了获取响应速度等级的具体方式、对响应速度等级的调整以及基于当前时间窗口内的负载进行CPU调频的过程,该负载计算方法可以包括以下步骤:
S201,获取在当前时间窗口内中央处理器CPU上运行的任务集合;
具体可参见S101,此处不再赘述。
S202,基于响应速度等级与任务的对应关系,获取所述任务集合中各任务对应的响应速度等级;
将系统中的任务按照延迟的要求程度划分为10个等级(响应速度等级),每个等级分配额外的权重值,代表每个任务对CPU频率的需求程度,也就是对响应速度的需求程度。为了描述方便,将响应速度等级计为urgent_level。
例如,将urgent_level分为为0等级~9等级共10个等级,urgent_level为0等级的任务其对应的权重值为(最大值-原始load)*0%,urgent_level为1等级的任务其对应的权重值为(最大值-原始load)*10%,urgent_level为2等级的任务其对应的权重值为(最大值-原始load)*20%,依此类推。
具体实现中,在系统中预先记录了各任务的响应速度,并定义了多个响应速度等级,基于各任务的响应速度确定所属的响应速度等级,建立任务与响应速度的对应关系。根据响应速度等级与任务的对应关系,从而确定所述任务集合中各任务对应的响应速度等级。
例如,任务集合包括A1~A10共10个任务,根据这10个任务的响应速度需求,从而得到各自对应的响应速度等级urgent_level,并生成表1。
表1
任务 响应速度等级 权重值
A1 0 (最大值-原始值)*0%
A3 1 (最大值-原始值)*10%
A5 2 (最大值-原始值)*20%
A2 9 (最大值-原始值)*90%
S203,获取所述各任务的优先级,基于所述优先级对所述各任务的响应速度等级进行调整;
任务的优先级通常由任务的一个或多个特征参数来确定,如截止期、空闲时间或关键性(任务的重要程度)等,而仅仅根据某个特征参数来确定是不够的。
当实时任务到达时,指派一个优先级,进入任务队列。在任务队列中,优先级最高的任务排在第一位,由高到低顺序排列。
优先级调度法主要有单调速率算法、截止期最早最优先、空闲时间最短最优先、最早放行最优先、可达截止期最早最优先、截止最高最优先等策略。按照优先级调度法对各任务的响应速度等级进行调整,从而得到重新排列后的各任务与响应速度等级的对应关系。此过程综合考虑各任务的响应速度以及优先级,从而可以获取更快的响应速度,由于不是全局提升load值或频率值,其造成的功耗的影响都是值得的,可应用于游戏优化、触摸响应优化等技术中。并可得到更准确地对应关系,例如生成表2。
表2
Figure BDA0002230247520000071
Figure BDA0002230247520000081
S204,基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述各任务分别对应的负载,所述当前时刻为所述当前时间窗口的起始时刻;
具体的,首先获取所述各任务中的当前任务,然后获取所述CPU在当前时刻的当前负载,计算最大负载与所述当前负载的差值,并计算所述差值与所述当前任务所属响应速度等级对应的权重值的乘积,计算所述乘积与所述当前负载的第二和值,将所述第二和值作为所述当前任务对应的负载。按照相同的方式计算当前任务的下一个任务,当确定不存在下一个任务时,表明所有任务的负载计算完成。
例如,A1~A10对应的负载分别为Load1~Load10,CPU当前负载为Load0,最大负载为最大Load,最大负载与当前负载的差值为(最大Load-Load0),若当前任务为A1,那么,A1对应的负载Load1=Load0+(最大Load-Load0)*0%,下一个任务为A2,按照相同的方式计算A2对应的负载Load2=Load0+(最大Load-Load0)*10%,再继续计算下一个任务A3,Load3=Load0+(最大Load-Load0)*20%,…,Load10=Load0+(最大Load-Load0)*90%。
S205,计算所述各任务分别对应的负载的第一和值,将所述第一和值作为所述CPU在所述当前时间窗口内的负载;
CPU在所述当前时间窗口内的负载Load=Load1+Load2+…+Load10。
S206,根据动态电压频率调整策略以及所述负载,对所述CPU进行调频处理。
CPU的性能主要体现在其运行程序的速度上。影响运行速度的性能指标包括CPU的工作频率、Cache容量、指令系统和逻辑结构等参数。CPU负载就是CPU使用率,结合CPU负载对CPU频率进行调整,以维持CPU在合适的运行速度上运行。
其中,低于正常频率可以省电降温延长使用寿命,但不宜太低,太低系统会出错,高于正常频率叫超频,超频一般通过提高运行电压来实现。
CPU频率包括以下几种模式:
Ondemand(按需响应模式):系统默认的超频模式,在最大最小频率之间自动调整;
Interactive(交流循环模式):系统运行频率直接上最高值,然后CPU负荷慢慢降低,在此模式下系统响应最快,耗电较多;
Conservative(保守模式):随着CPU负荷加大,逐步提升频率到最高,然后降至最低,在此模式下系统响应快,相对Interactive更省电耗电;
smartass:是Interactive和Conservative的升级,实际CPU不会降到最低,响应快,待机耗电;
performance(高性能模式):按照设定范围的最优频率运行,此模式下系统最流畅,当耗电也最大;
userspace(用户隔离模式):当控制器处于非工作状态时控制CPU速度的一种模式;
powersave(省电模式):按设定最小频率低负荷运行,省电但系统响应速度慢;
lagthree(不受延迟模式):一种CPU调节策略,倾向于节省电量。
具体实现中,DVFS根据上述负载以及系统负荷自动优化CPU的电压和运行频率,从而调整到上述适配的某一模式下工作。
在本申请实施例中,通过获取在当前时间窗口内CPU上运行的任务集合,并获取所述任务集合中各任务对应的响应速度等级,再根据所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,从而实现CPU的负载跟踪过程。由于考虑了每个任务的响应速度,并基于响应速度对任务进行了分级,将负载跟踪与每个任务对CPU响应速度的不同进行统一管理,即对不同等级的任务额外增加不同的负载权重,使得计算出的CPU上的负载值更接近实际值,可以使得响应速度要求比较高的任务可以获取更高的负载值,进而通过DVFS调频可以获取到更高的CPU频率,响应更快,避免由于提频不及时造成系统出现卡顿。对于响应速度要求比较低的任务,其计算的负载值将会比较低,从而运行在较低的CPU频率上,可以更加省电。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图3,其示出了本申请一个示例性实施例提供的负载计算装置的结构示意图。该负载计算装置可以通过软件、硬件或者两者的结合实现成为用户终端的全部或一部分。该装置1包括集合获取模块10、等级获取模块20和负载计算模块30。
集合获取模块10,用于获取在当前时间窗口内CPU上运行的任务集合;
等级获取模块20,用于获取所述任务集合中各任务对应的响应速度等级;
负载计算模块30,用于基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,所述当前时刻为所述当前时间窗口的起始时刻。
可选的,如图4所示,所述装置还包括:
调频处理模块40,用于根据动态电压频率调整策略以及所述负载,对所述CPU进行调频处理。
可选的,如图5所示,负载计算模块30,包括:
第一负载计算单元301,用于基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述各任务分别对应的负载;
第二负载计算单元302,用于计算所述各任务分别对应的负载的第一和值,将所述第一和值作为所述CPU在所述当前时间窗口内的负载。
可选的,所述第一负载计算单元301,具体用于:
获取所述各任务中的当前任务;
获取所述CPU在当前时刻的当前负载,计算最大负载与所述当前负载的差值;
计算所述差值与所述当前任务所属响应速度等级对应的权重值的乘积,计算所述乘积与所述当前负载的第二和值,将所述第二和值作为所述当前任务对应的负载;
获取所述当前任务的下一个任务,将所述下一个任务作为当前任务,并执行所述计算所述差值与所述当前任务所属响应速度等级对应的权重值的乘积的步骤;
当确定不存在下一个任务时,生成所述各任务分别对应的负载。
可选的,所述等级获取模块20,具体用于:
获取创建所述任务集合中各任务的父进程对应的响应速度等级;
将所述父进程对应的响应速度等级确定为所述各任务对应的响应速度等级。
可选的,所述等级获取模块20,具体用于:
基于响应速度等级与任务的对应关系,获取所述任务集合中各任务对应的响应速度等级。
可选的,如图4所示,所述装置还包括:
等级调整模块50,用于获取所述各任务的优先级,基于所述优先级对所述各任务的响应速度等级进行调整。
需要说明的是,上述实施例提供的负载计算装置在执行负载计算方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的负载计算装置与负载计算处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,通过获取在当前时间窗口内CPU上运行的任务集合,并获取所述任务集合中各任务对应的响应速度等级,再根据所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,从而实现CPU的负载跟踪过程。由于考虑了每个任务的响应速度,并基于响应速度对任务进行了分级,将负载跟踪与每个任务对CPU响应速度的不同进行统一管理,即对不同等级的任务额外增加不同的负载权重,使得计算出的CPU上的负载值更接近实际值,可以使得响应速度要求比较高的任务可以获取更高的负载值,进而通过DVFS调频可以获取到更高的CPU频率,响应更快,避免由于提频不及时造成系统出现卡顿。对于响应速度要求比较低的任务,其计算的负载值将会比较低,从而运行在较低的CPU频率上,可以更加省电。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图2所示实施例的方法步骤,具体执行过程可以参见图1-图2所示实施例的具体说明,在此不进行赘述。
请参见图6,为本申请实施例提供了一种电子设备的结构示意图。如图6所示,所述电子设备1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及负载计算应用程序。
在图6所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的负载计算应用程序,并具体执行以下操作:
获取在当前时间窗口内中央处理器CPU上运行的任务集合;
获取所述任务集合中各任务对应的响应速度等级;
基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,所述当前时刻为所述当前时间窗口的起始时刻。
在一个实施例中,所述处理器1001在执行计算所述CPU在所述时间窗口内的负载之后,还执行以下操作:
根据动态电压频率调整策略以及所述负载,对所述CPU进行调频处理。
在一个实施例中,所述处理器1001在执行基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载时,具体执行以下操作:
基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述各任务分别对应的负载;
计算所述各任务分别对应的负载的第一和值,将所述第一和值作为所述CPU在所述当前时间窗口内的负载。
在一个实施例中,所述处理器1001在执行基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述各任务分别对应的负载时,具体执行以下操作:
获取所述各任务中的当前任务;
获取所述CPU在当前时刻的当前负载,计算最大负载与所述当前负载的差值;
计算所述差值与所述当前任务所属响应速度等级对应的权重值的乘积,计算所述乘积与所述当前负载的第二和值,将所述第二和值作为所述当前任务对应的负载;
获取所述当前任务的下一个任务,将所述下一个任务作为当前任务,并执行所述计算所述差值与所述当前任务所属响应速度等级对应的权重值的乘积的步骤;
当确定不存在下一个任务时,生成所述各任务分别对应的负载。
在一个实施例中,所述处理器1001在执行获取所述任务集合中各任务对应的响应速度等级时,具体执行以下操作:
获取创建所述任务集合中各任务的父进程对应的响应速度等级;
将所述父进程对应的响应速度等级确定为所述各任务对应的响应速度等级。
在一个实施例中,所述处理器1001在执行获取所述任务集合中各任务对应的响应速度等级时,具体执行以下操作:
基于响应速度等级与任务的对应关系,获取所述任务集合中各任务对应的响应速度等级。
在一个实施例中,所述处理器1001在执行获取所述任务集合中各任务对应的响应速度等级之后,还执行以下操作:
获取所述各任务的优先级,基于所述优先级对所述各任务的响应速度等级进行调整。
在本申请实施例中,通过获取在当前时间窗口内CPU上运行的任务集合,并获取所述任务集合中各任务对应的响应速度等级,再根据所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,从而实现CPU的负载跟踪过程。由于考虑了每个任务的响应速度,并基于响应速度对任务进行了分级,将负载跟踪与每个任务对CPU响应速度的不同进行统一管理,即对不同等级的任务额外增加不同的负载权重,使得计算出的CPU上的负载值更接近实际值,可以使得响应速度要求比较高的任务可以获取更高的负载值,进而通过DVFS调频可以获取到更高的CPU频率,响应更快,避免由于提频不及时造成系统出现卡顿。对于响应速度要求比较低的任务,其计算的负载值将会比较低,从而运行在较低的CPU频率上,可以更加省电。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (10)

1.一种负载计算方法,其特征在于,所述方法包括:
获取在当前时间窗口内中央处理器CPU上运行的任务集合;
获取所述任务集合中各任务对应的响应速度等级;
基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,所述当前时刻为所述当前时间窗口的起始时刻。
2.根据权利要求1所述的方法,其特征在于,所述计算所述CPU在所述时间窗口内的负载之后,还包括:
根据动态电压频率调整策略以及所述负载,对所述CPU进行调频处理。
3.根据权利要求1所述的方法,其特征在于,所述基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,包括:
基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述各任务分别对应的负载;
计算所述各任务分别对应的负载的第一和值,将所述第一和值作为所述CPU在所述当前时间窗口内的负载。
4.根据权利要求3所述的方法,其特征在于,所述基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述各任务分别对应的负载,包括:
获取所述各任务中的当前任务;
获取所述CPU在当前时刻的当前负载,计算最大负载与所述当前负载的差值;
计算所述差值与所述当前任务所属响应速度等级对应的权重值的乘积,计算所述乘积与所述当前负载的第二和值,将所述第二和值作为所述当前任务对应的负载;
获取所述当前任务的下一个任务,将所述下一个任务作为当前任务,并执行所述计算所述差值与所述当前任务所属响应速度等级对应的权重值的乘积的步骤;
当确定不存在下一个任务时,生成所述各任务分别对应的负载。
5.根据权利要求1所述的方法,其特征在于,所述获取所述任务集合中各任务对应的响应速度等级,包括:
获取创建所述任务集合中各任务的父进程对应的响应速度等级;
将所述父进程对应的响应速度等级确定为所述各任务对应的响应速度等级。
6.根据权利要求1所述的方法,其特征在于,所述获取所述任务集合中各任务对应的响应速度等级,包括:
基于响应速度等级与任务的对应关系,获取所述任务集合中各任务对应的响应速度等级。
7.根据权利要求1所述的方法,其特征在于,所述获取所述任务集合中各任务对应的响应速度等级之后,还包括:
获取所述各任务的优先级,基于所述优先级对所述各任务的响应速度等级进行调整。
8.一种负载计算装置,其特征在于,所述装置包括:
集合获取模块,用于获取在当前时间窗口内CPU上运行的任务集合;
等级获取模块,用于获取所述任务集合中各任务对应的响应速度等级;
负载计算模块,用于基于所述各任务对应的响应速度等级、各响应速度等级对应的权重值以及所述CPU在当前时刻的当前负载,计算所述CPU在所述当前时间窗口内的负载,所述当前时刻为所述当前时间窗口的起始时刻。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7任意一项的方法步骤。
CN201910965161.7A 2019-10-11 2019-10-11 负载计算方法、装置、存储介质及电子设备 Active CN110795238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910965161.7A CN110795238B (zh) 2019-10-11 2019-10-11 负载计算方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910965161.7A CN110795238B (zh) 2019-10-11 2019-10-11 负载计算方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN110795238A true CN110795238A (zh) 2020-02-14
CN110795238B CN110795238B (zh) 2023-09-01

Family

ID=69438980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910965161.7A Active CN110795238B (zh) 2019-10-11 2019-10-11 负载计算方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN110795238B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831443A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 处理器状态调整方法、装置、存储介质及电子设备
CN113407338A (zh) * 2021-05-29 2021-09-17 国网辽宁省电力有限公司辽阳供电公司 一种分段架构的a/d转换芯片资源分配方法
CN113656155A (zh) * 2021-07-21 2021-11-16 广州三七互娱科技有限公司 任务处理方法、装置、计算机设备和存储介质
WO2022012232A1 (zh) * 2020-07-17 2022-01-20 上海科技大学 一种基于dvfs的优化重配置算法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111337A (zh) * 2011-03-14 2011-06-29 浪潮(北京)电子信息产业有限公司 任务调度方法和系统
WO2017206903A1 (zh) * 2016-05-31 2017-12-07 广东欧珀移动通信有限公司 应用控制方法及相关设备
CN109032801A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种请求调度方法、系统及电子设备和存储介质
CN109710412A (zh) * 2018-12-28 2019-05-03 广州市巨硅信息科技有限公司 一种基于动态反馈的Nginx负载均衡方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111337A (zh) * 2011-03-14 2011-06-29 浪潮(北京)电子信息产业有限公司 任务调度方法和系统
WO2017206903A1 (zh) * 2016-05-31 2017-12-07 广东欧珀移动通信有限公司 应用控制方法及相关设备
CN109032801A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种请求调度方法、系统及电子设备和存储介质
CN109710412A (zh) * 2018-12-28 2019-05-03 广州市巨硅信息科技有限公司 一种基于动态反馈的Nginx负载均衡方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831443A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 处理器状态调整方法、装置、存储介质及电子设备
WO2022012232A1 (zh) * 2020-07-17 2022-01-20 上海科技大学 一种基于dvfs的优化重配置算法
US11537774B2 (en) 2020-07-17 2022-12-27 Shanghaitech University Optimized reconfiguration algorithm based on dynamic voltage and frequency scaling
CN113407338A (zh) * 2021-05-29 2021-09-17 国网辽宁省电力有限公司辽阳供电公司 一种分段架构的a/d转换芯片资源分配方法
CN113656155A (zh) * 2021-07-21 2021-11-16 广州三七互娱科技有限公司 任务处理方法、装置、计算机设备和存储介质
CN113656155B (zh) * 2021-07-21 2024-04-12 广州三七互娱科技有限公司 任务处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN110795238B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN110795238A (zh) 负载计算方法、装置、存储介质及电子设备
CN104239152B (zh) 用于提高事件处理的涡轮加速性能的方法和装置
US11243806B2 (en) System on chip including a multi-core processor and task scheduling method thereof
KR102490908B1 (ko) 자원 스케줄링 방법 및 단말 장치
US10467054B2 (en) Resource management method and system, and computer storage medium
CN113515382B (zh) 云资源的分配方法、装置、电子设备及存储介质
US9652027B2 (en) Thread scheduling based on performance state and idle state of processing units
CN111861412B (zh) 面向完成时间优化的科学工作流调度方法及系统
Yoo et al. Integrated scheduling of real-time and interactive tasks for configurable industrial systems
CN113342477B (zh) 一种容器组部署方法、装置、设备及存储介质
US20120254822A1 (en) Processing optimization load adjustment
CN114217966A (zh) 基于资源调整的深度学习模型动态批处理调度方法和系统
CN110795323A (zh) 负载统计方法、装置、存储介质及电子设备
CN115586961A (zh) 一种ai平台计算资源任务调度方法、装置及介质
CN108574600B (zh) 云计算服务器的功耗和资源竞争协同控制的服务质量保障方法
US11954518B2 (en) User-defined metered priority queues
WO2023216500A1 (zh) 智算中心的算力资源部署方法、装置、设备及存储介质
CN115470901B (zh) 支持移动端异构处理器分载的混合精度训练方法及设备
CN110806918A (zh) 基于深度学习神经网络的虚拟机运行方法和装置
CN116795503A (zh) 任务调度方法、任务调度装置、图形处理器及电子设备
CN115269145A (zh) 一种面向海上无人设备的高能效异构多核调度方法及装置
CN117546122A (zh) 使用服务质量(qos)的功率预算管理
CN114116220A (zh) 一种gpu共享控制方法、gpu共享控制装置及存储介质
US9778960B2 (en) Thermal prioritized computing application scheduling
CN110955644A (zh) 一种存储系统的io控制方法、装置、设备及存储介质

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