CN107797866B - 处理器资源的分配方法及移动终端和介质产品 - Google Patents

处理器资源的分配方法及移动终端和介质产品 Download PDF

Info

Publication number
CN107797866B
CN107797866B CN201710995165.0A CN201710995165A CN107797866B CN 107797866 B CN107797866 B CN 107797866B CN 201710995165 A CN201710995165 A CN 201710995165A CN 107797866 B CN107797866 B CN 107797866B
Authority
CN
China
Prior art keywords
task set
processor
load
demand
tasks
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.)
Expired - Fee Related
Application number
CN201710995165.0A
Other languages
English (en)
Other versions
CN107797866A (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 CN201710995165.0A priority Critical patent/CN107797866B/zh
Publication of CN107797866A publication Critical patent/CN107797866A/zh
Application granted granted Critical
Publication of CN107797866B publication Critical patent/CN107797866B/zh
Expired - Fee Related 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]
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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
    • 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
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/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
    • 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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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
    • 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
    • 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • 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/5061Partitioning or combining of resources
    • 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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例公开了一种处理器资源的分配方法及移动终端,包括:获取系统中并行运行的n个任务,n为整数;将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数;根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;为所述任务集分配所述处理器资源的需求量。本发明实施例有利于合理使用处理器资源,提升处理器运行多个任务的处理效率。

Description

