CN113626200A - 任务负载计算方法、装置、存储介质以及终端 - Google Patents

任务负载计算方法、装置、存储介质以及终端 Download PDF

Info

Publication number
CN113626200A
CN113626200A CN202110978001.3A CN202110978001A CN113626200A CN 113626200 A CN113626200 A CN 113626200A CN 202110978001 A CN202110978001 A CN 202110978001A CN 113626200 A CN113626200 A CN 113626200A
Authority
CN
China
Prior art keywords
core
processor
frequency
task
target
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.)
Withdrawn
Application number
CN202110978001.3A
Other languages
English (en)
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 CN202110978001.3A priority Critical patent/CN113626200A/zh
Publication of CN113626200A publication Critical patent/CN113626200A/zh
Withdrawn legal-status Critical Current

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

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

任务负载计算方法、装置、存储介质以及终端
技术领域
本申请涉及数据处理技术领域,尤其涉及一种任务负载计算方法、装置、存储介质以及终端。
背景技术
随着科学技术的发展,终端越来越多地出现在人们的日常生活中,终端通过处理器执行指令对应的任务实现各种功能,因此关于任务执行过程也成为本领域技术人员研究的重点之一。
为了便于对处理器执行任务的过程进行优化,通常需要知道任务的负载,也即处理器执行任务时所占用的处理器资源。在相关技术中,一般通过某一个标准的机能测试规范先计算出处理器的最大算力,然后根据处理器的最大算力来计算任务的负载。
但是处理器的实际算力会根据处理器执行任务的场景发生变化,因此上述通过标准的机能测试规范计算任务的负载的方法存在不准确的问题。
发明内容
本申请提供一种任务负载计算方法、装置、存储介质以及终端,可以解决相关技术中通过标准的机能测试规范计算任务的负载的方法存在不准确的技术问题。
第一方面,本申请实施例提供一种任务负载计算方法,所述方法包括:
获取处理器在目标场景中处理任务时产生的指令数据,根据所述指令数据确定所述处理器在所述目标场景中对应的算力与频率关系;
获取所述处理器中第一核心处理所述目标场景中目标任务的第一运行时间以及当前运行频率,根据所述第一运行时间、所述当前运行频率以及所述算力与频率关系确定所述处理器中第二核心以最高算力处理所述目标任务的第二运行时间;
根据所述第二运行时间与窗口时间计算出所述目标任务的负载。
第二方面,本申请实施例提供一种任务负载计算装置,所述装置包括:
算力关系获取模块,用于获取处理器在目标场景中处理任务时产生的指令数据,根据所述指令数据确定所述处理器在所述目标场景中对应的算力与频率关系;
运行时间确定模块,用于获取所述处理器中第一核心处理所述目标场景中目标任务的第一运行时间以及当前运行频率,根据所述第一运行时间、所述当前运行频率以及所述算力与频率关系确定所述处理器中第二核心以最高算力处理所述目标任务的第二运行时间;
负载计算模块,用于根据所述第二运行时间与窗口时间计算出所述目标任务的负载。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行实现上述的方法的步骤。
第四方面,本申请实施例提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
本申请提供一种任务负载计算方法,首先获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系;然后获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间;最后根据第二运行时间与窗口时间计算出目标任务的负载。由于处理器在目标场景中对应的算力与频率关系是通过处理器在目标场景中处理任务时产生的指令数据得到的,因此通过算力与频率关系得到处理器在处理目标任务的算力时更加符合实际场景、更加准确,进而使得计算出目标任务的负载也更加准确。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种任务负载计算方法的示例性系统架构图;
图2为本申请实施例提供的一种任务负载计算方法的系统交互图;
图3为本申请实施例提供的一种任务负载计算方法的流程示意图;
图4为本申请另一实施例提供的一种任务负载计算方法的流程示意图;
图5为本申请另一实施例提供的一种任务负载计算装置的结构示意图;
图6为本申请实施例提供了一种终端的结构示意图。
具体实施方式
为使得本申请的特征和优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1为本申请实施例提供的一种任务负载计算方法的示例性系统架构图。
如图1所示,系统架构可以包括终端101、网络102和服务器103。网络102用于在终端101和服务器103之间提供通信链路的介质。网络102可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(Wireless-Fidelity,Wi-Fi)通信链路或微波通信链路等。
终端101可以通过网络102与服务器103交互,以接收来自服务器103的消息或向服务器103发送消息。终端101可以是硬件,也可以是软件。当终端101为硬件时,可以是各种电子设备,包括但不限于智能手表、智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当终端101为软件时,可以是安装在上述所列举的电子设备中,其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
服务器103可以是提供各种服务的业务服务器。需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
应理解,图1中的终端、网络以及服务器的数目仅是示意性的,根据实现需要,可以是任意数量的终端、网络以及服务器。
请参阅图2,图2为本申请实施例提供的一种任务负载计算方法的系统交互图,可以理解的,在本申请实施例中,执行主体可以终端或者终端中的处理器,还可以是终端中执行任务负载计算方法的相关服务,为方便描述下面以执行主体为终端中的处理器为例,结合图1和图2介绍一种任务负载计算方法中系统交互过程。
S201、获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系。
其中,获取处理器在目标场景中处理任务时产生的指令数据之前,还包括:判断处理器在目标场景中处理任务时产生的指令数据是否达到预设数据量阈值,指令数据至少包括处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数以及运行时间;若指令数据没有达到预设数据量阈值,则获取处理器的各核心的候选频率,并按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值。
可选地,按照各核心的候选频率处理目标场景中的核心任务,包括:锁定除处理器之外其他器件的频率,并按照各核心的候选频率依次设置各核心的频率,以及控制各核心按照各候选频率处理目标场景中的核心任务。
可选地,获取处理器在目标场景中处理任务时产生的指令数据之前,还包括:若指令数据达到预设数据量阈值,则判断指令数据的更新时间间隔是否达到预设时间间隔阈值;若指令数据的更新时间间隔达到预设时间间隔阈值,则执行获取处理器的各核心的候选频率,并按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值;若指令数据的更新时间间隔未达到预设时间间隔阈值,则执行获取处理器在目标场景中处理任务时产生的指令数据。
可选地,根据指令数据确定处理器在目标场景中对应的算力与频率关系,包括:根据处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数以及运行时间,得到处理器的各核心的候选频率对应的当前算力;将处理器的各核心的候选频率与各核心的候选频率对应的当前算力进行乘幂拟合,得到处理器的各核心在目标场景中对应的算力与频率关系。
S202、获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间。
其中,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间,包括:根据当前运行频率以及算力与频率关系,确定第一核心处理目标任务的当前算力;根据第一运行时间以及当前算力,确定目标任务的指令总数,以及根据算力与频率关系确定处理器中第二核心的最高频率对应的最高算力;根据指令总数以及最高算力确定第二核心以最高算力处理目标任务的第二运行时间。
S203、根据第二运行时间与窗口时间计算出目标任务的负载。
其中,根据第二运行时间与窗口时间计算出目标任务的负载,包括:将第二运行时间按照窗口时间归一化至预设范围内,并将归一化得到的数值作为目标任务的负载。
在本申请实施例中,首先获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系;然后获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间;最后根据第二运行时间与窗口时间计算出目标任务的负载。由于处理器在目标场景中对应的算力与频率关系是通过处理器在目标场景中处理任务时产生的指令数据得到的,因此通过算力与频率关系得到处理器在处理目标任务的算力时更加符合实际场景、更加准确,进而使得计算出目标任务的负载也更加准确。
请参阅图3,图3为本申请实施例提供的一种任务负载计算方法的流程示意图。
如图3所示,该方法包括:
S301、获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系。
在相关技术中,例如在安卓系统使用的Linux内核中,每个任务的负载(Utility)由WALT(WindowAssistedloadTracing)或PELT(Per-EntityLoad Tracking)得出,其本质就是基于频率及当前处理器的运行时间的归一化,以WALT为例:
负载=1024*当前核心任务运行时间/窗口时间*(当前核心频率/当前核心最大频率)*(当前核心最大算力/处理器核心的最大算力)
将当前核心任务运行时间按照窗口时间、当前核心算力、当前核心工作频率进行归一化至0~1024,也就是按照系统中最高算力的核心的最高频率来运行,需要消耗多少窗口时间(1024为100%),其中窗口时间是指将一小段时间内的处理器运行情况计算出对应的结果,作为一个窗口时间。
在对不同架构的核心进行算力折算时,一般使用DhryStone这个标准的机能测试规范来对应,DhryStone可以认为是一个程序,通过处理器核心通过运行DhryStone进而得到DhryStone指令数以及运行时间,最后得到关于DhryStone算力,因此上述公式中的当前核心最大算力/处理器核心的最大算力即为当前核心最大DMIPS算力/处理器核心的最大DMIPS算力,其中DMIPS为每秒百万DhryStone指令数。
以某芯片为例,其处理器由4个归一化后最高频1.8Ghz,DMIPS算力为200小核心,和4个最高频2.4Ghz,DMIPS算力为1024的大核心组成,若窗口时间为10ms,则在小核心1.5G上运行5ms的任务的负载计算公式为:
负载=1024*【5*【{(1.5/1.8)*200}】】/1024/10=1024*5/10*(1.5/1.8)*(200/1024)=83.3。
但是在上述相关技术中,现有基于DhryStone基准的方法计算处理器中核心的算力存在两个问题,
第一,处理器核心的DhryStone算力和处理器核心在某些用户场景下的算力存在比较大的偏差,以ARM-Cortex-A77和ARM-Cortex-A55为例,在实际测试过程中会发现,在ARM-Cortex-A55的1.8GHz对应的DMIPS不如ARM-Cortex-A77的710MHz对应的DMIPS的情况下,ARM-Cortex-A55竟然在滑动场景取得了优势。也即,处理器核心的DhryStone算力高并不能代表处理器核心在处理用户场景下的算力也高。
第二,基于DhryStone基准的方法高估了升频获得的提升。在上述任务负载计算的公式中有一个潜在的前提,即处理器核心的频率提升10%,那么运行时间就降低10%,这个公式在DhryStone场景是成立的,而在用户场景是不成立的。通过实际测量会发现,DhryStone的DMIPS算力提升和频率呈现的是线性关系,而在某一些用户场景(例如,微信)则是有一个明显的弯曲,存在一个可见的极限,这是因为用户场景一般伴随着比较多的处理器核外因素,如访存,这些处理时间并不会随着处理器核心频率的提升而减少;同时,用户场景下处理器频率所占部分占总体时间的百分比随着频率的提升而下降,所以用户场景的升频收益会随着频率的升高而逐渐降低,在高频部分尤为明显,在实际测试中有发现频率提升10%,实际运行时间仅缩短3%的例子,因此上述通过标准的机能测试规范计算任务的负载的方法存在不准确的问题。
为了解决上述技术问题,在本申请实施例中,采用处理器处理特定场景下任务时的指令数据,进而实时计算出处理器处理特定场景下任务时的算力,进而来评估特定场景下任务的负载。
具体的,可以先获取处理器在目标场景中处理任务时产生的指令数据,其中目标场景可以是处理器对应终端在使用过程中的任何场景,例如目标场景可以是:游戏、视频、浏览网页等场景,且处理器中可以设置有多个核心,那么就可以预先采集到处理器中所有核心在目标场景中处理任务时产生的指令数据,指令数据可以至少包括处理器的各核心以预设频率处理任务时的运行时间以及指令数。
进一步地,由于指令数与运行时间的商值可以认为是为核心在当前频率下的算力,也即各核心的在预设频率中每一个频率都可以对应一个算力,因此根据各核心以预设频率处理任务时的运行时间以及指令数,可以得到处理器各核心在目标场景中对应的算力与频率关系。
S302、获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间。
若需要计算处理器中某一核心运行目标场景中某一任务的负载,可以先确定该核心为第一核心,以及确定该任务为目标任务,第一核心以及目标任务可以根据用户或者管理员的指令确定,也可以根据预设规则进行确定。进一步地,还可以获取第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,其中当前运行频率为在第一运行时间内第一核心在处理目标任务时保持不变的当前实时频率。
进一步地,在确定第一运行时间、当前运行频率以及算力与频率关系之后,可以先根据处理器中各核心的最高频率对应的算力,进而确定处理器中算力最高的核心作为第二核心,然后根据第一运行时间、当前运行频率以及算力与频率关系,将第一核心运行目标任务的第一运行时间折算为,在处理器中算力最高的第二核心上以最高算力运行目标任务的第二运行时间,也即根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间。
S303、根据第二运行时间与窗口时间计算出目标任务的负载。
在通常情况下,可以窗口时间为标准,计算任务负载时,也即将任务的运行时间与窗口时间作比较,得到处理器处理任务时需要消耗多少窗口时间,因此在得到处理器中算力最高第二核心以最高算力处理目标任务的第二运行时间之后,可以根据第二运行时间与窗口时间计算出,第二核心以最高算力处理目标任务时需要消耗多少窗口时间,将该数值作为目标任务的负载。
本申请实施例中,采用目标任务自身算力的方式来解决传统的DhryStone作为基准的算力计算,导致的负载计算不精准、升频收益高估、乱序核性能被高估等问题,可以适应场景的变化,为更精准的处理器频率调节打下基础,可以降低因为负载计算不准确带来的丢帧以及功耗问题,改善用户体验。
本申请提供一种任务负载计算方法,首先获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系;然后获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间;最后根据第二运行时间与窗口时间计算出目标任务的负载。由于处理器在目标场景中对应的算力与频率关系是通过处理器在目标场景中处理任务时产生的指令数据得到的,因此通过算力与频率关系得到处理器在处理目标任务的算力时更加符合实际场景、更加准确,进而使得计算出目标任务的负载也更加准确。
请参阅图4,图4为本申请另一实施例提供的一种任务负载计算方法的流程示意图。
如图4所示,该方法包括:
S401、判断处理器在目标场景中处理任务时产生的指令数据是否达到预设数据量阈值。
可选地,在确定目标场景之后,以及确定计算处理器中第一核心运行目标场景中目标任务的负载之后,可以先判断处理器在目标场景中处理任务时产生的指令数据是否达到预设数据量阈值,其中指令数据至少包括处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数以及运行时间,以保证有足够的指令数据来计算处理器中各核心在目标场景中对应的算力与频率关系。
S402、若指令数据没有达到预设数据量阈值,则获取处理器的各核心的候选频率,并按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值。
若指令数据没有达到预设数据量阈值,则此时不能准确计算出处理器中各核心在目标场景中对应的算力与频率关系,因此需要采集指令数据,具体的,可以获取处理器的各核心的候选频率,候选频率为保证各核心在目标场景下处理任务不存在丢帧,使得任务的指令总数的波动保持在一个合理的范围内(例如,5%以内)对应的频率,以提高指令数据的可信度,候选频率可以包括多个频率数据,例如某个核心对应的候选频率选择10个频点,范围是从1.0GHz至2.8GHz。
然后可以按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值,其中,核心任务是指目标场景下主要任务,例如当前在焦点的应用的主线程、负责绘制的绘制线程、SurfaceFlinger等。另外,在按照各核心的候选频率处理目标场景中的核心任务过程中,可以锁定除处理器之外其他器件(例如,内存、数据共享单元)的频率,以保证变量的唯一性,也即保证变量只有核心的候选频率在变化,并按照各核心的候选频率依次设置各核心的频率,以及控制各核心按照各候选频率处理目标场景中的核心任务。
例如,某个核心对应的候选频率选择10个频点,范围是从1.0GHz至2.8GHz,那么可以先控制该核心在1.0GHz的频率下运行核心任务预设时间,并获取该核心在预设时间内处理的指令数,将该预设时间以及指令数作为该核心在1.0GHz的频率下的指令数据,然后先控制该核心在下一个频率下运行预设时间,并获取该核心在预设时间内处理的指令数,也即处理器中各核心的每一个候选频率都对应一个指令数以及运行时间,直至各核心对应的指令数据的总量达到预设数据量阈值。
S403、若指令数据达到预设数据量阈值,则判断指令数据的更新时间间隔是否达到预设时间间隔阈值。
可选地,若指令数据达到预设数据量阈值,代表指令数据的数据量是满足要求的,但是为了保证指令数据的时效性,可以判断指令数据的更新时间间隔是否达到预设时间间隔阈值,其中更新时间间隔也即指令数据上次更新时间到当前时间的时间差。
若指令数据的更新时间间隔达到预设时间间隔阈值,代表指令数据的时效性不满足条件,可以重新获取指令数据,也即执行获取处理器的各核心的候选频率,并按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值。
若指令数据的更新时间间隔未达到预设时间间隔阈值,代表指令数据的时效性满足条件,可以继续执行后续获取处理器在目标场景中处理任务时产生的指令数据的步骤。
S404、获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系。
由于指令数中包括了处理器中各核心的每一个候选频率都对应的指令数以及运行时间,因此在获取处理器在目标场景中处理任务时产生的指令数据之后,可以根据指令数据确定处理器中各核心在目标场景中对应的算力与频率关系。
具体的,可以根据处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数以及运行时间,得到处理器的各核心的候选频率对应的当前算力,例如,可以将处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数除以运行时间,得到处理器的各核心的候选频率对应的当前算力。
然后将处理器的各核心的候选频率与各核心的候选频率对应的当前算力进行乘幂拟合,得到处理器的各核心在目标场景中对应的算力与频率关系。
可选地,上述处理器中各核心在目标场景中对应的算力与频率关系是在终端中生成的,另一种可行的实施例方式是,可以在测试环境中将处理器中各核心在目标场景中对应的算力与频率关系计算完毕后由服务器云端发送至终端,作为终端目标场景的相关默认值,减少终端收集到足够多有效数据的等待时间,将本申请的生效时间点提前。
S405、获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据当前运行频率以及算力与频率关系,确定第一核心处理目标任务的当前算力。
获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率之后,可以将当前运行频率带入第一核心对应的算力与频率关系中,以确定第一核心处理目标任务的当前算力。
S406、根据第一运行时间以及当前算力,确定目标任务的指令总数,以及根据算力与频率关系确定处理器中第二核心的最高频率对应的最高算力。
可选地,可以将第一运行时间以及当前算力相乘,以得到目标任务的指令总数。还可以将各核心的最高频率带入至各核心对应的算力与频率关系中,分别得到各核心的最高算力,将算力最高的核心作为第二核心,并确定第二核心的最高算力。
S407、根据指令总数以及最高算力确定第二核心以最高算力处理目标任务的第二运行时间。
可选地,可以将上述指令总数处于第二核心的最高算力,可以得到处理器中第二核心以最高算力处理目标任务的第二运行时间。
S408、将第二运行时间按照窗口时间归一化至预设范围内,并将归一化得到的数值作为目标任务的负载。
在得到处理器中第二核心以最高算力处理目标任务的第二运行时间之后,可以将第二运行时间按照窗口时间归一化至预设范围内,并将归一化得到的数值作为目标任务的负载。
例如,将第二运行时间按照窗口时间归一化至0至1024,可以得到目标任务的负载计算公式为:
负载=1024*(第一运行时间*第一核心当前频率对应的当前算力)/第二核心对应的最高算力/窗口时间=1024*(第一运行时间/窗口时间)*(第一核心当前频率对应的当前算力/第二核心对应的最高算力)。
本申请实施例中,采用目标任务自身算力的方式来解决传统的DhryStone作为基准的算力计算,导致的负载计算不精准、升频收益高估、乱序核性能被高估等问题,可以适应场景的变化,为更精准的处理器频率调节打下基础,可以降低因为负载计算不准确带来的丢帧以及功耗问题,改善用户体验。
本申请提供一种任务负载计算方法,首先获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系;然后获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间;最后根据第二运行时间与窗口时间计算出目标任务的负载。由于处理器在目标场景中对应的算力与频率关系是通过处理器在目标场景中处理任务时产生的指令数据得到的,因此通过算力与频率关系得到处理器在处理目标任务的算力时更加符合实际场景、更加准确,进而使得计算出目标任务的负载也更加准确。
请参阅图5,图5为本申请另一实施例提供的一种任务负载计算装置的结构示意图。
如图5所示,任务负载计算装置500包括:
算力关系获取模块510,用于获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系。
运行时间确定模块520,用于获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间。
负载计算模块530,用于根据第二运行时间与窗口时间计算出目标任务的负载。
可选地,任务负载计算装置500还可以包括:
数据量判断模块,用于判断处理器在目标场景中处理任务时产生的指令数据是否达到预设数据量阈值,指令数据至少包括处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数以及运行时间。
任务执行模块,用于若指令数据没有达到预设数据量阈值,则获取处理器的各核心的候选频率,并按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值。
其中,按照各核心的候选频率处理目标场景中的核心任务,包括:锁定除处理器之外其他器件的频率,并按照各核心的候选频率依次设置各核心的频率,以及控制各核心按照各候选频率处理目标场景中的核心任务。
更新判断模块,用于若指令数据达到预设数据量阈值,则判断指令数据的更新时间间隔是否达到预设时间间隔阈值。
第一执行模块,用于若指令数据的更新时间间隔达到预设时间间隔阈值,则执行获取处理器的各核心的候选频率,并按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值。
第二执行模块,用于若指令数据的更新时间间隔未达到预设时间间隔阈值,则执行获取处理器在目标场景中处理任务时产生的指令数据。
算力关系获取模块510,还用于根据处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数以及运行时间,得到处理器的各核心的候选频率对应的当前算力。
算力关系获取模块510,还用于将处理器的各核心的候选频率与各核心的候选频率对应的当前算力进行乘幂拟合,得到处理器的各核心在目标场景中对应的算力与频率关系。
运行时间确定模块520,还用于根据当前运行频率以及算力与频率关系,确定第一核心处理目标任务的当前算力;根据第一运行时间以及当前算力,确定目标任务的指令总数,以及根据算力与频率关系确定处理器中第二核心的最高频率对应的最高算力;根据指令总数以及最高算力确定第二核心以最高算力处理目标任务的第二运行时间。
负载计算模块530,还用于将第二运行时间按照窗口时间归一化至预设范围内,并将归一化得到的数值作为目标任务的负载。
在本申请实施例中,一种任务负载计算装置包括:算力关系获取模块,用于获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系;运行时间确定模块,用于获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间;负载计算模块,用于根据第二运行时间与窗口时间计算出目标任务的负载。由于处理器在目标场景中对应的算力与频率关系是通过处理器在目标场景中处理任务时产生的指令数据得到的,因此通过算力与频率关系得到处理器在处理目标任务的算力时更加符合实际场景、更加准确,进而使得计算出目标任务的负载也更加准确。
本申请实施例还提供了一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行如上述实施例中的任一项的方法的步骤。
进一步地,请参见图6,图6为本申请实施例提供了一种终端的结构示意图。如图6所示,终端600可以包括:至少一个中央处理器601,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602。
其中,通信总线602用于实现这些组件之间的连接通信。
其中,用户接口603可以包括显示屏(Display)、摄像头(Camera),可选用户接口603还可以包括标准的有线接口、无线接口。
其中,网络接口604可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,中央处理器601可以包括一个或者多个处理核心。中央处理器601利用各种接口和线路连接整个终端600内的各个部分,通过运行或执行存储在存储器605内的指令、程序、代码集或指令集,以及调用存储在存储器605内的数据,执行终端600的各种功能和处理数据。可选的,中央处理器601可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。中央处理器601可集成中央中央处理器(Central Processing Unit,CPU)、图像中央处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器601中,单独通过一块芯片进行实现。
其中,存储器605可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器605包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器605可用于存储指令、程序、代码、代码集或指令集。存储器605可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器605可选的还可以是至少一个位于远离前述中央处理器601的存储装置。如图6所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及任务负载计算程序。
在图6所示的终端600中,用户接口603主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器601可以用于调用存储器605中存储的任务负载计算程序,并具体执行以下操作:
获取处理器在目标场景中处理任务时产生的指令数据,根据指令数据确定处理器在目标场景中对应的算力与频率关系;
获取处理器中第一核心处理目标场景中目标任务的第一运行时间以及当前运行频率,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间;
根据第二运行时间与窗口时间计算出目标任务的负载。
可选地,根据第一运行时间、当前运行频率以及算力与频率关系确定处理器中第二核心以最高算力处理目标任务的第二运行时间,包括:根据当前运行频率以及算力与频率关系,确定第一核心处理目标任务的当前算力;根据第一运行时间以及当前算力,确定目标任务的指令总数,以及根据算力与频率关系确定处理器中第二核心的最高频率对应的最高算力;根据指令总数以及最高算力确定第二核心以最高算力处理目标任务的第二运行时间。
可选地,根据第二运行时间与窗口时间计算出目标任务的负载,包括:将第二运行时间按照窗口时间归一化至预设范围内,并将归一化得到的数值作为目标任务的负载。
可选地,获取处理器在目标场景中处理任务时产生的指令数据之前,还包括:判断处理器在目标场景中处理任务时产生的指令数据是否达到预设数据量阈值,指令数据至少包括处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数以及运行时间;若指令数据没有达到预设数据量阈值,则获取处理器的各核心的候选频率,并按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值。
可选地,按照各核心的候选频率处理目标场景中的核心任务,包括:锁定除处理器之外其他器件的频率,并按照各核心的候选频率依次设置各核心的频率,以及控制各核心按照各候选频率处理目标场景中的核心任务。
可选地,获取处理器在目标场景中处理任务时产生的指令数据之前,还包括:若指令数据达到预设数据量阈值,则判断指令数据的更新时间间隔是否达到预设时间间隔阈值;若指令数据的更新时间间隔达到预设时间间隔阈值,则执行获取处理器的各核心的候选频率,并按照各核心的候选频率处理目标场景中的核心任务,直至指令数据达到预设数据量阈值;若指令数据的更新时间间隔未达到预设时间间隔阈值,则执行获取处理器在目标场景中处理任务时产生的指令数据。
可选地,根据指令数据确定处理器在目标场景中对应的算力与频率关系,包括:根据处理器的各核心按照候选频率处理目标场景中的核心任务时的指令数以及运行时间,得到处理器的各核心的候选频率对应的当前算力;将处理器的各核心的候选频率与各核心的候选频率对应的当前算力进行乘幂拟合,得到处理器的各核心在目标场景中对应的算力与频率关系。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种任务负载计算方法、装置、存储介质以及终端的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种任务负载计算方法,其特征在于,所述方法包括:
获取处理器在目标场景中处理任务时产生的指令数据,根据所述指令数据确定所述处理器在所述目标场景中对应的算力与频率关系;
获取所述处理器中第一核心处理所述目标场景中目标任务的第一运行时间以及当前运行频率,根据所述第一运行时间、所述当前运行频率以及所述算力与频率关系确定所述处理器中第二核心以最高算力处理所述目标任务的第二运行时间;
根据所述第二运行时间与窗口时间计算出所述目标任务的负载。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一运行时间、所述当前运行频率以及所述算力与频率关系确定所述处理器中第二核心以最高算力处理所述目标任务的第二运行时间,包括:
根据所述当前运行频率以及所述算力与频率关系,确定所述第一核心处理所述目标任务的当前算力;
根据所述第一运行时间以及所述当前算力,确定所述目标任务的指令总数,以及根据所述算力与频率关系确定所述处理器中第二核心的最高频率对应的最高算力;
根据所述指令总数以及所述最高算力确定所述第二核心以最高算力处理所述目标任务的第二运行时间。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第二运行时间与窗口时间计算出所述目标任务的负载,包括:
将所述第二运行时间按照所述窗口时间归一化至预设范围内,并将归一化得到的数值作为所述目标任务的负载。
4.根据权利要求1所述的方法,其特征在于,所述获取处理器在目标场景中处理任务时产生的指令数据之前,还包括:
判断处理器在目标场景中处理任务时产生的指令数据是否达到预设数据量阈值,所述指令数据至少包括所述处理器的各核心按照候选频率处理所述目标场景中的核心任务时的指令数以及运行时间;
若所述指令数据没有达到预设数据量阈值,则获取所述处理器的各核心的候选频率,并按照各核心的候选频率处理所述目标场景中的核心任务,直至所述指令数据达到所述预设数据量阈值。
5.根据权利要求4所述的方法,其特征在于,所述按照各核心的候选频率处理所述目标场景中的核心任务,包括:
锁定除所述处理器之外其他器件的频率,并按照各核心的候选频率依次设置各核心的频率,以及控制各核心按照各候选频率处理所述目标场景中的核心任务。
6.根据权利要求4所述的方法,其特征在于,所述获取处理器在目标场景中处理任务时产生的指令数据之前,还包括:
若所述指令数据达到预设数据量阈值,则判断所述指令数据的更新时间间隔是否达到预设时间间隔阈值;
若所述指令数据的更新时间间隔达到预设时间间隔阈值,则执行所述获取所述处理器的各核心的候选频率,并按照各核心的候选频率处理所述目标场景中的核心任务,直至所述指令数据达到所述预设数据量阈值;
若所述指令数据的更新时间间隔未达到预设时间间隔阈值,则执行所述获取处理器在目标场景中处理任务时产生的指令数据。
7.根据权利要求4至6任一项所述的方法,其特征在于,所述根据所述指令数据确定所述处理器在所述目标场景中对应的算力与频率关系,包括:
根据所述处理器的各核心按照候选频率处理所述目标场景中的核心任务时的指令数以及运行时间,得到所述处理器的各核心的候选频率对应的当前算力;
将所述处理器的各核心的候选频率与各核心的候选频率对应的当前算力进行乘幂拟合,得到处理器的各核心在所述目标场景中对应的算力与频率关系。
8.一种任务负载计算装置,其特征在于,所述装置包括:
算力关系获取模块,用于获取处理器在目标场景中处理任务时产生的指令数据,根据所述指令数据确定所述处理器在所述目标场景中对应的算力与频率关系;
运行时间确定模块,用于获取所述处理器中第一核心处理所述目标场景中目标任务的第一运行时间以及当前运行频率,根据所述第一运行时间、所述当前运行频率以及所述算力与频率关系确定所述处理器中第二核心以最高算力处理所述目标任务的第二运行时间;
负载计算模块,用于根据所述第二运行时间与窗口时间计算出所述目标任务的负载。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的所述方法的步骤。
10.一种终端,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1~7所述方法的步骤。
CN202110978001.3A 2021-08-24 2021-08-24 任务负载计算方法、装置、存储介质以及终端 Withdrawn CN113626200A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110978001.3A CN113626200A (zh) 2021-08-24 2021-08-24 任务负载计算方法、装置、存储介质以及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110978001.3A CN113626200A (zh) 2021-08-24 2021-08-24 任务负载计算方法、装置、存储介质以及终端

