WO2017206856A1 - 处理器资源的分配方法及移动终端 - Google Patents
处理器资源的分配方法及移动终端 Download PDFInfo
- Publication number
- WO2017206856A1 WO2017206856A1 PCT/CN2017/086451 CN2017086451W WO2017206856A1 WO 2017206856 A1 WO2017206856 A1 WO 2017206856A1 CN 2017086451 W CN2017086451 W CN 2017086451W WO 2017206856 A1 WO2017206856 A1 WO 2017206856A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- load
- task set
- task
- demand
- level
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5055—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5044—Allocation 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
Definitions
- the present invention relates to the field of mobile terminal technologies, and in particular, to a method for allocating processor resources and a mobile terminal.
- a mobile terminal can be configured with an integrated multi-core processor. Because the load of each task running by the application is different, the operating system of the mobile terminal needs to properly allocate processor resources for multiple tasks running by multiple applications.
- the embodiment of the invention provides a method for allocating processor resources and a mobile terminal, which can improve processing efficiency of running multiple tasks of the processor.
- an embodiment of the present invention provides a method for allocating processor resources, including:
- the n tasks are classified into task sets of m load levels according to load amount, where m is an integer;
- a demand amount of the processor resources is allocated for the task set.
- the calculating, according to the number of tasks in the task set and the load factor corresponding to the load level of the task set, calculating the demand for the processor resource by the task set including:
- Calculating a demand product of the task set for the processor resource is a product of a product of the number of tasks in the task set and a load factor corresponding to a load level of the task set.
- the requirement for allocating the processor resource to the task set includes:
- the processor resource of the corresponding operation level is allocated to the task set.
- the method further includes:
- the processor resources of the other computing levels are allocated to the task set according to the second additional demand amount.
- the computing according to the first additional demand, calculating a second additional requirement for processor resources of other computing levels, including:
- the second additional demand is calculated as the product of the ratio result and the first additional demand.
- the task is a process of an application or a thread of an application.
- the load level includes any one of a high load level, a medium load level, and a low load level.
- the method further includes:
- an embodiment of the present invention provides a processor resource allocation apparatus, where the mobile terminal includes a functional unit, where the functional unit is configured to perform the part described in any one of the first aspects of the embodiments of the present invention or All steps.
- an embodiment of the present invention provides a mobile terminal, including:
- processor a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface are connected by the communication bus and complete communication with each other;
- the memory stores executable program code for wireless communication
- the processor is configured to invoke the executable program code in the memory to perform some or all of the steps described in any of the methods of the first aspect of the embodiments of the present invention.
- FIG. 1 is a schematic flowchart of a processor resource allocation according to an embodiment of the present invention
- FIG. 2 is a schematic flowchart of another processor resource allocation according to an embodiment of the present invention.
- FIG. 3 is a block diagram showing the unit composition of a processor resource allocation apparatus according to an embodiment of the present invention.
- FIG. 4 is a schematic structural diagram of a mobile terminal according to an embodiment of the present invention.
- FIG. 5 is a schematic structural diagram of another mobile terminal according to an embodiment of the present invention.
- references to "an embodiment” herein mean that a particular feature, structure, or characteristic described in connection with the embodiments can be included in at least one embodiment of the invention.
- the appearances of the phrases in various places in the specification are not necessarily referring to the same embodiments, and are not exclusive or alternative embodiments that are mutually exclusive. Those skilled in the art will understand and implicitly understand that the embodiments described herein can be combined with other embodiments.
- FIG. 1 is a schematic flowchart diagram of a method for allocating processor resources according to an embodiment of the present invention.
- the method of allocating the processor resources can be implemented by a mobile terminal. As shown in FIG. 1, the method includes at least the following steps.
- Step S101 Acquire n tasks running in parallel in the system, where n is an integer.
- the mobile terminal acquires n tasks running in parallel in the system.
- the mobile terminal can obtain n tasks that are running in parallel in the system in real time, and can also count n tasks that are run in parallel in the period in a certain period, which is not limited in the embodiment of the present invention.
- the n tasks running in parallel in the system can represent n processes or threads in the application, and of course can represent other tasks that the processor can handle.
- n tasks can contain different workloads, and n tasks can come from the same application or from different applications.
- step S102 the n tasks are classified into task sets of m load levels according to the load amount, where m is an integer.
- the n tasks may be classified into task sets of m load levels according to load amount based on different load amounts included in n tasks.
- a mapping relationship between the load amount range and the load level may be preset, where each load amount range corresponds to one load level.
- the n tasks are classified according to the load carried by the task. When the load in the task falls within a load range, the load level corresponding to the task can be determined, and the load level corresponds to the load range.
- the tasks of the same load level can be counted to form a task set under the load level.
- the sum of the number of task-focused tasks of the m load levels formed is n.
- Step S103 according to the number of tasks in the task set and the load corresponding to the load level of the task set The coefficient calculates the amount of processor resources required by the task set.
- the demand for the processor resources of the task set may be determined according to the number of tasks in the task set and the load factor corresponding to the load level. Specifically, each load level may also correspond to a corresponding load factor, to calculate the demand for processor resources by the task set by using the load factor and the specific task quantity.
- the processor resource described in the embodiment of the present invention may be a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), which may include a core processing unit integrated in the processor, where The core processing unit is different in computing power, and the amount of load that can be calculated is also different. The higher the computing power, the larger the load that can be calculated.
- the processor resource may include multiple processors, and multiple core processing units may be integrated in each processor, and the computing powers of the core processing units may be the same or different.
- the load level can be divided into a high load level, a medium load level, and a low load level.
- the tasks in the high load level require relatively large processor resources.
- a separate core processing unit is required for processing.
- the tasks in the medium load level can allow one or two tasks to share an independent core processing unit.
- Tasks in the load level can allow multiple tasks to share a single core processing unit.
- the computing power of the corresponding core processing unit may be the same, or the computing power of the core processing unit of the high load level is high, that is, the computing level is high; correspondingly, the computing level of the core processing unit corresponding to the task of the medium or low load level corresponds to Medium or low.
- the load factor corresponding to the high load level may be 1, indicating that each task requires a separate core processing unit for processing; the load factor corresponding to the medium load level may be 0.6; and the load factor corresponding to the low load level may be 0.2.
- the processor resources required for the task set can be determined according to the load factor corresponding to the different load levels and the number of tasks in the task set of the load level.
- the processor resource required to determine the high load level task set is 1* high load level task number.
- other coefficients can be used to further determine the required processor resources, such as combining different workloads of different tasks, etc., to determine different weight values for different tasks, calculate the overall weight value of the task set, and then combine the load.
- the coefficient and the number of tasks determine the amount of processor resources required for the task set.
- the embodiments of the present invention are not limited.
- Step S104 allocating a demand amount of the processor resource to the task set.
- the set of tasks corresponding to the processor resources may be allocated for the task sets of different load levels.
- the task with a high load level can be preferentially assigned, and the core processing unit with strong computing power is preferentially assigned to it. If the core processing unit with strong computing capability has insufficient available capacity, the demand for processor resources is high.
- the amount can be further assigned to the core processing unit in the computing energy, in the above manner until the allocation is completed.
- the n tasks can be classified into task sets of m load levels according to the load amount; and the number of tasks in the task set and the load of the task set can also be
- the load factor corresponding to the level calculates the demand for the processor resource of the task set, and allocates processor resources for the task set based on the calculated demand.
- FIG. 2 is a schematic flowchart diagram of another method for allocating processor resources according to an embodiment of the present invention.
- the method of allocating the processor resources can be implemented by a mobile terminal. As shown in FIG. 1, the method includes at least the following steps.
- Step S201 Acquire n tasks running in parallel in the system, where n is an integer.
- the mobile terminal acquires n tasks running in parallel in the system.
- the mobile terminal can obtain n tasks that are running in parallel in the system in real time, and can also count n tasks that are run in parallel in the period in a certain period, which is not limited in the embodiment of the present invention.
- the n tasks running in parallel in the system can represent n processes or threads in the application, and of course can represent other tasks that the processor can handle.
- n tasks can contain different workloads, and n tasks can come from the same application or from different applications.
- step S202 the n tasks are classified into task sets of m load levels according to the load amount, where m is an integer.
- the n tasks may be classified into task sets of m load levels according to load amount based on different load amounts included in n tasks.
- a mapping relationship between the load amount range and the load level may be preset, where each load amount range corresponds to one load level.
- the n tasks are classified according to the load carried by the task. When the load in the task falls within a load range, the load level corresponding to the task can be determined, and the load level corresponds to the load range.
- the tasks of the same load level can be counted to form a task set under the load level.
- the sum of the number of task-focused tasks of the m load levels formed is n.
- Step S203 Calculate a product result of the task set to the processor resource as a product of the number of tasks in the task set and a load factor corresponding to the load level of the task set.
- the demand for the processor resources of the task set may be determined according to the number of tasks in the task set and the load factor corresponding to the load level. Specifically, each load level may also correspond to a corresponding load factor, to calculate the demand for processor resources by the task set by using the load factor and the specific task quantity.
- the processor resource described in the embodiment of the present invention may be a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), which may include a core processing unit integrated in the processor, where The core processing unit is different in computing power, and the amount of load that can be calculated is also different. The higher the computing power, the larger the load that can be calculated.
- the processor resource may include multiple processors, and multiple core processing units may be integrated in each processor, and the computing powers of the core processing units may be the same or different.
- the load level can be divided into a high load level and a medium load level. And low load level.
- the tasks in the high load level require relatively large processor resources.
- a separate core processing unit is required for processing.
- the tasks in the medium load level can allow one or two tasks to share an independent core processing unit.
- Tasks in the load level can allow multiple tasks to share a single core processing unit.
- the computing power of the corresponding core processing unit may be the same, or the computing power of the core processing unit of the high load level is high, that is, the computing level is high; correspondingly, the computing level of the core processing unit corresponding to the task of the medium or low load level corresponds to Medium or low.
- the load factor P_big corresponding to the high load level may be 1, indicating that each task requires a separate core processing unit for processing, and the number of tasks with a high load level is Rq_big, and the demand for processor resources of the high load level task set is
- the amount of CPU_big P_big*Rq_big
- the load factor P_mid corresponding to the load level in the middle can be 0.6
- the number of tasks in the medium load level is Rq_mid
- the load factor can be understood as the number of core processing units required for the task corresponding to the load factor. If the computing power of the core processing unit included in the processor is the same, the demand of the task can be determined according to the load factor. the amount. For example, for a high load level task, the load factor is 1, correspondingly, a separate core processing unit that does not perform other tasks is required to specifically handle the task of the high load level; for the medium load level task, the load A coefficient of 0.6, correspondingly, requires 60% of the processing units of a core processing unit to process the task of the medium load level, and the remaining 40% of the processing units of the core processing unit can be used to process other medium load levels.
- the load factor is 0.2, and correspondingly, 20% of the 1 core processing unit is required to process the low load level task, and the remaining 80% of the core processing unit is processed. Units can be used to handle other low load level tasks.
- the demand for the task set can be determined based on the number of tasks in the task set. For a high load level task set, if the number of tasks is 5, the demand for the high load level task set is 5 core processing units; for the medium load level task set, if the task number is 5, the medium load level The demand for the task set is 3 core processing units; for the task quantity with low load level, if the number of tasks is 5, the demand for the low load level task set is 1 core processing unit.
- the above core processing unit can be understood as having the same computing power or the same amount of tasks.
- the embodiment of the present application provides another manner to determine the amount of processor resources required by the task set:
- the total load of the task set is determined according to the number of tasks in the task set, the load factor corresponding to the load level, and the load of each task in the task set. This total amount of load can be used as a demand for processor resources for the task set. In this case, the processor resource needs to allocate a core processing unit capable of carrying the total amount of the load for the task set.
- Step S204 Determine, according to the computing capability of the processor, a processor resource corresponding to the operation level for the task set.
- the processor resources can be further classified and counted. Specifically, based on the computing power of the processor, the processor resource corresponding to the operation level may be determined for the task set.
- the processor (including the core processing unit) can be classified according to computing power to form processor resources of different computing levels.
- the computing level of the processor resource is divided into a high computing level, a medium computing level, and a low computing level, which may correspond to the load level of the above task set, that is, the task of the high load level corresponds to the processor resource of the high computing level,
- the task of the operation level corresponds to the processor resource of the middle operation level
- the task of the low load level corresponds to the processor resource of the low operation level.
- the operation level of the processor resource may be further divided into more levels, and the load level of the task set may correspond to the operation level of the corresponding one or more processor resources, etc., which is not limited in the embodiment of the present invention.
- Processor resources of the same level of operation may include at least one core processing unit, where the core processing unit may be from one processor or a different processor.
- the smallest unit of processor resources that can be allocated for a task set is a core processing unit.
- the operation level of the core processing unit may be determined according to the computing power of the core processing unit in the processor resource, and the core processing units of the same operation level are grouped into one unit set.
- the processor resources are divided into a unit set of a high operation level, a unit set of a medium operation level, and a unit set of a low operation level.
- the computing power of the core processing unit can also be understood as at least one of the ability of the core processing unit to carry the load, or the efficiency of the processing task; for example, it can be carried in the core processing unit included in the processor resource.
- the load is large, or the core processing unit is highly efficient in processing the task, or the core processing unit having a high comprehensive result can be determined by considering the load amount and the efficiency of the processing task, and the core processing unit can be determined as a high computing level.
- a corresponding set of cells can be assigned to a task set based on its load level. For example, a task set that can be at a high load level corresponds to a set of cells of a high computation level.
- a corresponding set of cells can be assigned to the task set based on the total amount of load. For example, if the total load of the task set of the medium load level is the highest, the task set of the medium load level corresponds to the set of cells of the high operation level.
- Step S205 determining whether the processor resource of the corresponding operation level can satisfy the demand amount.
- the available margin of the processor resource and the demand for the processor resource of the task set may be satisfied, if the available margin of the processor resource is greater than the required amount, indicating that the content is satisfied; if the available margin is less than the required amount, Indicates that it is not satisfied.
- the available margin of processor resources can be determined based on the demand of the task set.
- the available margin of the processor resources is the number of core processing units of the remaining unprocessed tasks in the unit set corresponding to the task set.
- the demand set of the high load level task set is 5 core processing units, and if the high load level task set corresponds to the high operation level unit set, the core processing unit of the high computing level unit set in the processor resource is determined. Whether the number satisfies 5 or not. If it is satisfied, 5 sets of high-level operation units can be selected to process the task set of the high load level, that is, step S206 is performed; if not, other operations need to be determined. The number of available core processing units of the unit set in the rank is calculated, that is, step S207 is performed.
- the available margin of the processor resource is the amount of load that each core processing unit in the unit set corresponding to the task set can also carry.
- the total load of a high load level task set is N load units, N is a positive integer, and the load unit is the minimum load that can be processed independently. Assuming that the task set of the high load level corresponds to the unit set of the high operation level, it is necessary to determine the number of load units that the unit set of the high operation level can carry.
- the number of load units that the remaining space of the core processing unit can carry is determined, or another core processing unit in the unit set is not processed.
- the task that is, the total space available for the core processing unit, determines the number of load units that can be carried by the entire space of the core processing unit. In the above manner, it is determined whether the number of load units that can be carried by the unit set of the high operation level satisfies N. If it is greater than N, that is, the step S206 is performed; if it is less than N, that is, the step S207 is performed.
- Step S206 if it is determined that the device resource is satisfied, the processor resource corresponding to the operation level is allocated to the task set.
- the processor resource corresponding to the task set may be allocated to the task set, thereby fully utilizing the processor corresponding to the operation level. Resources, and the ability to process tasks in a task set quickly and efficiently.
- Step S207 If it is determined that the content is not satisfied, determine a first additional demand amount of the processor resource of the task set to the corresponding operation level.
- the processor resource of the middle operation level corresponding to the task set of the medium load level is taken as an example.
- the above-mentioned load level task set requires processor resources to be CPU_mid; the available level of processor resources in the operation level is Num_mid, and Num_mid ⁇ CPU_mid, then the load level of the task set is in the operation level of the processor.
- the additional demand for the resource CPU_mid_ex CPU_mid-Num_mid and determine that the additional demand is the first additional demand.
- Step S208 calculating a second additional demand for processor resources of other computing levels according to the first additional demand.
- processor resources of other levels of operation can be further sought for additional requirements. Since the computing power of each computing level is different, the first additional demand under the corresponding computing level can be converted to the second additional demand in the other computing levels.
- this step can be implemented by the following steps:
- the second additional demand is calculated as the product of the ratio result and the first additional demand.
- the above-mentioned processor resources for determining the operation level are not When the method satisfies the demand of the task set of the medium load level, it can preferentially query whether the processor resources of the operation level above the operation level can satisfy the additional requirement of the task set.
- the calculation levels are different, and the corresponding operation coefficients are different.
- the operation coefficient Capacity_big of the high operation level is 1
- the operation coefficient Capacity_mid of the middle operation level is 0.5
- the operation coefficient Capacity_small of the low operation level is 0.2.
- the first additional demand of the processor resource of the middle load level of the task set in the medium load level is converted into the task set of the medium load level by the above method
- the second additional demand of the processor resource of the high computing level is determined by the following formula :
- CPU_big_ex CPU_mid_ex*Capacity_mid/Capacitiy_big.
- Step S209 determining whether the processor resources of the other computing levels can satisfy the second additional demand.
- the available margin of processor resources of other computing levels and the second additional demand are not satisfied if the available margin is less than the second additional demand; if the available margin is greater than the second additional demand, then it is satisfied. It should be noted that at this time, the available margin in the other operation levels represents the margin of the arithmetic processing after the processor resources of the other operation levels have been allocated to the processors of the corresponding load levels.
- Step S210 if yes, allocate the processor resources of the other operation level to the task set according to the second additional demand amount.
- the processor resources of other computing levels are capable of processing the additional requirement of the processor set of the load level of the load level, then the corresponding task set is assigned to the task set of the load level.
- the processor resources of the computing level may also allocate processor resources of the other computing levels for the task set of the load level.
- steps S207 to S209 may be repeated.
- the processor resource of the middle operation level cannot satisfy the requirement of the task set of the medium load level, it can be preferentially determined whether the processor resource of the operation level above the operation level can satisfy the additional requirement of the task set.
- the first additional requirement of the processor resource of the middle load level of the task set of the medium load level is converted into the task set of the medium load level, and the second additional requirement of the processor resource of the high computing level is by the following formula:
- CPU_big_ex CPU_mid_ex*Capacity_mid/Capacitiy_big.
- the remaining additional demand for the processor resource of the medium load level may be calculated based on the calculation manner in step S208. Specifically, at this time, the remaining additional demand as the first additional demand is CPU_big_ex- (Num_big-CPU_big), continuing to determine a second additional demand for processor resources of low computational level to processor resources of low computational level, the second additional requirement being calculated by the following formula:
- CPU_small_ex (CPU_big_ex-(Num_big-CPU_big))*Capacity_big/Capacitiy_small.
- the demand allocation of the processor to the task set of the medium load level is completed in the above manner. Thereby the processor resources can be further utilized.
- the n tasks can be classified into task sets of m load levels according to the load amount; and the number of tasks in the task set and the load of the task set can also be
- the load factor corresponding to the level calculates the demand for the processor resource of the task set, and allocates processor resources for the task set based on the calculated demand.
- FIG. 3 is a device for allocating processor resources according to an embodiment of the present application.
- the apparatus may include an acquisition unit 301, a classification unit 302, a first calculation unit 303, and a first distribution unit 304.
- the obtaining unit 301 is configured to acquire n tasks running in parallel in the system, where n is an integer;
- a classifying unit 302 configured to classify the n tasks into task sets of m load levels according to a load amount, where m is an integer;
- the first calculating unit 303 is configured to calculate, according to the number of tasks in the task set and the load factor corresponding to the load level of the task set, the required amount of processor resources of the task set;
- the first allocating unit 304 is configured to allocate a required amount of the processor resource to the task set.
- the first calculating unit 303 is configured to:
- the first allocating unit 304 is configured to:
- the task set is assigned an available core processing unit that satisfies the demand.
- the first calculating unit 303 is configured to:
- the first allocating unit 304 is configured to:
- the task set is assigned an available core processing unit capable of carrying the demand.
- the mobile terminal further includes:
- a determining unit 305 configured to determine, according to the first determining unit that the first determining unit is not satisfied, determining a first additional requirement amount of the processor resource of the task set to the corresponding computing level;
- a second calculating unit 306, configured to calculate, according to the first additional demand, a second additional demand for processor resources of other computing levels
- the determining unit 307 is configured to determine whether the processor resources of the other computing levels can satisfy the second additional demand amount
- the second allocating unit 308 is configured to allocate the processor resources of the other computing level to the task set according to the second additional demand amount if the second determining unit determines that the content is satisfied.
- the second calculating unit 306 is configured to:
- the second additional demand is calculated as the product of the ratio result and the first additional demand.
- the n tasks can be classified into task sets of m load levels according to the load amount; and the number of tasks in the task set and the load of the task set can also be
- the load factor corresponding to the level calculates the demand for the processor resource of the task set, and allocates processor resources for the task set based on the calculated demand.
- the mobile terminal described in the device embodiment of the present invention is presented in the form of a functional unit.
- the term "unit” as used herein shall be understood to mean the broadest possible meaning, and the object for implementing the functions described for each "unit” may be, for example, an integrated circuit ASIC, a single circuit for executing one or more software or firmware.
- a processor shared, dedicated or chipset
- memory of the program combinatorial logic, and/or other suitable components that perform the functions described above.
- the embodiment of the present invention further provides another mobile terminal, as shown in FIG. 4, including: a processor 101, a memory 102, a communication interface 103, and a communication bus 104; wherein the processor 101, the memory 102, and the communication interface 103 pass The communication bus 104 connects and completes communication with each other; the processor 101 controls wireless communication with the external cellular network through the communication interface 103; the processor 101 includes controller and processor resources, and the processor resources may include one or more processors, One or more core processing units may also be included.
- the controller is used to allocate processor resources for tasks.
- the communication interface 103 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, an LNA (Low Noise Amplifier), a duplexer, and the like.
- the memory 102 includes at least one of: a random access memory, a nonvolatile memory, and an external memory in which executable program code is stored, the executable program code being capable of directing a controller in the processor 101 to execute the present
- the method for allocating processor resources specifically disclosed in the embodiments of the method includes the following steps:
- the n tasks are classified into task sets of m load levels according to load amount, where m is an integer;
- a demand amount of the processor resources is allocated for the task set.
- the n tasks can be classified into task sets of m load levels according to the load amount; and the number of tasks in the task set and the load of the task set can also be
- the load factor corresponding to the level calculates the demand for the processor resource of the task set, and allocates processor resources for the task set based on the calculated demand.
- executable program code stored in the above memory 102 is also used to perform the relevant steps of the method illustrated in FIG. 2 above. I won't go into details here.
- the embodiment of the present invention further provides another mobile terminal.
- the mobile terminal can be any terminal device including a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), a POS (Point of Sales), an in-vehicle computer, and the mobile terminal is used as a mobile phone as an example:
- FIG. 5 is a block diagram showing a partial structure of a mobile phone related to a mobile terminal provided by an embodiment of the present invention.
- the mobile phone includes: a radio frequency (RF) circuit 910, a memory 920, an input unit 930, a display unit 940, a sensor 950, an audio circuit 960, a wireless fidelity (Wi-Fi) module 970, and processing.
- Device 980 and components such as power supply 990.
- the structure of the handset shown in FIG. 5 does not constitute a limitation to the handset, and may include more or less components than those illustrated, or some components may be combined, or different components may be arranged.
- the RF circuit 910 can be used for receiving and transmitting information.
- RF circuit 910 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like.
- LNA Low Noise Amplifier
- RF circuitry 910 can also communicate with the network and other devices via wireless communication.
- the above wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code Division). Multiple Access, CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), E-mail, Short Messaging Service (SMS), and the like.
- GSM Global System of Mobile communication
- GPRS General Packet Radio Service
- CDMA Code Division Multiple Access
- WCDMA Wideband Code Division Multiple Access
- LTE Long Term Evolution
- E-mail Short Messaging Service
- the memory 920 can be used to store software programs and modules, and the processor 980 executes various functional applications and data processing of the mobile phone by running software programs and modules stored in the memory 920.
- the memory 920 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function, and the like; the storage data area may store data created according to usage of the mobile phone, and the like.
- memory 920 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
- the input unit 930 can be configured to receive input numeric or character information and to generate key signal inputs related to user settings and function controls of the handset.
- the input device 930 may include, but is not limited to, one or more of a physical keyboard, function keys (such as a volume control button, a switch button, etc.), a trackball, a mouse, a joystick, a fingerprint recognition module, and the like.
- the display unit 940 can be used to display information input by the user or information provided to the user as well as various menus of the mobile phone.
- the display unit 940 can include a display screen 941.
- the display screen 941 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
- the handset may also include at least one type of sensor 950, such as a light sensor, motion sensor, and other sensors.
- the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display screen 941 according to the brightness of the ambient light, and the proximity sensor may turn off the display screen 941 and/or when the mobile phone moves to the ear. Or backlight.
- the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
- the mobile phone can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
- the gesture of the mobile phone such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration
- vibration recognition related functions such as pedometer, tapping
- the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
- An audio circuit 960, a speaker 961, and a microphone 962 can provide an audio interface between the user and the handset.
- the audio circuit 960 can transmit the converted electrical data of the received audio data to the speaker 961, and convert it into a sound signal output by the speaker 961.
- the microphone 962 converts the collected sound signal into an electrical signal, and the audio circuit 960 After receiving, it is converted into audio data, and then processed by the audio data output processor 980, sent to the other mobile phone via the RF circuit 910, or outputted to the memory 920 for further processing.
- WiFi is a short-range wireless transmission technology
- the mobile phone can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 970, which provides users with wireless broadband Internet access.
- FIG. 5 shows the WiFi module 970, it can be understood that it does not belong to the essential configuration of the mobile phone, and may be omitted as needed within the scope of not changing the essence of the invention.
- the processor 980 is a control center of the mobile phone, and connects various mobile phones by using various interfaces and lines. In part, the mobile phone is monitored in its entirety by running or executing software programs and/or modules stored in memory 920, as well as invoking data stored in memory 920, performing various functions and processing data of the handset.
- the processor 980 may include one or more core processing units and a controller for controlling one or more core processing units; preferably, the processor 980 may integrate an application processor and a modem processor.
- the application processor mainly processes an operating system, a user interface, an application, and the like, and the modem processor mainly processes wireless communication. It will be appreciated that the above described modem processor may also not be integrated into the processor 980.
- the handset also includes a power source 990 (such as a battery) that supplies power to the various components.
- a power source 990 such as a battery
- the power source can be logically coupled to the processor 980 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
- the mobile phone may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
- each step method flow may be implemented based on the structure of the mobile phone.
- each unit function can be implemented based on the structure of the mobile phone.
- the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium may store a program, and the program includes some or all of the steps of the method for allocating processor resources described in the foregoing method embodiments.
- the computer storage medium may store a program
- the program includes some or all of the steps of the method for allocating processor resources described in the foregoing method embodiments.
- the disclosed apparatus may be implemented in other ways.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical or otherwise.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable memory. Based on such understanding, the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a memory. A number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing memory includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like, which can store program codes.
- ROM Read-Only Memory
- RAM Random Access Memory
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为整数(S101);将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数(S102);根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量(S103);为所述任务集分配所述处理器资源的需求量(S104)。这有利于合理使用处理器资源,提升处理器运行多个任务的处理效率。
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 Processing Unit,中央处理器),也可为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 Processing Unit,中央处理器),也可为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。
也就是说,负载系数可以理解为该负载系数对应的任务所需的核心处理单元个数,假设处理器中包括的核心处理单元的运算能力相同,则可以根据该负载系数,确定该任务的需求量。例如,对于高负载等级的任务,负载系数为1,则相应的,需要1个单独的不执行其他任务的核心处理单元专门对该高负载等级的任务进行处理;对于中负载等级的任务,负载系数为0.6,则相应的,需要1个核心处理单元的60%处理单元来对该中负载等级的任务进行处理,该核心处理单元的剩下40%处理单元能够用来处理其他中负载等级的任务;对于低负载等级的任务,负载系数为0.2,则相应的,需要1个核心处理单元的20%部分来对该低负载等级的任务进行处理,该核心处理单元的剩下80%部分处理单元能够用来处理其他低负载等级的任务。
当确定任务集中各任务的需求量后,可以根据任务集中的任务数量,来确定任务集的需求量。对于高负载等级的任务集,如果任务数量为5,则高负载等级的任务集的需求量为5个核心处理单元;对于中负载等级的任务集,如果任务数量为5,则中负载等级的任务集的需求量为3个核心处理单元;对于低负载等级的任务量,如果任务数量为5,则低负载等级的任务集的需求量为1个核心处理单元。上述核心处理单元可以理解为运算能力相同,或承载任务量相同。
或者,本申请实施例还提供了另外一种方式来确定任务集对处理器资源的需求量:
根据任务集中的任务数量,负载等级对应的负载系数,和该任务集中的各任务的负载量,确定该任务集的负载总量。该负载总量可以作为任务集对处理器资源的需求量。在这种情况下,处理器资源需要为该任务集分配能够承载该负载总量的核心处理单元。
步骤S204,基于处理器的运算能力,为所述任务集确定对应运算等级的处理器资源。
在一个实施例中,当通过上述步骤确定出不同负载等级的任务集所对应的
处理器资源的需求量后,还可进一步对处理器资源进行分类统计。具体的,可基于处理器的运算能力,可为任务集确定对应运算等级的处理器资源。可对处理器(包括核心处理单元)按照运算能力进行分类,从而形成不同运算等级的处理器资源。如将处理器资源的运算等级分为高运算等级、中运算等级及低运算等级,其与上述任务集的负载等级可相对应,即高负载等级的任务对应高运算等级的处理器资源,中运算等级的任务对应中运算等级的处理器资源,低负载等级的任务对应低运算等级的处理器资源。当然,处理器资源的运算等级还可细分为更多等级,任务集的负载等级可对应相应的一个或多个处理器资源的运算等级等,本发明实施例不做限定。相同运算等级的处理器资源可包括至少一个核心处理单元,其中,核心处理单元可来自一个处理器或不同的处理器。
其中,一个实施例中的实现方式为:
假设能够为任务集分配的处理器资源的最小单位为一个核心处理单元。可以根据处理器资源中的核心处理单元的运算能力,确定核心处理单元的运算等级,并将相同运算等级的核心处理单元集合成一个单元集。例如,将处理器资源分为高运算等级的单元集、中运算等级的单元集以及低运算等级的单元集。在此,核心处理单元的运算能力也可以理解为核心处理单元能够承载负载量的能力,或者,处理任务的效率中的至少一种;例如,在处理器资源包括的核心处理单元中能够承载的负载量大,或者,该核心处理单元处理任务的效率高,或者,综合考虑所承载的负载量和处理任务的效率后综合结果高的核心处理单元可以确定为高运算等级的核心处理单元,进而形成高运算等级的单元集。
可以基于任务集的负载等级,为其分配对应的单元集。例如,可以高负载等级的任务集对应高运算等级的单元集。
或者,可以基于任务集的负载总量,为其分配对应的单元集。例如,中负载等级的任务集的负载总量最高,则为中负载等级的任务集对应高运算等级的单元集。
步骤S205,判断所述对应运算等级的处理器资源是否能够满足所述需求量。
在一个实施例中,当确定出负载等级的任务集所对应的运算等级的处理器资源后,判断向对应的运算等级的处理器资源是否能够满足该任务集对处理器资源的需求量。其中,可通过比对该处理器资源的可用余量与任务集对处理器资源的需求量,若处理器资源的可用余量大于需求量,则表明满足;若可用余量小于需求量,则表明不满足。
在此,处理器资源的可用余量可以根据任务集的需求量确定。
如果任务集的需求量为核心处理单元的个数,则处理器资源的可用余量为任务集对应的单元集中余下未处理任务的核心处理单元的数量。例如,高负载等级的任务集的需求量为5个核心处理单元,假设高负载等级的任务集对应高运算等级的单元集,则判断处理器资源中高运算等级的单元集中可用的核心处理单元的数量是否满足5个,如果满足,则可以选取5个高运算等级的单元集来处理高负载等级的任务集,即执行步骤S206;如果不满足,则需要确定其他运
算等级中的单元集的可用核心处理单元的数量,即执行步骤S207。
如果任务集的需求量为负载总量,则处理器资源的可用余量为任务集对应的单元集中各核心处理单元还能够承载的负载量。例如,高负载等级的任务集的负载总量为N个负载单位,N为正整数,负载单位为能够被独立处理的最小负载量。假设高负载等级的任务集对应高运算等级的单元集,则需要判断高运算等级的单元集能够承载的负载单位的数量。例如,该单元集中的一个核心处理单元的一部分空间已被占用执行其他任务,则确定该核心处理单元的剩余空间能够承载的负载单位的数量,或者,该单元集中的另一个核心处理单元未处理任务,即该核心处理单元的全部空间可用,则确定该核心处理单元的全部空间能够承载的负载单位的数量。通过上述方式,确定高运算等级的单元集能够承载的负载单位的数量是否满足N个,如果大于N个,即满足,则执行步骤S206;如果小于N个,即不满足,则执行步骤S207。
步骤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所示,图3是本申请实施例提供的一种处理器资源的分配装置。该装置可以包括获取单元301、分类单元302、第一计算单元303、第一分配单元304。
其中,获取单元301,用于获取系统中并行运行的n个任务,n为整数;
分类单元302,用于将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数;
第一计算单元303,用于根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
第一分配单元304,用于为所述任务集分配所述处理器资源的需求量。
可选的,所述第一计算单元303用于:
计算出所述任务集对处理器资源的需求量为所述任务集中的任务数量与所述任务集的负载等级对应的负载系数的乘积结果,所述需求量为所述处理器资源中核心处理单元的个数。
可选的,所述第一分配单元304用于:
基于处理器的运算能力,为所述任务集确定对应运算等级的单元集,所述单元集中包括所述运算等级下的核心处理单元;
判断所述单元集中的可用的核心处理单元的数量是否满足所述任务集的需求量;
若满足,则为所述任务集分配满足所述需求量的可用的核心处理单元。
可选的,所述第一计算单元303用于:
根据任务集中各任务的负载量,所述任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集的负载总量,并确定所述负载总量为所述任务集的需求量。
可选的,所述第一分配单元304用于:
基于处理器的运算能力,为所述任务集确定对应运算等级的单元集,所述单元集中包括所述运算等级下的核心处理单元;
确定所述单元集中各核心处理单元能够承载的负载量;
根据所述各核心处理单元能够承载的负载量,确定所述单元集能够承载的负载总量;
判断所述单元集能够承载的负载重量是否满足所述任务集的需求量;
若满足,则为所述任务集分配能够承载所述需求量的可用的核心处理单元。
可选的,所述移动终端还包括:
确定单元305,用于若所述第一判断单元判断出不满足,则确定所述任务集对所述对应运算等级的处理器资源的第一额外需求量;
第二计算单元306,用于根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量;
判断单元307,用于判断所述其他运算等级的处理器资源是否能够满足所述第二额外需求量;
第二分配单元308,用于若所述第二判断单元判断出满足,则根据所述第二额外需求量,为所述任务集分配所述其他运算等级的处理器资源。
可选的,所述第二计算单元306用于:
计算出所述对应运算等级所对应的第一运算系数与所述其他运算等级所对应的第二运算系数的比值;
计算出所述第二额外需求量为所述比值结果与所述第一额外需求量的乘积。
本发明实施例中,通过获取系统中并行运行的n个任务,能够将该n个任务按照负载量分类为m个负载等级的任务集;还可根据任务集中的任务数量以及该任务集的负载等级所对应的负载系数,计算出该任务集对处理器资源的需求量,并可基于计算的需求量为该任务集分配处理器资源。通过上述方式,能够细化区分同时并行的任务,并可根据负载等级为不同的任务分配不同级别的处理器进行处理,有效的利用的处理器资源,提高了对多个并行运行任务的处理效率。
需要注意的是,本发明装置实施例所描述的移动终端是以功能单元的形式呈现。这里所使用的术语“单元”应当理解为尽可能最宽的含义,用于实现各个“单元”所描述功能的对象例如可以是集成电路ASIC,单个电路,用于执行一个或多个软件或固件程序的处理器(共享的、专用的或芯片组)和存储器,组合逻辑电路,和/或提供实现上述功能的其他合适的组件。
本发明实施例还提供了另一种移动终端,如图4所示,包括:处理器101,存储器102,通信接口103、通信总线104;其中,处理器101、存储器102、和通信接口103通过通信总线104连接并完成相互间的通信;处理器101通过通信接口103控制与外部蜂窝网的无线通信;处理器101包括控制器和处理器资源,处理器资源可以包括一个或多个处理器,也可以包括一个或多个核心处理单元。
其中,控制器用于为任务分配处理器资源。通信接口103包括但不限于天线、放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。存储器102包括以下至少一种:随机存取存贮器、非易失性存储器以及外部存储器,存储器102中存储有可执行程序代码,该可执行程序代码能够引导处理器101中的控制器执行本发明方法实施例中具体披露的处理器资源的分配方法,包括以下步骤:
获取系统中并行运行的n个任务,n为整数;
将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数;
根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;
为所述任务集分配所述处理器资源的需求量。
本发明实施例中,通过获取系统中并行运行的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,Wi-Fi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对手机的各个构成部件进行具体的介绍:
RF电路910可用于信息的接收和发送。通常,RF电路910包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,
CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入设备930可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、指纹识别模组等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示屏941,可选的,可以采用液晶显示器(Liquid Crystal Display,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 (20)
- 一种处理器资源的分配方法,其特征在于,包括:获取系统中并行运行的n个任务,n为整数;将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数;根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;为所述任务集分配所述处理器资源的需求量。
- 如权利要求1所述方法,其特征在于,所述根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量,包括:计算出所述任务集对处理器资源的需求量为所述任务集中的任务数量与所述任务集的负载等级对应的负载系数的乘积结果,所述需求量为所述处理器资源中核心处理单元的个数。
- 如权利要求2所述方法,其特征在于,所述为所述任务集分配所述处理器资源的需求量,包括:基于处理器的运算能力,为所述任务集确定对应运算等级的单元集,所述单元集中包括所述运算等级下的核心处理单元;判断所述单元集中的可用的核心处理单元的数量是否满足所述任务集的需求量;若满足,则为所述任务集分配满足所述需求量的可用的核心处理单元。
- 如权利要求1所述方法,其特征在于,所述根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量,包括:根据任务集中各任务的负载量,所述任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集的负载总量,并确定所述负载总量为所述任务集的需求量。
- 如权利要求4所述方法,其特征在于,所述为所述任务集分配所述处理器资源的需求量,包括:基于处理器的运算能力,为所述任务集确定对应运算等级的单元集,所述单元集中包括所述运算等级下的核心处理单元;确定所述单元集中各核心处理单元能够承载的负载量;根据所述各核心处理单元能够承载的负载量,确定所述单元集能够承载的负载总量;判断所述单元集能够承载的负载重量是否满足所述任务集的需求量;若满足,则为所述任务集分配能够承载所述需求量的可用的核心处理单元。
- 如权利要求3或5所述方法,其特征在于,所述方法还包括:若不满足,则确定所述任务集对所述对应运算等级的处理器资源的第一额外需求量;根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量;判断所述其他运算等级的处理器资源是否能够满足所述第二额外需求量;若判断出满足,则根据所述第二额外需求量,为所述任务集分配所述其他运算等级的处理器资源。
- 如权利要求6所述方法,其特征在于,所述根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量,包括:计算出所述对应运算等级所对应的第一运算系数与所述其他运算等级所对应的第二运算系数的比值;计算出所述第二额外需求量为所述比值结果与所述第一额外需求量的乘积。
- 如权利要求1所述方法,其特征在于,所述任务是应用程序的进程或是应用程序的线程。
- 如权利要求1所述方法,其特征在于,所述负载等级包括高负载等级、中负载等级和低负载等级中的任意一种。
- 一种处理器资源的分配装置,其特征在于,包括:获取单元,用于获取系统中并行运行的n个任务,n为整数;分类单元,用于将所述n个任务按照负载量分类为m个负载等级的任务集,m为整数;第一计算单元,用于根据任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集对处理器资源的需求量;第一分配单元,用于为所述任务集分配所述处理器资源的需求量。
- 如权利要求10所述装置,其特征在于,所述第一计算单元用于:计算出所述任务集对处理器资源的需求量为所述任务集中的任务数量与所述任务集的负载等级对应的负载系数的乘积结果,所述需求量为所述处理器资源中核心处理单元的个数。
- 如权利要求11所述装置,其特征在于,所述第一分配单元用于:基于处理器的运算能力,为所述任务集确定对应运算等级的单元集,所述单元集中包括所述运算等级下的核心处理单元;判断所述单元集中的可用的核心处理单元的数量是否满足所述任务集的需求量;若满足,则为所述任务集分配满足所述需求量的可用的核心处理单元。
- 如权利要求10所述装置,其特征在于,所述第一计算单元用于:根据任务集中各任务的负载量,所述任务集中的任务数量及所述任务集的负载等级对应的负载系数,计算出所述任务集的负载总量,并确定所述负载总量为所述任务集的需求量。
- 如权利要求13所述装置,其特征在于,所述第一分配单元用于:基于处理器的运算能力,为所述任务集确定对应运算等级的单元集,所述单元集中包括所述运算等级下的核心处理单元;确定所述单元集中各核心处理单元能够承载的负载量;根据所述各核心处理单元能够承载的负载量,确定所述单元集能够承载的负载总量;判断所述单元集能够承载的负载重量是否满足所述任务集的需求量;若满足,则为所述任务集分配能够承载所述需求量的可用的核心处理单元。
- 如权利要求12或14所述装置,其特征在于,所述移动终端还包括:确定单元,用于若不满足,则确定所述任务集对所述对应运算等级的处理器资源的第一额外需求量;第二计算单元,用于根据所述第一额外需求量,计算出对其他运算等级的处理器资源的第二额外需求量;判断单元,用于判断所述其他运算等级的处理器资源是否能够满足所述第二额外需求量;第二分配单元,用于若所述判断单元判断出满足,则根据所述第二额外需求量,为所述任务集分配所述其他运算等级的处理器资源。
- 如权利要求12所述装置,其特征在于,所述第二计算单元用于:计算出所述对应运算等级所对应的第一运算系数与所述其他运算等级所对应的第二运算系数的比值;计算出所述第二额外需求量为所述比值结果与所述第一额外需求量的乘积。
- 如权利要求10所述装置,其特征在于,所述任务是应用程序的进程或 是应用程序的线程。
- 如权利要求10所述装置,其特征在于,所述负载等级包括高负载等级、中负载等级和低负载等级中的任意一种。
- 一种移动终端,其特征在于,包括:处理器、存储器;所述存储器存储有可执行程序代码;所述处理器用于调用所述存储器中的所述可执行程序代码,执行如权利要求1-9任一项所述方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-9中任意一个方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17805801.2A EP3407193A4 (en) | 2016-05-31 | 2017-05-27 | PROCESS FOR ASSIGNING PROCESSOR RESOURCES AND MOBILE TERMINAL |
US16/119,151 US10664313B2 (en) | 2016-05-31 | 2018-08-31 | Method for allocating processor resources and terminal device |
US16/245,727 US10496440B2 (en) | 2016-05-31 | 2019-01-11 | Method for allocating processor resources and mobile terminal |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610380674.8 | 2016-05-31 | ||
CN201610380674.8A CN106055409B (zh) | 2016-05-31 | 2016-05-31 | 一种处理器资源的分配方法及移动终端 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/119,151 Continuation US10664313B2 (en) | 2016-05-31 | 2018-08-31 | Method for allocating processor resources and terminal device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017206856A1 true WO2017206856A1 (zh) | 2017-12-07 |
Family
ID=57172509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/086451 WO2017206856A1 (zh) | 2016-05-31 | 2017-05-27 | 处理器资源的分配方法及移动终端 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10664313B2 (zh) |
EP (1) | EP3407193A4 (zh) |
CN (2) | CN107797866B (zh) |
WO (1) | WO2017206856A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338789A (zh) * | 2020-02-07 | 2020-06-26 | 北京小米移动软件有限公司 | 资源调配方法和装置、电子设备以及计算机可读存储介质 |
Families Citing this family (12)
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 | 北京小米移动软件有限公司 | 资源调度方法、资源调度装置及存储介质 |
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 | 物体認識装置、コンピュータプログラム及び記録媒体 |
CN113946437A (zh) * | 2021-09-03 | 2022-01-18 | 京信网络系统股份有限公司 | 算力资源分配方法、装置及移动边缘计算一体化设备 |
CN115981819B (zh) * | 2022-12-30 | 2023-10-24 | 摩尔线程智能科技(北京)有限责任公司 | 用于多核系统的核心调度方法和装置 |
CN116468124B (zh) * | 2023-04-27 | 2024-10-29 | 深圳量旋科技有限公司 | 一种量子任务的调度方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713956A (zh) * | 2014-01-06 | 2014-04-09 | 山东大学 | 应用于云计算虚拟化管理环境中的智能加权负载均衡方法 |
CN104572308A (zh) * | 2015-02-10 | 2015-04-29 | 飞狐信息技术(天津)有限公司 | 计算资源分配方法、分布式计算方法及装置 |
EP2945064A1 (en) * | 2013-01-10 | 2015-11-18 | Huizhou TCL Mobile Communication Co., Ltd. | Method and mobile device for application automatically adapting to mode of multi-core processor |
CN106055409A (zh) * | 2016-05-31 | 2016-10-26 | 广东欧珀移动通信有限公司 | 一种处理器资源的分配方法及移动终端 |
Family Cites Families (28)
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 |
KR101738641B1 (ko) * | 2010-12-17 | 2017-05-23 | 삼성전자주식회사 | 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법 |
US8522251B2 (en) * | 2011-01-10 | 2013-08-27 | International Business Machines Corporation | Organizing task placement based on workload characterizations |
CN102819458B (zh) * | 2011-06-07 | 2017-09-26 | 南京中兴新软件有限责任公司 | 一种分布式操作命令的处理方法及系统 |
CN102360246B (zh) * | 2011-10-14 | 2014-04-09 | 武汉理工大学 | 一种异构分布式系统中基于自适应阈值的节能调度方法 |
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 |
CN103235742B (zh) * | 2013-04-07 | 2016-08-17 | 山东大学 | 多核集群服务器上基于依赖度的并行任务分组调度方法 |
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 |
CN104424101B (zh) * | 2013-09-10 | 2017-08-11 | 华为技术有限公司 | 程序性能干扰模型的确定方法及设备 |
CN103605567B (zh) * | 2013-10-29 | 2017-03-22 | 河海大学 | 面向实时性需求变化的云计算任务调度方法 |
CN104995603A (zh) * | 2013-11-14 | 2015-10-21 | 联发科技股份有限公司 | 至少部分基于共享相同数据及/或存取相同存储地址的任务分布的任务调度方法以及多核处理器系统中用于分配任务的相关非暂时性计算机可读介质 |
KR101684677B1 (ko) * | 2013-12-26 | 2016-12-09 | 한국전자통신연구원 | 멀티코어 시스템의 시스템 성능 최적화 장치 및 방법 |
US9652298B2 (en) * | 2014-01-29 | 2017-05-16 | Vmware, Inc. | Power-aware scheduling |
CN104182279A (zh) * | 2014-02-26 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种任务调度方法、装置及系统 |
CN104168318B (zh) * | 2014-08-18 | 2018-03-23 | 中国联合网络通信集团有限公司 | 一种资源服务系统及其资源分配方法 |
CN105656973B (zh) * | 2014-11-25 | 2018-11-13 | 中国科学院声学研究所 | 一种分布式节点组内任务调度方法及系统 |
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 |
US10459517B2 (en) * | 2017-03-31 | 2019-10-29 | Qualcomm Incorporated | System and methods for scheduling software tasks based on central processing unit power characteristics |
-
2016
- 2016-05-31 CN CN201710995165.0A patent/CN107797866B/zh not_active Expired - Fee Related
- 2016-05-31 CN CN201610380674.8A patent/CN106055409B/zh not_active Expired - Fee Related
-
2017
- 2017-05-27 WO PCT/CN2017/086451 patent/WO2017206856A1/zh active Application Filing
- 2017-05-27 EP EP17805801.2A patent/EP3407193A4/en not_active Ceased
-
2018
- 2018-08-31 US US16/119,151 patent/US10664313B2/en active Active
-
2019
- 2019-01-11 US US16/245,727 patent/US10496440B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2945064A1 (en) * | 2013-01-10 | 2015-11-18 | Huizhou TCL Mobile Communication Co., Ltd. | Method and mobile device for application automatically adapting to mode of multi-core processor |
CN103713956A (zh) * | 2014-01-06 | 2014-04-09 | 山东大学 | 应用于云计算虚拟化管理环境中的智能加权负载均衡方法 |
CN104572308A (zh) * | 2015-02-10 | 2015-04-29 | 飞狐信息技术(天津)有限公司 | 计算资源分配方法、分布式计算方法及装置 |
CN106055409A (zh) * | 2016-05-31 | 2016-10-26 | 广东欧珀移动通信有限公司 | 一种处理器资源的分配方法及移动终端 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3407193A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338789A (zh) * | 2020-02-07 | 2020-06-26 | 北京小米移动软件有限公司 | 资源调配方法和装置、电子设备以及计算机可读存储介质 |
CN111338789B (zh) * | 2020-02-07 | 2024-02-13 | 北京小米移动软件有限公司 | 资源调配方法和装置、电子设备以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10496440B2 (en) | 2019-12-03 |
US20190146843A1 (en) | 2019-05-16 |
EP3407193A4 (en) | 2019-02-20 |
EP3407193A1 (en) | 2018-11-28 |
US10664313B2 (en) | 2020-05-26 |
CN106055409B (zh) | 2017-11-14 |
CN106055409A (zh) | 2016-10-26 |
US20180365068A1 (en) | 2018-12-20 |
CN107797866A (zh) | 2018-03-13 |
CN107797866B (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017206856A1 (zh) | 处理器资源的分配方法及移动终端 | |
US10496445B2 (en) | Method for controlling application and related devices | |
WO2019128540A1 (zh) | 资源管理方法、移动终端及计算机可读存储介质 | |
CN106708554B (zh) | 程序运行方法及装置 | |
WO2015035870A1 (zh) | 多cpu调度方法及装置 | |
US10509661B2 (en) | Method for controlling startup of application and terminal device | |
TWI578229B (zh) | 於異質處理器群組間之運行時間調度技術 | |
WO2018219119A1 (zh) | 应用功能的控制方法及相关产品 | |
EP3591524B1 (en) | Memory resource allocation method and terminal device | |
WO2017206901A1 (zh) | 进程控制方法及相关设备 | |
CN111338745B (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
KR20150107448A (ko) | 태스크 마이그레이션 방법 및 장치 | |
CN112559390B (zh) | 一种数据写入控制方法及存储设备 | |
US20200082143A1 (en) | Method for fingerprint collection and related products | |
CN106502833B (zh) | 数据备份方法及装置 | |
WO2017206903A1 (zh) | 应用控制方法及相关设备 | |
WO2019072179A1 (zh) | 应用程序运行控制方法及装置 | |
WO2017206851A1 (zh) | 安装任务的分配方法及移动终端 | |
WO2017215658A1 (zh) | 音效添加方法及用户终端 | |
WO2018219117A1 (zh) | 组件显示方法及相关产品 | |
WO2019137187A1 (zh) | 资源管理方法、装置、移动终端及计算机可读存储介质 | |
CN105302733B (zh) | 一种内存分配的方法及装置 | |
CN106791152B (zh) | 一种通信方法及移动终端 | |
CN116737602B (zh) | 将外设ram共享为系统ram的方法、装置及存储介质 | |
CN114816765A (zh) | 一种云计算资源分配方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2017805801 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017805801 Country of ref document: EP Effective date: 20180824 |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17805801 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |