CN116360953A - 任务处理方法、装置及电子设备 - Google Patents

任务处理方法、装置及电子设备 Download PDF

Info

Publication number
CN116360953A
CN116360953A CN202310482610.9A CN202310482610A CN116360953A CN 116360953 A CN116360953 A CN 116360953A CN 202310482610 A CN202310482610 A CN 202310482610A CN 116360953 A CN116360953 A CN 116360953A
Authority
CN
China
Prior art keywords
task
processor
processor core
processor cores
processing
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.)
Pending
Application number
CN202310482610.9A
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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202310482610.9A priority Critical patent/CN116360953A/zh
Publication of CN116360953A publication Critical patent/CN116360953A/zh
Pending 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/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
    • 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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)
  • Multi Processors (AREA)

Abstract

本申请提供一种任务处理方法、装置及电子设备,涉及计算机技术领域,所述方法包括:在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载,从所述N个处理器核中选择第一处理器核,其中,所述第一负载为所述处理器核的任务中满足所述第一条件的所有任务的负载之和,N为大于1的整数;通过所述第一处理器核处理所述第一任务,其中,所述第一任务的处理优先级高于第二任务的处理优先级,所述第二任务为所述第一处理器核的任务中不满足所述第一条件的任务。通过本申请,可以提高处理器核选择的灵活性,提高任务处理效率。

Description