处理器资源的分配方法及移动终端和介质产品
技术领域
本发明涉及移动终端技术领域,具体涉及一种处理器资源的分配方法及移动终端和介质产品。
背景技术
随着移动终端中加载的应用程序日益增多,移动终端中可同时处理多个应用程序,由于移动终端中的处理器资源有限,需要对处理器资源进行合理分配,才能够保证多个应用程序的正常运行。目前,移动终端中可配置有集成多核的处理器。由于应用程序运行的每个任务的负载量不同,因此,移动终端的操作系统需要同时为多个应用程序运行的多个任务合理分配处理器资源。
目前,操作系统仅能够针对当前承载的所有负载量进行评估,并以此调节处理器的性能,或者,操作系统仅能够根据当前运行的任务数量确定处理器的数量,并不能够有效合理的分配处理器资源,浪费了处理器资源。
发明内容
本发明实施例提供了一种处理器资源的分配方法及移动终端,以期合理使用处理器资源,提升处理器运行多个任务的处理效率。
第一方面,本发明实施例提供一种处理器资源的分配方法,包括:
获取系统中并行运行的n个任务,n为整数;
将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数;
根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
为所述任务集分配所述处理器资源的需求量。
结合第一方面,在一些可能的实现方式中,所述根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量,包括:
计算出所述任务集对处理器资源的需求量为所述任务集中的任务数量与所述任务集的负载等级对应的负载系数的乘积结果。
结合第一方面,在一些可能的实现方式中,所述为所述任务集分配所述处理器资源的需求量,包括:
基于处理器的运算能力,为所述任务集确定对应运算等级的处理器资源;
判断所述对应运算等级的处理器资源是否能够满足所述需求量;
若判断出满足,则为所述任务集分配所述对应运算等级的处理器资源。
结合第一方面,在一些可能的实现方式中,所述判断所述对应运算等级的处理器资源是否能够满足所述需求量之后,所述方法还包括:
若判断出不满足,则确定所述任务集对所述对应运算等级的处理器资源的第一额外需求量;
根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量;
判断所述其他运算等级的处理器资源是否能够满足所述第二额外需求量;
若判断出满足,则根据所述第二额外需求量,为所述任务集分配所述其他运算等级的处理器资源。
结合第一方面,在一些可能的实现方式中,所述根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量,包括:
计算出所述对应运算等级所对应的第一运算系数与所述其他运算等级所对应的第二运算系数的比值;
计算出所述第二额外需求量为所述比值结果与所述第一额外需求量的乘积。
此外,结合第一方面,在一些可能的实现方式中,所述方法还包括:
根据所述对应运算等级的处理器资源中的任务负载量,调节所述处理器资源的性能指标,所述性能指标包括时钟频率、低功耗状态。
第二方面,本发明实施例提供了一种移动终端,所述移动终端包括功能模单元,所述功能单元用于执行本发明实施例第一方面任一方法中所描述的部分或全部步骤。
第三方面,本发明实施例提供了一种移动终端,包括:
处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线连接并完成相互间的通信;
所述存储器存储有可执行程序代码,所述通信接口用于无线通信;
所述处理器用于调用所述存储器中的所述可执行程序代码,执行本发明实施例第一方面任一方法中所描述的部分或全部步骤。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种处理器资源的分配的流程示意图;
图2是本发明实施例公开的另一种处理器资源的分配的流程示意图;
图3是本发明实施例公开的一种移动终端的单元组成框图;
图4是本发明实施例公开的一种移动终端的结构示意图;
图5是本发明实施例公开的另一种移动终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面对本发明的方法实施例进行详细描述。
请参见图1,图1是本发明实施例公开的一种处理器资源的分配方法的流程示意图。该处理器资源的分配方法可由移动终端实现。如图1所示,该方法至少包括以下步骤。
步骤S101,获取系统中并行运行的n个任务,n为整数。
在一个实施例中,移动终端获取系统中并行运行的n个任务。具体的,移动终端可实时获取系统中正在并行运行的n个任务,也可在一定周期内进行统计该周期内并行运行的n个任务,本发明实施例不做限定。其中,系统中并行运行的n个任务可代表应用程序中的n个进程或线程,当然也可代表处理器能够处理的其他任务等。其中,n个任务可包含不同的负载量,并且n个任务可来自同一个应用程序,也可来自不同的应用程序。
步骤S102,将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数。
在一个实施例中,基于n个任务所包含的不同的负载量,可将该n个任务按照负载量分类为m个负载等级的任务集。具体的,可预设负载量范围与负载等级的映射关系表,其中,每个负载量范围对应一个负载等级。将n个任务按照自身所携带的负载量进行分类,当任务中的负载量落入一个负载量范围时,则能够确定该任务所对应的负载等级,该负载等级与上述负载量范围对应。当根据上述方式确定n个任务的负载等级后,可将相同负载等级的任务进行统计,形成该负载等级下的任务集。所形成的m个负载等级的任务集中任务的数量总和为n。从而,通过上述方式可确定系统同时需要处理的任务,并且不同的负载等级下的任务数量,从而,可基于负载等级为不同的任务分配不同的处理器资源。
步骤S103,根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量。
在一个实施例中,当确定出m个负载等级的任务集后,可根据任务集中的任务数量以及该负载等级所对应的负载系数,确定该任务集对处理器资源的需求量。具体的,每个负载等级还可对应响应的负载系数,以通过该负载系数及具体的任务数量,计算任务集对处理器资源的需求量。本发明实施例所描述的处理器资源可为CPU(Central ProcessingUnit,中央处理器),也可为GPU(Graphics Processing Unit,图像处理器),其可包括处理器中集成的核心处理单元,其中,核心处理单元基于运算能力的不同,可运算的负载量也不同,运算能力越强,可运算的负载量相应也就也大。其中,处理器资源可包括多个处理器,并且每个处理器中可集成多个核心处理单元,这些核心处理单元的运算能力可相同,也可不同。
以负载等级分为3个等级为例,负载等级可分为高负载等级、中负载等级及低负载等级。其中,高负载等级中的任务所需要的处理器资源相对较大,如需要独立的核心处理单元进行处理,中负载等级中的任务可以允许一到两个任务共享一个独立的核心处理单元,低负载等级中的任务可以允许多个任务共享一个独立的核心处理单元。上述对应的核心处理单元的运算能力可相同,或者,高负载等级的核心处理单元的运算能力高,即运算等级高;响应的,中或低负载等级的任务对应的核心处理单元的运算等级对应为中或低。
举例说明,高负载等级对应的负载系数可为1,表明每个任务需要单独的核心处理单元进行处理;中负载等级对应的负载系数可为0.6;低负载等级对应的负载系数可为0.2。从而,根据不同负载等级对应的负载系数,以及该负载等级的任务集中的任务数量,可确定该任务集所需要的处理器资源。如确定高负载等级的任务集需要的处理器资源为1*高负载等级任务数。当然,还可通过其他系数来进一步确定所需要的处理器资源,如结合不同任务的不同负载量等,为不同的任务确定不同的权重值,计算该任务集的整体权重值后,再结合负载系数及任务数确定该任务集对处理器资源的需求量等。本发明实施例不做限定。
步骤S104,为所述任务集分配所述处理器资源的需求量。
在一个实施例中,当计算出不同的负载等级的任务集所需要的处理器资源的需求量后,可为不同负载等级的任务集分配其所对应的处理器资源的需求量。具体的,可优先为负载等级高的任务进行分配,优先为其分配运算能力强的核心处理单元,若运算能力强的核心处理单元的可用余量不足以满足负载等级高对处理器资源的需求量,则可进一步为其分配运算能量中的核心处理单元,通过上述方式直至分配完成。
本发明实施例中,通过获取系统中并行运行的n个任务,能够将该n个任务按照负载量分类为m个负载等级的任务集;还可根据任务集中的任务数量以及该任务集的负载等级所对应的负载系数,计算出该任务集对处理器资源的需求量,并可基于计算的需求量为该任务集分配处理器资源。通过上述方式,能够细化区分同时并行的任务,并可根据负载等级为不同的任务分配不同级别的处理器进行处理,有效的利用的处理器资源,提高了对多个并行运行任务的处理效率。
请参阅图2,图2是本发明实施例公开的另一种处理器资源的分配方法的流程示意图。该处理器资源的分配方法可由移动终端实现。如图1所示,该方法至少包括以下步骤。
步骤S201,获取系统中并行运行的n个任务,n为整数。
在一个实施例中,移动终端获取系统中并行运行的n个任务。具体的,移动终端可实时获取系统中正在并行运行的n个任务,也可在一定周期内进行统计该周期内并行运行的n个任务,本发明实施例不做限定。其中,系统中并行运行的n个任务可代表应用程序中的n个进程或线程,当然也可代表处理器能够处理的其他任务等。其中,n个任务可包含不同的负载量,并且n个任务可来自同一个应用程序,也可来自不同的应用程序。
步骤S202,将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数。
在一个实施例中,基于n个任务所包含的不同的负载量,可将该n个任务按照负载量分类为m个负载等级的任务集。具体的,可预设负载量范围与负载等级的映射关系表,其中,每个负载量范围对应一个负载等级。将n个任务按照自身所携带的负载量进行分类,当任务中的负载量落入一个负载量范围时,则能够确定该任务所对应的负载等级,该负载等级与上述负载量范围对应。当根据上述方式确定n个任务的负载等级后,可将相同负载等级的任务进行统计,形成该负载等级下的任务集。所形成的m个负载等级的任务集中任务的数量总和为n。从而,通过上述方式可确定系统同时需要处理的任务,并且不同的负载等级下的任务数量,从而,可基于负载等级为不同的任务分配不同的处理器资源。
步骤S203,计算出所述任务集对处理器资源的需求量为所述任务集中的任务数量与所述任务集的负载等级对应的负载系数的乘积结果。
在一个实施例中,当确定出m个负载等级的任务集后,可根据任务集中的任务数量以及该负载等级所对应的负载系数,确定该任务集对处理器资源的需求量。具体的,每个负载等级还可对应响应的负载系数,以通过该负载系数及具体的任务数量,计算任务集对处理器资源的需求量。本发明实施例所描述的处理器资源可为CPU(Central ProcessingUnit,中央处理器),也可为GPU(Graphics Processing Unit,图像处理器),其可包括处理器中集成的核心处理单元,其中,核心处理单元基于运算能力的不同,可运算的负载量也不同,运算能力越强,可运算的负载量相应也就也大。其中,处理器资源可包括多个处理器,并且每个处理器中可集成多个核心处理单元,这些核心处理单元的运算能力可相同,也可不同。
以负载等级分为3个等级为例,负载等级可分为高负载等级、中负载等级及低负载等级。其中,高负载等级中的任务所需要的处理器资源相对较大,如需要独立的核心处理单元进行处理,中负载等级中的任务可以允许一到两个任务共享一个独立的核心处理单元,低负载等级中的任务可以允许多个任务共享一个独立的核心处理单元。上述对应的核心处理单元的运算能力可相同,或者,高负载等级的核心处理单元的运算能力高,即运算等级高;响应的,中或低负载等级的任务对应的核心处理单元的运算等级对应为中或低。
举例说明,高负载等级对应的负载系数P_big可为1,表明每个任务需要单独的核心处理单元进行处理,高负载等级的任务数量为Rq_big,则高负载等级的任务集对处理器资源的需求量CPU_big=P_big*Rq_big;中负载等级对应的负载系数P_mid可为0.6,中负载等级的任务数量为Rq_mid,则中负载等级的任务集对处理器资源的需求量CPU_mid=P_mid*Rq_mid;低负载等级对应的负载系数P_small可为0.2,则低负载等级的任务集对处理器资源的需求量CPU_small=P_small*Rq_small。
步骤S204,基于处理器的运算能力,为所述任务集确定对应运算等级的处理器资源。
在一个实施例中,当通过上述步骤确定出不同负载等级的任务集所对应的处理器资源的需求量后,还可进一步对处理器资源进行分类统计。具体的,可基于处理器的运算能力,可为任务集确定对应运算等级的处理器资源。可对处理器(包括核心处理单元)按照运算能力进行分类,从而形成不同运算等级的处理器资源。如将处理器资源的运算等级分为高运算等级、中运算等级及低运算等级,其与上述任务集的负载等级可相对应,即高负载等级的任务对应高运算等级的处理器资源,中运算等级的任务对应中运算等级的处理器资源,低负载等级的任务对应低运算等级的处理器资源。当然,处理器资源的运算等级还可细分为更多等级,任务集的负载等级可对应响应的一个或多个处理器资源的运算等级等,本发明实施例不做限定。相同运算等级的处理器资源可包括至少一个核心处理单元,其中,核心处理单元可来自一个处理器或不同的处理器。
步骤S205,判断所述对应运算等级的处理器资源是否能够满足所述需求量。
在一个实施例中,当确定出负载等级的任务集所对应的运算等级的处理器资源后,判断向对应的运算等级的处理器资源是否能够满足该任务集对处理器资源的需求量。其中,可通过比对该处理器资源的可用余量与任务集对处理器资源的需求量,若处理器资源的可用余量大于需求量,则表明满足;若可用余量小于需求量,则表明不满足。
步骤S206,若判断出满足,则为所述任务集分配所述对应运算等级的处理器资源。
在一个实施例中,若通过上述步骤判断出任务集所对应的处理器资源满足上述需求量,则可为该任务集分配其所对应的处理器资源,从而充分利用了对应运算等级的处理器资源,并且能够快速有效的对任务集中的任务进行处理。
步骤S207,若判断出不满足,则确定所述任务集对所述对应运算等级的处理器资源的第一额外需求量。
在一个实施例中,若判断出不满足,则首先需要确定该任务集对处理器资源的额外需求量。具体的,以中负载等级的任务集所对应的中运算等级的处理器资源为例。上述中负载等级的任务集对处理器资源的需求量为CPU_mid;中运算等级的处理器资源的可用余量为Num_mid,且Num_mid<CPU_mid,则中负载等级的任务集对中运算等级的处理器资源的额外需求量CPU_mid_ex=CPU_mid-Num_mid,并确定该额外需求量为第一额外需求量。
步骤S208,根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量。
在一个实施例中,若负载等级的任务集所对应的运算等级的处理器资源的可用余量不足以满足该任务集对处理器资源的需求量时,即对应的运算等级的处理器资源仅能够处理部分任务集的需求量时,对于额外需求量可进一步寻求其他运算等级的处理器资源。由于每个运算等级的运算能力不同,因而,可将对应运算等级下的第一额外需求量转换为其他运算等级下的第二额外需求量。
具体的,本步骤可通过以下步骤实现:
计算出所述对应运算等级所对应的第一运算系数与所述其他运算等级所对应的第二运算系数的比值;
计算出所述第二额外需求量为所述比值结果与所述第一额外需求量的乘积。
以上述中负载等级的任务集为例,上述确定若中运算等级的处理器资源无法满足中负载等级的任务集的需求量时,可优先查询中运算等级以上的运算等级的处理器资源是否能够满足任务集的额外需求量。其中,运算等级不同,对应的运算系数不同,如高运算等级的运算系数Capacity_big为1,中运算等级的运算系数Capacity_mid为0.5,低运算等级的运算系数Capacity_small为0.2。通过上述方式将中负载等级的任务集对中运算等级的处理器资源的第一额外需求量转化为中负载等级的任务集对高运算等级的处理器资源的第二额外需求量可通过以下公式:
CPU_big_ex=CPU_mid_ex*Capacity_mid/Capacitiy_big。
步骤S209,判断所述其他运算等级的处理器资源是否能够满足所述第二额外需求量。
在一个实施例中,当计算出对其他运算等级的处理器资源的第二额外需求量时,可判断该其他运算等级的处理器资源是否能够满足该第二额外需求量,即可通过比对其他运算等级的处理器资源的可用余量与第二额外需求量,若可用余量小于第二额外需求量,则不满足;若可用余量大于第二额外需求量,则满足。需要注意的是,此时,该其他运算等级中的可用余量代表的是该其他运算等级的处理器资源已被分配给其对应负载等级的处理器后,还能够进行运算处理的余量。
步骤S210,若满足,则根据所述第二额外需求量,为所述任务集分配所述其他运算等级的处理器资源。
在一个实施例中,若通过上述方式判断出其他运算等级的处理器资源能够处理上述负载等级的任务集对处理器资源的额外需求量时,则除了为该负载等级的任务集分配其对应的运算等级的处理器资源,还可为该负载等级的任务集分配上述其他运算等级的处理器资源。
若上述其他运算等级的处理器资源仍不能够处理上述负载等级的任务集对处理器资源的额外需求量时,则可重复步骤S207~步骤S209。
举例说明,若中运算等级的处理器资源无法满足中负载等级的任务集的需求量时,可优先判断中运算等级以上的运算等级的处理器资源是否能够满足任务集的额外需求量。本发明实施例中,将中负载等级的任务集对中运算等级的处理器资源的第一额外需求量转化为中负载等级的任务集对高运算等级的处理器资源的第二额外需求量可通过以下公式:
CPU_big_ex=CPU_mid_ex*Capacity_mid/Capacitiy_big。
此时,若高运算等级的处理器资源的可用余量为Num_big-CPU_big;
比对CPU_big_ex与Num_big-CPU_big的大小;
若CPU_big_ex较Num_big-CPU_big大,则表明高运算等级的处理器资源的可用余量仍不能够满足中负载等级的任务集对处理器资源的额外需求量,此时,在中负载等级的任务集占用高运算等级的处理器资源的可用余量后,中负载等级对处理器资源的剩余的额外需求量可基于步骤S208中的计算方式进行计算。具体的,此时,剩余的额外需求量作为第一额外需求量为CPU_big_ex-(Num_big-CPU_big),继续向低运算等级的处理器资源确定对低运算等级的处理器资源的第二额外需求量,第二额外需求量可通过以下公式进行计算:
CPU_small_ex=(CPU_big_ex-(Num_big-CPU_big))*Capacity_big/Capacitiy_small。
通过上述方式直至中负载等级的任务集对处理器的需求量分配完成。从而可进一步充分利用处理器资源。
本发明实施例中,通过获取系统中并行运行的n个任务,能够将该n个任务按照负载量分类为m个负载等级的任务集;还可根据任务集中的任务数量以及该任务集的负载等级所对应的负载系数,计算出该任务集对处理器资源的需求量,并可基于计算的需求量为该任务集分配处理器资源。通过上述方式,能够细化区分同时并行的任务,并可根据负载等级为不同的任务分配不同级别的处理器进行处理,有效的利用的处理器资源,提高了对多个并行运行任务的处理效率。
下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例所实现的方法。如图3所示,该移动终端可以包括获取单元301、分类单元302、第一计算单元303、第一分配单元304。
其中,获取单元,用于获取系统中并行运行的n个任务,n为整数;
分类单元,用于将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数;
第一计算单元,用于根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
第一分配单元,用于为所述任务集分配所述处理器资源的需求量。
可选的,所述第一计算单元用于:
计算出所述任务集对处理器资源的需求量为所述任务集中的任务数量与所述任务集的负载等级对应的负载系数的乘积结果。
可选的,所述第一分配单元包括:
第一确定单元,用于基于处理器的运算能力,为所述任务集确定对应运算等级的处理器资源;
第一判断单元,用于判断所述对应运算等级的处理器资源是否能够满足所述需求量;
第二分配单元,用于若所述第一判断单元判断出满足,则为所述任务集分配所述对应运算等级的处理器资源。
可选的,所述移动终端还包括:
第二确定单元,用于若所述第一判断单元判断出不满足,则确定所述任务集对所述对应运算等级的处理器资源的第一额外需求量;
第二计算单元,用于根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量;
第二判断单元,用于判断所述其他运算等级的处理器资源是否能够满足所述第二额外需求量;
第三分配单元,用于若所述第二判断单元判断出满足,则根据所述第二额外需求量,为所述任务集分配所述其他运算等级的处理器资源。
可选的,所述第二计算单元用于:
计算出所述对应运算等级所对应的第一运算系数与所述其他运算等级所对应的第二运算系数的比值;
计算出所述第二额外需求量为所述比值结果与所述第一额外需求量的乘积。
本发明实施例中,通过获取系统中并行运行的n个任务,能够将该n个任务按照负载量分类为m个负载等级的任务集;还可根据任务集中的任务数量以及该任务集的负载等级所对应的负载系数,计算出该任务集对处理器资源的需求量,并可基于计算的需求量为该任务集分配处理器资源。通过上述方式,能够细化区分同时并行的任务,并可根据负载等级为不同的任务分配不同级别的处理器进行处理,有效的利用的处理器资源,提高了对多个并行运行任务的处理效率。
需要注意的是,本发明装置实施例所描述的移动终端是以功能单元的形式呈现。这里所使用的术语“单元”应当理解为尽可能最宽的含义,用于实现各个“单元”所描述功能的对象例如可以是集成电路ASIC,单个电路,用于执行一个或多个软件或固件程序的处理器(共享的、专用的或芯片组)和存储器,组合逻辑电路,和/或提供实现上述功能的其他合适的组件。
本发明实施例还提供了另一种移动终端,如图4所示,包括:处理器101,存储器102,通信接口103、通信总线104;其中,处理器101、存储器102、指纹识别模组105和通信接口103通过通信总线104连接并完成相互间的通信;处理器101通过通信接口103控制与外部蜂窝网的无线通信;通信接口103包括但不限于天线、放大器、收发信机、耦合器、LNA(LowNoise Amplifier,低噪声放大器)、双工器等。存储器102包括以下至少一种:随机存取存贮器、非易失性存储器以及外部存储器,存储器102中存储有可执行程序代码,该可执行程序代码能够引导处理器101执行本发明方法实施例中具体披露的处理器资源的分配方法,包括以下步骤:
所述处理器101获取系统中并行运行的n个任务,n为整数;
所述处理器101将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数;
所述处理器101根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
所述处理器101为所述任务集分配所述处理器资源的需求量。
本发明实施例中,通过获取系统中并行运行的n个任务,能够将该n个任务按照负载量分类为m个负载等级的任务集;还可根据任务集中的任务数量以及该任务集的负载等级所对应的负载系数,计算出该任务集对处理器资源的需求量,并可基于计算的需求量为该任务集分配处理器资源。通过上述方式,能够细化区分同时并行的任务,并可根据负载等级为不同的任务分配不同级别的处理器进行处理,有效的利用的处理器资源,提高了对多个并行运行任务的处理效率。
此外,上述存储器102中存储的可执行程序代码还用于执行上述图2所示的方法的相关步骤。在此暂不赘述。
本发明实施例还提供了另一种移动终端,如图5所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该移动终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以移动终端为手机为例:
图5示出的是与本发明实施例提供的移动终端相关的手机的部分结构的框图。参考图5,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wireless fidelity,WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对手机的各个构成部件进行具体的介绍:
RF电路910可用于信息的接收和发送。通常,RF电路910包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入设备930可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、指纹识别模组等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示屏941,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示屏941。
手机还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏941的亮度,接近传感器可在手机移动到耳边时,关闭显示屏941和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器961,传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一手机,或者将音频数据输出至存储器920以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮 、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块970,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个核心处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
手机还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
前述图1或图2所示的实施例中,各步骤方法流程可以基于该手机的结构实现。
前述图3所示的实施例中,各单元功能可以基于该手机的结构实现。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种处理器资源的分配方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种处理器资源的分配方法,其特征在于,包括:
获取系统中并行运行的n个任务,n为整数;
将所述n个任务按照负载量分类为m个负载等级的任务集, m为整数;
根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
为所述任务集分配所述处理器资源的需求量;
其中,所述根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量,包括:
计算出所述任务集对处理器资源的需求量为所述任务集中的任务数量与所述任务集的负载等级对应的负载系数的乘积结果。
2.如权利要求1所述方法,其特征在于,所述为所述任务集分配所述处理器资源的需求量,包括:
基于处理器的运算能力,为所述任务集确定对应运算等级的处理器资源;
判断所述对应运算等级的处理器资源是否能够满足所述需求量;
若判断出满足,则为所述任务集分配所述对应运算等级的处理器资源。
3.如权利要求2所述方法,其特征在于,所述判断所述对应运算等级的处理器资源是否能够满足所述需求量之后,所述方法还包括:
若判断出不满足,则确定所述任务集对所述对应运算等级的处理器资源的第一额外需求量;
根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量;
判断所述其他运算等级的处理器资源是否能够满足所述第二额外需求量;
若判断出满足,则根据所述第二额外需求量,为所述任务集分配所述其他运算等级的处理器资源。
4.如权利要求3所述方法,其特征在于,所述方法应用于移动终端,所述移动终端为手机、平板电脑、个人数字助理、销售终端或车载电脑,所述根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量,包括:
计算出所述对应运算等级所对应的第一运算系数与所述其他运算等级所对应的第二运算系数的比值;
计算出所述第二额外需求量为所述比值结果与所述第一额外需求量的乘积。
5.一种处理器资源的分配方法,其特征在于,包括:
获取系统中并行运行的n个任务,n为整数;
将所述n个任务按照负载量分类为m个负载等级的任务集, m为整数;
根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
为所述任务集分配所述处理器资源的需求量;
其中,所述为所述任务集分配所述处理器资源的需求量,包括:
基于处理器的运算能力,为所述任务集确定对应运算等级的处理器资源;
判断所述对应运算等级的处理器资源是否能够满足所述需求量;
若判断出满足,则为所述任务集分配所述对应运算等级的处理器资源。
6.一种移动终端,其特征在于,包括:
获取单元,用于获取系统中并行运行的n个任务,n为整数;
分类单元,用于将所述n个任务按照负载量分类为m个负载等级的任务集, m为整数;
第一计算单元,用于根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
第一分配单元,用于为所述任务集分配所述处理器资源的需求量;
其中,所述第一计算单元用于:
计算出所述任务集对处理器资源的需求量为所述任务集中的任务数量与所述任务集的负载等级对应的负载系数的乘积结果。
7.如权利要求6所述移动终端,其特征在于,所述第一分配单元包括:
第一确定单元,用于基于处理器的运算能力,为所述任务集确定对应运算等级的处理器资源;
第一判断单元,用于判断所述对应运算等级的处理器资源是否能够满足所述需求量;
第二分配单元,用于若所述第一判断单元判断出满足,则为所述任务集分配所述对应运算等级的处理器资源。
8.如权利要求7所述移动终端,其特征在于,所述移动终端还包括:
第二确定单元,用于若所述第一判断单元判断出不满足,则确定所述任务集对所述对应运算等级的处理器资源的第一额外需求量;
第二计算单元,用于根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量;
第二判断单元,用于判断所述其他运算等级的处理器资源是否能够满足所述第二额外需求量;
第三分配单元,用于若所述第二判断单元判断出满足,则根据所述第二额外需求量,为所述任务集分配所述其他运算等级的处理器资源。
9.如权利要求8所述移动终端,其特征在于,所述移动终端为手机、平板电脑、个人数字助理、销售终端或车载电脑,所述第二计算单元用于:
计算出所述对应运算等级所对应的第一运算系数与所述其他运算等级所对应的第二运算系数的比值;
计算出所述第二额外需求量为所述比值结果与所述第一额外需求量的乘积。
10.一种移动终端,其特征在于,包括:
获取单元,用于获取系统中并行运行的n个任务,n为整数;
分类单元,用于将所述n个任务按照负载量分类为m个负载等级的任务集, m为整数;
第一计算单元,用于根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
第一分配单元,用于为所述任务集分配所述处理器资源的需求量;
其中,所述第一分配单元包括:
第一确定单元,用于基于处理器的运算能力,为所述任务集确定对应运算等级的处理器资源;
第一判断单元,用于判断所述对应运算等级的处理器资源是否能够满足所述需求量;
第二分配单元,用于若所述第一判断单元判断出满足,则为所述任务集分配所述对应运算等级的处理器资源。
11.一种移动终端,其特征在于,包括:
处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线连接并完成相互间的通信;
所述存储器存储有可执行程序代码,所述通信接口用于无线通信;
所述处理器用于调用所述存储器中的所述可执行程序代码,执行如权利要求1-5任意一项所述的方法。
12.一种计算机存储介质,其特征在于,
所述计算机存储介质可存储有程序,所述程序执行时包括如权利要求1-5任意一项所述的方法。
CN201710995165.0A 2016-05-31 2016-05-31 处理器资源的分配方法及移动终端和介质产品 Expired - Fee Related CN107797866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710995165.0A CN107797866B (zh) 2016-05-31 2016-05-31 处理器资源的分配方法及移动终端和介质产品

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610380674.8A CN106055409B (zh) 2016-05-31 2016-05-31 一种处理器资源的分配方法及移动终端
CN201710995165.0A CN107797866B (zh) 2016-05-31 2016-05-31 处理器资源的分配方法及移动终端和介质产品

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201610380674.8A Division CN106055409B (zh) 2016-05-31 2016-05-31 一种处理器资源的分配方法及移动终端