Publications (1)

Publication Number Publication Date
CN113626200A true CN113626200A (zh) 2021-11-09

Family

ID=78387727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110978001.3A Withdrawn CN113626200A (zh) 2021-08-24 2021-08-24 任务负载计算方法、装置、存储介质以及终端

Country Status (1)

Country Link
CN (1) CN113626200A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115204753A (zh) * 2022-09-14 2022-10-18 深圳市深信信息技术有限公司 一种智慧农贸场所行为监测方法、系统及可读存储介质
CN115933504A (zh) * 2023-03-14 2023-04-07 苏州浪潮智能科技有限公司 行驶控制系统,行驶控制方法及装置
WO2024065415A1 (en) * 2022-09-29 2024-04-04 Intel Corporation Methods, systems, articles of manufacture and apparatus to synchronize tasks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350156A1 (en) * 2015-05-26 2016-12-01 Mediatek Inc. Method for performing processor resource allocation in an electronic device, and associated apparatus
CN109783224A (zh) * 2018-12-10 2019-05-21 平安科技(深圳)有限公司 基于负载调配的任务分配方法、装置及终端设备
CN113127153A (zh) * 2021-04-20 2021-07-16 上海卓易科技股份有限公司 一种用于确定目标任务描述信息的方法与设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350156A1 (en) * 2015-05-26 2016-12-01 Mediatek Inc. Method for performing processor resource allocation in an electronic device, and associated apparatus
CN109783224A (zh) * 2018-12-10 2019-05-21 平安科技(深圳)有限公司 基于负载调配的任务分配方法、装置及终端设备
CN113127153A (zh) * 2021-04-20 2021-07-16 上海卓易科技股份有限公司 一种用于确定目标任务描述信息的方法与设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115204753A (zh) * 2022-09-14 2022-10-18 深圳市深信信息技术有限公司 一种智慧农贸场所行为监测方法、系统及可读存储介质
CN115204753B (zh) * 2022-09-14 2022-12-02 深圳市深信信息技术有限公司 一种智慧农贸场所行为监测方法、系统及可读存储介质
WO2024065415A1 (en) * 2022-09-29 2024-04-04 Intel Corporation Methods, systems, articles of manufacture and apparatus to synchronize tasks
CN115933504A (zh) * 2023-03-14 2023-04-07 苏州浪潮智能科技有限公司 行驶控制系统,行驶控制方法及装置

Similar Documents

Publication Publication Date Title
CN112561078B (zh) 分布式的模型训练方法及相关装置
CN108255653B (zh) 一种产品的测试方法及其终端
CN113626200A (zh) 任务负载计算方法、装置、存储介质以及终端
JP7454529B2 (ja) 分散型モデルトレーニング装置および方法、電子機器、記憶媒体、ならびに、コンピュータプログラム
CN104246705A (zh) 管理计算系统操作
US20220053335A1 (en) Method for detecting an abnormal device, device and storage medium
CN115373861B (zh) Gpu资源调度方法、装置、电子设备及存储介质
CN110019496A (zh) 数据读写方法和系统
CN113795039A (zh) 运营商网络切换方法、装置、设备和计算机可读存储介质
CN114816393A (zh) 信息生成方法、装置、设备以及存储介质
CN116610372A (zh) 一种中央处理器配置方法、装置及相关产品
CN113377295B (zh) 多生产者单消费者的数据存储和读取方法、装置、设备
CN114374703B (zh) 云手机信息的获取方法、装置、设备以及存储介质
CN114138358A (zh) 应用程序的启动优化方法、装置、设备和存储介质
CN113448668B (zh) 一种跳过弹窗的方法、装置及电子设备
CN113556394B (zh) 云产品网络用量处理方法、装置、设备、存储介质及产品
CN115599438A (zh) 应用程序的发布包的构建方法、装置、设备及介质
CN112560210B (zh) 用于调整电网结构的方法、相关装置及计算机程序产品
CN115469561A (zh) 仿真测试方法及装置、电子设备和存储介质
CN114090247A (zh) 用于处理数据的方法、装置、设备以及存储介质
CN113760344A (zh) 动态配置的方法、装置、电子设备和存储介质
CN113900734B (zh) 一种应用程序文件配置方法、装置、设备及存储介质
CN113032040B (zh) 用于处理任务的方法、装置、设备、介质和产品
CN115860055B (zh) 性能确定方法、性能优化方法、装置、电子设备以及介质
CN114598705B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20211109