任务处理方法、装置及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务处理方法、装置及电子设备。
背景技术
多核中央处理器(Central Processing Unit,CPU)是一种具有多个处理器核的CPU,其中,每个处理器核都可以独立执行指令,并且多个处理器核可以同时执行不同的任务,从而提高处理器的性能和效率。
目前,对于各个任务,通常是直接根据多个处理器核中各个处理器核的总负载(即所有任务的负载之和)进行处理器核选择,也即选择总负载最小的处理器核。可见,现有的处理器核选择方式的灵活性较差,难以保证一些任务(例如,较为重要的任务)的处理效果。
发明内容
本申请实施例提供一种任务处理方法、装置及电子设备,能够提高处理器核选择的灵活性。
第一方面,本申请实施例提供了一种任务处理方法,所述方法包括:
在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载,从所述N个处理器核中选择第一处理器核,其中,所述第一负载为所述处理器核的任务中满足所述第一条件的所有任务的负载之和,N为大于1的整数;
通过所述第一处理器核处理所述第一任务,其中,所述第一任务的处理优先级高于第二任务的处理优先级,所述第二任务为所述第一处理器核的任务中不满足所述第一条件的任务。
可选的,所述满足第一条件包括如下至少一项:
任务为前台任务;
任务的重要等级大于预设等级。
可选的,所述根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,包括:
将所述N个处理器核中第一负载最小的处理器核确定为所述第一处理器核;或者,
将目标类处理器核中第一负载最小的处理器核确定为所述第一处理器核,其中,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核。
可选的,所述方法还包括:
在所述第一任务不满足所述第一条件的情况下,根据所述N个处理器核中每个处理器核的第二负载,从所述N个处理器核中选择第二处理器核,其中,所述第二负载为所述处理器核的所有任务的负载之和;
通过所述第二处理器核处理所述第一任务。
可选的,所述N个处理器核包括至少两类处理器核,目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核;
所述在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,包括:
若满足第二条件,则在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核;
其中,所述满足第二条件包括如下至少一项:
所述目标类处理器核中的所有处理器核的总负载率大于第一预设值;
所述目标类处理器核中的每个处理器核的负载率均大于第二预设值。
可选的,所述通过所述第一处理器核处理所述第一任务,包括:
将所述第一任务添加至第一任务队列,所述第一任务队列用于满足所述第一条件的任务进行排队;
通过所述第一处理器核依次处理所述第一任务队列的各个任务,其中,在所述第一任务队列为空的情况下,通过所述第一处理器核依次处理第二任务队列的各个任务,所述第二任务队列用于不满足所述第一条件的任务进行排队。
第二方面,本申请实施例提供了一种任务处理装置,所述装置包括:
第一选择模块,用于在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载,从所述N个处理器核中选择第一处理器核,其中,所述第一负载为所述处理器核的任务中满足所述第一条件的所有任务的负载之和,N为大于1的整数;
第一处理模块,用于通过所述第一处理器核处理所述第一任务,其中,所述第一任务的处理优先级高于第二任务的处理优先级,所述第二任务为所述第一处理器核的任务中不满足所述第一条件的任务。
可选的,所述满足第一条件包括如下至少一项:
任务为前台任务;
任务的重要等级大于预设等级。
可选的,所述第一选择模块具体用于:
将所述N个处理器核中第一负载最小的处理器核确定为所述第一处理器核;或者,
将目标类处理器核中第一负载最小的处理器核确定为所述第一处理器核,其中,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核。
可选的,所述装置还包括:
第二选择模块,用于在所述第一任务不满足所述第一条件的情况下,根据所述N个处理器核中每个处理器核的第二负载,从所述N个处理器核中选择第二处理器核,其中,所述第二负载为所述处理器核的所有任务的负载之和;
第二处理模块,用于通过所述第二处理器核处理所述第一任务。
可选的,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核;
所述第一选择模块具体用于:
若满足第二条件,则在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核;
其中,所述满足第二条件包括如下至少一项:
所述目标类处理器核中的所有处理器核的总负载率大于第一预设值;
所述目标类处理器核中的每个处理器核的负载率均大于第二预设值。
可选的,所述第一处理模块具体用于:
将所述第一任务添加至第一任务队列,所述第一任务队列用于满足所述第一条件的任务进行排队;
通过所述第一处理器核依次处理所述第一任务队列的各个任务,其中,在所述第一任务队列为空的情况下,通过所述第一处理器核依次处理第二任务队列的各个任务,所述第二任务队列用于不满足所述第一条件的任务进行排队。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的任务处理方法中的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的任务处理方法中的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
本申请实施例中,在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,并通过所述第一处理器核优先处理第一任务,这样不仅可以提高处理器核选择的灵活性,还可以保证一些任务(例如,较为重要的任务)可以优先处理,进而可以提高这些任务的处理效率。
附图说明
图1是本申请实施例提供的一种任务处理方法的流程图;
图2是本申请实施例提供的一种任务队列的示意图;
图3是本申请实施例提供的一种任务处理装置的结构示意图;
图4是本申请实施例提供的一种电子设备的结构示意图之一;
图5是本申请实施例提供的一种电子设备的结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的任务处理方法、装置及电子设备进行详细地说明。
参见图1,图1是本申请实施例提供的一种任务处理方法的流程图,如图1所示,包括以下步骤:
步骤101、在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,其中,所述第一负载为所述处理器核的任务中满足所述第一条件的所有任务的负载之和,N为大于1的整数。
本实施例中,上述第一任务可以为任意待处理的任务。上述第一任务满足第一条件,可以包括但不限于上述第一任务为前台任务或者上述第一任务的重要等级高于预设等级等。
上述N个处理器核的各个处理器核的处理能力可以均相同;或者,上述N个处理器核可以包括处理能力不同的至少两类处理器核,例如,上述N个处理器核可以包括第一类处理器核、第二类处理器核和第三类处理器核,其中,第一类处理器核的处理能力强于第二类处理器核的处理能力,且第二类处理器核的处理能力强于第三类处理器核的处理能力。
上述第一负载为所述处理器核的任务中满足所述第一条件的所有任务的负载之和,其中,所述处理器核的任务是否满足所述第一条件同上述第一任务是否满足第一条件的判决方式,在此不做赘述。以任务满足第一条件为该任务为前台任务为例,上述第一负载为所述处理器核的所有前台任务的负载之和。
上述根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,例如,可以选择N个处理器核中第一负载最小的处理器核作为第一处理器核,或者,可以选择N个处理器核中第一剩余容量最大的处理器核等,其中,所述第一剩余容量为所述处理器核的总容量与所述第一负载之间的差值。
需要说明的是,在上述N个处理器核包括处理能力不同的至少两类处理器核的情况下,基于各个处理器核的第一负载进行处理器核选择,有利于优先选到处理能力较强的处理器核对第一任务进行处理,这样可以提高第一任务的处理速度和流畅性。
步骤102、通过所述第一处理器核处理所述第一任务,其中,所述第一任务的处理优先级高于第二任务的处理优先级,所述第二任务为所述第一处理器核的任务中不满足所述第一条件的任务。
本实施例中,处理优先级越高的任务被第一处理器核越优先处理,也即相比于不满足所述第一条件的任务,满足所述第一条件的任务被第一处理器核优先处理,这样可以提高满足第一条件的任务的处理及时性。以任务满足第一条件为该任务为前台任务为例,第一处理器核可以优先处理前台任务,在没有前台任务处理的情况下再处理后台任务。
本申请实施例提供的任务处理方法,在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,并通过所述第一处理器核优先处理第一任务,这样不仅可以提高处理器核选择的灵活性,还可以保证一些任务(例如,较为重要的任务)可以优先处理,进而可以提高这些任务的处理效果。
可选的,所述满足第一条件包括如下至少一项:
任务为前台任务;
任务的重要等级大于预设等级。
上述任务的重要等级可以根据任务的任务类型、负载大小、估计处理时长等中的至少一项确定任务的重要等级。其中,上述估计处理时长可以是基于历史多次执行相同任务的处理时长所统计得到的处理时长。
在一实施方式中,可以在第一任务为前台任务的情况下,根据N个处理器核中的每个处理器核的所有前台任务的负载之和选择用于处理第一任务的处理器核,这样不仅可以保证前台任务可以被优先处理,还有利于前台任务可以优先选到处理能力更强的处理器核,进而可以提高前台任务的处理效率和流畅度。
在另一实施方式中,可以在第一任务的重要等级大于预设等级的情况下,根据N个处理器核中的每个处理器核中重要等级大于预设等级的所有任务的负载之和选择用于处理第一任务的处理器核,这样不仅可以保证重要等级较高的任务可以被优先处理,还有利于重要等级较高的任务可以优先选到处理能力更强的处理器核,进而可以提高重要等级较高的任务的处理效率和流畅度。
在又一实施方式中,可以在第一任务为前台任务且第一任务的重要等级大于预设等级的情况下,根据N个处理器核中的每个处理器核中重要等级大于预设等级的所有前台任务的负载之和选择用于处理第一任务的处理器核,这样可以保证前台任务中重要等级较高的任务可以被优先处理,还有利于前台任务中重要等级较高的任务可以优先选到处理能力更强的处理器核,进而可以提高前台任务中重要等级较高的任务的处理效率和流畅度。
可选的,所述根据N个处理器核中的每个处理器核的第一负载,从所述N个处理器核中选择第一处理器核,包括:
将所述N个处理器核中第一负载最小的处理器核确定为所述第一处理器核;或者,
将目标类处理器核中第一负载最小的处理器核确定为所述第一处理器核,其中,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核。
上述至少两类处理器核中的不同类别的处理器核的处理能力不同,例如,上述至少两类处理器核可以包括至少一个小处理器核、至少一个中处理器核和至少一个大处理器核,其中,大处理器核处理能力强于中处理器核的处理能力,中处理器核的处理能力强于小处理器核的处理能力。上述处理能力的衡量指标可以包括但不限于运算速度、每次处理数据的位数等。
在一实施方式中,利用第一负载最小的处理器核处理第一任务,这样可以保证第一任务可以被尽快处理,提高第一任务处理的及时性。
在另一实施方式中,从处理能力最强的一类处理器核中选择第一负载最小的处理器核,可以保证通过处理能力最强的处理器核对第一任务进行处理,这样不仅可以提高第一任务的处理速度,还可以提高第一任务的流畅度。
可以理解的是,上述每类处理器核可以包括一个或多个处理器核。例如,上述N个处理器核可以包括第一类处理器核和第二类处理器核,其中,第一类处理器核包括L个处理器核,第二类处理器核包括K个处理器核,L+K=N,且第一类处理器核的处理能力强于第二类处理器核的处理能力,则可以从上述L个处理器核中选择第一负载最小的处理器核作为第一处理器核。
需要说明的是,上述每类处理器核包括的多个处理器核的处理能力可以均相同,或者,上述每类处理器核包括的多个处理器核的处理能力之间的差值位于预设范围内。还需要说明的是,上述每类处理器核包括的多个处理器核的结构或型号等可以相同,也可以不相同。
在一些可选的实施例中,上述第一处理器核的第一剩余容量大于上述第一任务的负载,其中,上述第一剩余容量可以为上述第一处理器核的总容量与第一负载之间的差值。
可选的,所述方法还包括:
在所述第一任务不满足所述第一条件的情况下,根据所述N个处理器核中每个处理器核的第二负载,从所述N个处理器核中选择第二处理器核,其中,所述第二负载为所述处理器核的所有任务的负载之和;
通过所述第二处理器核处理所述第一任务。
本实施例中,在第一任务不满足第一条件的情况下,可以基于N个处理器核中每个处理器核的所有任务的负载之和,从所述N个处理器核中选择第二处理器核,例如,可以选择所有任务的负载之和(即第二负载)最小的处理器核(即第二处理器核)处理第一任务,这样可以减少第一任务的处理对其他任务的影响。
在一些可选的实施例中,所述第一任务的处理优先级低于第三任务的处理优先级,所述第三任务为所述第一处理器核的任务中满足所述第一条件的任务,也即第二处理器优先处理满足第一条件的任务(即第三任务),在没有第三任务之后再处理第一任务,这样可以保证一些重要的任务可以优先执行。
可选的,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核;
所述在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,包括:
若满足第二条件,则在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核;
其中,所述满足第二条件包括如下至少一项:
所述目标类处理器核中的所有处理器核的总负载率大于第一预设值;
所述目标类处理器核中的每个处理器核的负载率均大于第二预设值。
本实施例中,上述目标类处理器核中的所有处理器核的总负载率可以理解为第一总负载与第一总容量之间的比值,其中,第一总负载为上述目标类处理器核中的所有处理器核的负载之和,第一总容量为上述目标类处理器核中的所有处理器核的容量之和。
上述第一预设值和第二预设值均可以根据实际需求进行合理设置,本实施例对此不做限定。
本实施例中,在目标类处理器核中的所有处理器核的总负载率大于第一预设值或者目标类处理器核中的每个处理器核的负载率均大于第二预设值的情况下执行上述步骤101至步骤102,也即在处理能力最强的处理器核的负载率较大的情况下执行上述步骤101至步骤102,这样不仅可以充分利用处理能力最强的处理器核,还可以保证一些较为重要的任务的处理效果,例如,处理效率、流畅度等。
在一些可选的实施例中,所述在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,包括:若满足第三条件,则在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核;
其中,所述满足第三条件包括如下至少一项:
所述N个处理器核的总负载率大于第三预设值;
所述N个处理器核的后台任务的总负载率大于第四预设值。
本实施例中,上述N个处理器核的总负载率可以理解为第二总负载与第二总容量之间的比值,其中,上述第二总负载为N个处理器核的负载之和,上述第二总容量为N个处理器核的容量之和。
上述N个处理器核的后台任务的总负载率可以理解为第三总负载与第三总容量之间的比值,其中,上述第三总负载为N个处理器核的后台任务的负载之和,上述第三总容量为N个处理器核的容量之和。
上述第三预设值和第四预设值均可以根据实际需求进行合理设置,本实施例对此不做限定。
在一实施方式中,在所述N个处理器核的总负载率大于第三预设值的情况下执行上述步骤101至步骤102,也即在N个处理器核的总负载率较大的情况下执行上述步骤101至步骤102,这样可以在减少任务处理之间的影响的同时,保证一些较为重要的任务的处理效果,例如,处理效率、流畅度等。
在另一实施方式中,在所述N个处理器核的后台任务的总负载率大于第四预设值的情况下执行上述步骤101至步骤102,也即在N个处理器核的后台任务的负载率较大(例如,存在一些异常高负载的后台任务)的情况下执行上述步骤101至步骤102,这样可以减少因一些异常高负载后台任务对资源的占用导致的一些任务处理效果较差的问题。
可以理解的是,在不满足第二条件的情况下,可以基于与上述步骤101至步骤102不同的处理器核选择方式进行处理器核选择,例如,可以根据所述N个处理器核中每个处理器核的第二负载,从所述N个处理器核中选择第三处理器核,例如,第三处理器核为第二负载最小的处理器核,并通过第三处理器核处理第一任务,其中,在第三处理器中各个任务的处理优先级相同。例如,可以将上述第三处理器的所有待处理的任务按照先后顺序依次添加至第三任务队列,第三处理器可以依次从第三任务队列读取任务进行处理。
可选的,所述通过所述第一处理器核处理所述第一任务,包括:
将所述第一任务添加至第一任务队列,所述第一任务队列用于满足所述第一条件的任务进行排队;
通过所述第一处理器核依次处理所述第一任务队列的各个任务,其中,在所述第一任务队列为空的情况下,通过所述第一处理器核依次处理第二任务队列的各个任务,所述第二任务队列用于不满足所述第一条件的任务进行排队。
本实施例中,第一任务队列用于满足所述第一条件的任务进行排队,第二任务队列用于不满足第一条件的任务进行排队,其中,第一任务队列的处理优先级高于第二任务队列的处理优先级,也即第一处理器核优先处理第一任务队列的各个任务,在第一任务队列为空的情况下,再处理第二任务队列的各个任务。
以任务满足第一条件为该任务为前台任务为例进行说明,如图2所示,将前台任务插入一个新增的只有前台任务的前台任务队列1,其中,FG表示前台任务,处理器核优先从前台任务队列1选前台任务运行,前台任务队列1没任务才从后台任务队列2选后台任务运行,其中,BG表示后台任务。需要说明的是,上述前台任务队列1的任务,可以根据时间片从大到小让任务排队执行。
本申请实施例通过设置不同的任务队列分别用于满足第一条件的任务和不满足第一条件的任务排队,这样可以使得任务的调度和管理实现更为简单。
以下结合示例对本申请实施例进行举例说明。
实际应用中,移动终端的处理器核通常有大小核之分,其中,大处理器核的处理能力通常强于小处理器核的处理能力。然而,现有技术中,当前任务选处理器核的时候,根据负载的大小来进行处理器核选择,不考虑是前台任务还是后台任务,不考虑任务的重要性,直接选所有负载之和最轻的处理器核。当出现多个异常高负载的后台任务的时候,高负载后台任务会被选到大处理器核。在大处理器核没有空余能力,被高负载后台任务占满的情况下,前台任务会被选到小处理器核执行。小处理器核的处理能力太弱,前台任务执行速度太慢,容易造成前台应用的卡顿,让移动设备出现不流畅的现象。
针对上述问题,本申请实施例先判断当前要选处理器核的任务是前台任务还是后台任务。如果是后台任务,就直接看各个处理器核的总负载(即上述的第二负载),选择总负载最低的处理器核。如果是前台任务,就直接看各个处理器核的前台任务的负载(即上述第一负载),选择前台任务负载最低的处理器核。此外,控制各个处理器核优先处理前台任务,具体的,如图2所示,可以将前台任务插入一个新增的只有前台任务的前台任务队列1,各个处理器核均优先从前台任务队列1选前台任务运行,前台任务队列1没任务才从后台任务队列2选后台任务运行,这样不仅可以提高前台任务选到大处理器核的概率,还可以保证前台任务优先执行,提高前台任务的处理效率和流畅性。
在一些可选的实施例中,所述方法还可以包括:在所述N个处理器核中的第四处理器核处理完所述第四处理器核的所有任务的情况下,将所述N个处理器核中的第五处理器核的未处理的至少部分任务迁移至所述第四处理器核进行处理,其中,所述第四处理器核的处理能力强于所述五处理器核的处理能力,这样可以提高任务的处理效率。示例性的,在上述第一处理器核的处理能力强于第二处理器核的处理能力的情况下,上述第四处理器核可以为第一处理器核,上述第五处理器核可以为第二处理器核。
本申请实施例提供的任务处理方法,执行主体可以为任务处理装置。本申请实施例中以任务处理装置执行任务处理的方法为例,说明本申请实施例提供的任务处理的装置。
参见图3,图3是本申请实施例提供的一种任务处理装置的结构示意图,如图3所示,所述任务处理装置300包括:
第一选择模块301,用于在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载,从所述N个处理器核中选择第一处理器核,其中,所述第一负载为所述处理器核的任务中满足所述第一条件的所有任务的负载之和,N为大于1的整数;
第一处理模块302,用于通过所述第一处理器核处理所述第一任务,其中,所述第一任务的处理优先级高于第二任务的处理优先级,所述第二任务为所述第一处理器核的任务中不满足所述第一条件的任务。
可选的,所述满足第一条件包括如下至少一项:
任务为前台任务;
任务的重要等级大于预设等级。
可选的,所述第一选择模块具体用于:
将所述N个处理器核中第一负载最小的处理器核确定为所述第一处理器核;或者,
将目标类处理器核中第一负载最小的处理器核确定为所述第一处理器核,其中,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核。
可选的,所述装置还包括:
第二选择模块,用于在所述第一任务不满足所述第一条件的情况下,根据所述N个处理器核中每个处理器核的第二负载,从所述N个处理器核中选择第二处理器核,其中,所述第二负载为所述处理器核的所有任务的负载之和;
第二处理模块,用于通过所述第二处理器核处理所述第一任务。
可选的,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核;
所述第一选择模块具体用于:
若满足第二条件,则在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核;
其中,所述满足第二条件包括如下至少一项:
所述目标类处理器核中的所有处理器核的总负载率大于第一预设值;
所述目标类处理器核中的每个处理器核的负载率均大于第二预设值。
可选的,所述第一处理模块具体用于:
将所述第一任务添加至第一任务队列,所述第一任务队列用于满足所述第一条件的任务进行排队;
通过所述第一处理器核依次处理所述第一任务队列的各个任务,其中,在所述第一任务队列为空的情况下,通过所述第一处理器核依次处理第二任务队列的各个任务,所述第二任务队列用于不满足所述第一条件的任务进行排队。
本申请实施例中的任务处理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的任务处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的任务处理装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选的,如图4所示,本申请实施例还提供一种电子设备400,包括处理器401和存储器402,存储器402上存储有可在所述处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现上述生成方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括移动电子设备和非移动电子设备。
图5为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、以及处理器510等部件。
本领域技术人员可以理解,电子设备500还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器510,用于在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载,从所述N个处理器核中选择第一处理器核,其中,所述第一负载为所述处理器核的任务中满足所述第一条件的所有任务的负载之和,N为大于1的整数;
所述处理器510,还用于通过所述第一处理器核处理所述第一任务,其中,所述第一任务的处理优先级高于第二任务的处理优先级,所述第二任务为所述第一处理器核的任务中不满足所述第一条件的任务。
应理解的是,本申请实施例中,输入单元504可以包括图形处理器(GraphicsProcessing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元506可包括显示面板5061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板5061。用户输入单元507包括触控面板5071以及其他输入设备5072中的至少一种。触控面板5071,也称为触摸屏。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器509可以包括易失性存储器或非易失性存储器,或者,存储器509可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器509包括但不限于这些和任意其它适合类型的存储器。
处理器510可包括一个或多个处理单元;可选的,处理器510集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (11)

1.一种任务处理方法,其特征在于,所述方法包括:
在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载,从所述N个处理器核中选择第一处理器核,其中,所述第一负载为所述处理器核中满足所述第一条件的所有任务的负载之和,N为大于1的整数;
通过所述第一处理器核处理所述第一任务,其中,所述第一任务的处理优先级高于第二任务的处理优先级,所述第二任务为所述第一处理器核的任务中不满足所述第一条件的任务。
2.根据权利要求1所述的方法,其特征在于,所述满足第一条件包括如下至少一项:
任务为前台任务;
任务的重要等级大于预设等级。
3.根据权利要求1所述的方法,其特征在于,所述根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,包括:
将所述N个处理器核中第一负载最小的处理器核确定为所述第一处理器核;或者,
将目标类处理器核中第一负载最小的处理器核确定为所述第一处理器核,其中,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一任务不满足所述第一条件的情况下,根据所述N个处理器核中每个处理器核的第二负载,从所述N个处理器核中选择第二处理器核,其中,所述第二负载为所述处理器核的所有任务的负载之和;
通过所述第二处理器核处理所述第一任务。
5.根据权利要求1所述的方法,其特征在于,所述N个处理器核包括至少两类处理器核,目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核;
所述在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核,包括:
若满足第二条件,则在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载从所述N个处理器核中选择第一处理器核;
其中,所述满足第二条件包括如下至少一项:
所述目标类处理器核中的所有处理器核的总负载率大于第一预设值;
所述目标类处理器核中的每个处理器核的负载率均大于第二预设值。
6.根据权利要求1所述的方法,其特征在于,所述通过所述第一处理器核处理所述第一任务,包括:
将所述第一任务添加至第一任务队列,所述第一任务队列用于满足所述第一条件的任务进行排队;
通过所述第一处理器核依次处理所述第一任务队列的各个任务,其中,在所述第一任务队列为空的情况下,通过所述第一处理器核依次处理第二任务队列的各个任务,所述第二任务队列用于不满足所述第一条件的任务进行排队。
7.一种任务处理装置,其特征在于,所述装置包括:
第一选择模块,用于在第一任务满足第一条件的情况下,根据N个处理器核中的每个处理器核的第一负载,从所述N个处理器核中选择第一处理器核,其中,所述第一负载为所述处理器核的任务中满足所述第一条件的所有任务的负载之和,N为大于1的整数;
第一处理模块,用于通过所述第一处理器核处理所述第一任务,其中,所述第一任务的处理优先级高于第二任务的处理优先级,所述第二任务为所述第一处理器核的任务中不满足所述第一条件的任务。
8.根据权利要求7所述的装置,其特征在于,所述满足第一条件包括如下至少一项:
任务为前台任务;
任务的重要等级大于预设等级。
9.根据权利要求7所述的装置,其特征在于,所述第一选择模块具体用于:
将所述N个处理器核中第一负载最小的处理器核确定为所述第一处理器核;或者,
将目标类处理器核中第一负载最小的处理器核确定为所述第一处理器核,其中,所述N个处理器核包括至少两类处理器核,所述目标类处理器核为所述至少两类处理器核中处理能力最强的一类处理器核。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-6中任一项所述的任务处理方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-6中任一项所述的任务处理方法的步骤。
CN202310482610.9A 2023-04-28 2023-04-28 任务处理方法、装置及电子设备 Pending CN116360953A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310482610.9A CN116360953A (zh) 2023-04-28 2023-04-28 任务处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310482610.9A CN116360953A (zh) 2023-04-28 2023-04-28 任务处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN116360953A true CN116360953A (zh) 2023-06-30

Family

ID=86905092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310482610.9A Pending CN116360953A (zh) 2023-04-28 2023-04-28 任务处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116360953A (zh)

Similar Documents

Publication Publication Date Title
CN108885571B (zh) 分批处理机器学习模型的输入
CN109542512B (zh) 一种数据处理方法、装置和存储介质
US20160248125A1 (en) Heterogeneous Battery Cell Switching
TWI502540B (zh) 動態再平衡圖型處理器資源的方法、裝置與系統
US10037225B2 (en) Method and system for scheduling computing
CN111767012A (zh) 投屏方法及装置
CN106406494B (zh) 一种处理器调度的方法及终端
CN109358927B (zh) 应用程序显示的方法、装置及终端设备
CN116661964A (zh) 任务处理方法、装置及电子设备
CN110688223B (zh) 数据处理方法及相关产品
US9766948B2 (en) Selecting processor micro-threading mode
CN116360953A (zh) 任务处理方法、装置及电子设备
CN116302558A (zh) 线程调度方法、装置及电子设备
CN116302485A (zh) Cpu调度方法、装置、电子设备及可读存储介质
CN116594763A (zh) 针对动态计算图提前调度的方法和装置
CN111309468B (zh) 资源调度方法、装置及存储介质
CN116955271A (zh) 一种数据副本存储的方法、装置、电子设备及存储介质
CN115599533A (zh) 任务处理方法、装置、设备以及存储介质
CN111858395A (zh) 数据管理方法及装置
CN116737338A (zh) 处理方法、装置、设备和存储介质
US20220353874A1 (en) Method and Apparatus for Maximizing a Number of Connections That Can Be Executed from a Mobile Application
US10908962B1 (en) System and method to share GPU resources
CN113138909A (zh) 负载统计方法、装置、存储介质及电子设备
CN116541151A (zh) 线程调度方法、装置、电子设备及介质
CN113986512A (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