Publications (2)

Publication Number Publication Date
CN107797866A CN107797866A (zh) 2018-03-13
CN107797866B true CN107797866B (zh) 2020-11-24

Family

ID=57172509

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710995165.0A Expired - Fee Related CN107797866B (zh) 2016-05-31 2016-05-31 处理器资源的分配方法及移动终端和介质产品
CN201610380674.8A Expired - Fee Related CN106055409B (zh) 2016-05-31 2016-05-31 一种处理器资源的分配方法及移动终端

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610380674.8A Expired - Fee Related CN106055409B (zh) 2016-05-31 2016-05-31 一种处理器资源的分配方法及移动终端

Country Status (4)

Country Link
US (2) US10664313B2 (zh)
EP (1) EP3407193A4 (zh)
CN (2) CN107797866B (zh)
WO (1) WO2017206856A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797866B (zh) * 2016-05-31 2020-11-24 Oppo广东移动通信有限公司 处理器资源的分配方法及移动终端和介质产品
CN109726073A (zh) * 2018-07-26 2019-05-07 平安科技(深圳)有限公司 数据库监控方法、装置、设备及可读存储介质
CN109144070A (zh) * 2018-09-28 2019-01-04 上汽通用五菱汽车股份有限公司 移动设备辅助自动驾驶方法、汽车和存储介质
CN109460296B (zh) * 2018-10-23 2019-12-27 中科驭数(北京)科技有限公司 一种处理器的资源分配方法、装置和存储介质
CN112052066A (zh) * 2019-06-05 2020-12-08 中兴通讯股份有限公司 一种降低虚拟机集群功耗的方法及装置
CN111240817B (zh) * 2020-01-06 2024-04-09 北京小米移动软件有限公司 资源调度方法、资源调度装置及存储介质
CN111338789B (zh) * 2020-02-07 2024-02-13 北京小米移动软件有限公司 资源调配方法和装置、电子设备以及计算机可读存储介质
CN111597052B (zh) * 2020-05-22 2024-03-01 青岛创新奇智科技集团股份有限公司 芯片管控方法、装置、服务器及可读存储介质
CN112328436B (zh) * 2021-01-06 2021-04-13 苏州希格玛科技有限公司 一种基于并行处理的数据处理方法
JP2023022415A (ja) * 2021-08-03 2023-02-15 株式会社Subaru 物体認識装置、コンピュータプログラム及び記録媒体
CN115981819B (zh) * 2022-12-30 2023-10-24 摩尔线程智能科技(北京)有限责任公司 用于多核系统的核心调度方法和装置
CN116468124A (zh) * 2023-04-27 2023-07-21 深圳量旋科技有限公司 一种量子任务的调度方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360246A (zh) * 2011-10-14 2012-02-22 武汉理工大学 一种异构分布式系统中基于自适应阈值的节能调度方法
CN102819458A (zh) * 2011-06-07 2012-12-12 中兴通讯股份有限公司 一种分布式操作命令的处理方法及系统
CN103235742A (zh) * 2013-04-07 2013-08-07 山东大学 多核集群服务器上基于依赖度的并行任务分组调度方法
CN103605567A (zh) * 2013-10-29 2014-02-26 河海大学 面向实时性需求变化的云计算任务调度方法
CN104168318A (zh) * 2014-08-18 2014-11-26 中国联合网络通信集团有限公司 一种资源服务系统及其资源分配方法
CN104182279A (zh) * 2014-02-26 2014-12-03 无锡天脉聚源传媒科技有限公司 一种任务调度方法、装置及系统
CN104424101A (zh) * 2013-09-10 2015-03-18 华为技术有限公司 程序性能干扰模型的确定方法及设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533716B2 (en) * 2004-03-31 2013-09-10 Synopsys, Inc. Resource management in a multicore architecture
US8332507B2 (en) * 2008-01-22 2012-12-11 Infosys Technologies Limited Method for determining service demands in a network load balanced scenario
US8935702B2 (en) * 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
US8893133B2 (en) * 2010-09-01 2014-11-18 International Business Machines Corporation Dynamic test scheduling by ordering tasks for performance based on similarities between the tasks
US20120137295A1 (en) * 2010-11-30 2012-05-31 Alcatel-Lucent Canada Inc. Method for displaying cpu utilization in a multi-processing system
US8522251B2 (en) * 2011-01-10 2013-08-27 International Business Machines Corporation Organizing task placement based on workload characterizations
US9038084B2 (en) * 2012-02-23 2015-05-19 International Business Machines Corporation Managing utilization of physical processors of a shared processor pool in a virtualized processor environment
US9262210B2 (en) * 2012-06-29 2016-02-16 International Business Machines Corporation Light weight workload management server integration
US9116744B2 (en) * 2012-09-07 2015-08-25 International Business Machines Corporation Resource management within a process via iterative negotiation
EP2945064A4 (en) * 2013-01-10 2016-09-07 Huizhou Tcl Mobile Comm Co Ltd METHOD AND MOBILE DEVICE FOR AN APPLICATION FOR AUTOMATIC ADJUSTMENT TO THE MODE OF A MULTICULTURAL PROCESSOR
US9342374B2 (en) * 2013-06-28 2016-05-17 Dell Products, L.P. Method of scheduling threads for execution on multiple processors within an information handling system
US20150324234A1 (en) * 2013-11-14 2015-11-12 Mediatek Inc. Task scheduling method and related non-transitory computer readable medium for dispatching task in multi-core processor system based at least partly on distribution of tasks sharing same data and/or accessing same memory address(es)
KR101684677B1 (ko) * 2013-12-26 2016-12-09 한국전자통신연구원 멀티코어 시스템의 시스템 성능 최적화 장치 및 방법
CN103713956B (zh) * 2014-01-06 2017-01-25 山东大学 应用于云计算虚拟化管理环境中的智能加权负载均衡方法
US9652298B2 (en) * 2014-01-29 2017-05-16 Vmware, Inc. Power-aware scheduling
CN105656973B (zh) * 2014-11-25 2018-11-13 中国科学院声学研究所 一种分布式节点组内任务调度方法及系统
CN104572308A (zh) * 2015-02-10 2015-04-29 飞狐信息技术(天津)有限公司 计算资源分配方法、分布式计算方法及装置
US9612865B2 (en) * 2015-06-15 2017-04-04 International Business Machines Corporation Managed services coordinator
US10157081B2 (en) * 2015-11-13 2018-12-18 Telefonaktiebolaget Lm Ericsson (Publ) Trainer of many core systems for adaptive resource control
US9811434B1 (en) * 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US20170322834A1 (en) * 2016-05-03 2017-11-09 International Business Machines Corporation Compute instance workload monitoring and placement
US10628222B2 (en) * 2016-05-17 2020-04-21 International Business Machines Corporation Allocating compute offload resources
CN107797866B (zh) * 2016-05-31 2020-11-24 Oppo广东移动通信有限公司 处理器资源的分配方法及移动终端和介质产品
US10459517B2 (en) * 2017-03-31 2019-10-29 Qualcomm Incorporated System and methods for scheduling software tasks based on central processing unit power characteristics

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819458A (zh) * 2011-06-07 2012-12-12 中兴通讯股份有限公司 一种分布式操作命令的处理方法及系统
CN102360246A (zh) * 2011-10-14 2012-02-22 武汉理工大学 一种异构分布式系统中基于自适应阈值的节能调度方法
CN103235742A (zh) * 2013-04-07 2013-08-07 山东大学 多核集群服务器上基于依赖度的并行任务分组调度方法
CN104424101A (zh) * 2013-09-10 2015-03-18 华为技术有限公司 程序性能干扰模型的确定方法及设备
CN103605567A (zh) * 2013-10-29 2014-02-26 河海大学 面向实时性需求变化的云计算任务调度方法
CN104182279A (zh) * 2014-02-26 2014-12-03 无锡天脉聚源传媒科技有限公司 一种任务调度方法、装置及系统
CN104168318A (zh) * 2014-08-18 2014-11-26 中国联合网络通信集团有限公司 一种资源服务系统及其资源分配方法

Also Published As

Publication number Publication date
EP3407193A4 (en) 2019-02-20
WO2017206856A1 (zh) 2017-12-07
US10664313B2 (en) 2020-05-26
CN107797866A (zh) 2018-03-13
US20180365068A1 (en) 2018-12-20
EP3407193A1 (en) 2018-11-28
US10496440B2 (en) 2019-12-03
CN106055409B (zh) 2017-11-14
CN106055409A (zh) 2016-10-26
US20190146843A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
CN107797866B (zh) 处理器资源的分配方法及移动终端和介质产品
US10496445B2 (en) Method for controlling application and related devices
CN106786962B (zh) 充电控制方法、装置及终端
CN107608861B (zh) 散热控制方法及装置
CN107302628B (zh) 应用功能的控制方法及相关产品
US11099898B2 (en) Method for allocating memory resources and terminal device
CN106502833B (zh) 数据备份方法及装置
CN109960581B (zh) 硬件资源配置方法、装置、移动终端及存储介质
CN107870874B (zh) 一种数据写入控制方法及存储设备
CN106815079B (zh) 一种热门应用控制的方法及移动终端
CN106095566B (zh) 一种响应控制方法及移动终端
CN106095567B (zh) 一种安装任务的分配方法及移动终端
CN106453909B (zh) 一种功率调整方法及移动终端
CN106815078B (zh) 一种内存控制方法及设备
CN106776040A (zh) 一种资源分配方法及装置
CN106227534A (zh) 一种显示屏幕划分方法及终端
CN108279978A (zh) 大数据的计算方法及系统
CN110489177B (zh) 应用控制方法、装置、存储介质及终端设备
CN116596202A (zh) 工单处理方法、相关装置及存储介质
CN106776041B (zh) 一种数据处理方法及装置
CN106791152B (zh) 一种通信方法及移动终端
CN105302733B (zh) 一种内存分配的方法及装置
CN106802828A (zh) 一种应用数据处理方法及设备
CN109885349B (zh) 应用清理方法、装置、移动终端及计算机可读存储介质
CN107071764B (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
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201124

CF01 Termination of patent right due to non-payment of annual fee