CN109669778B - Method and system for determining number of parallel processes for running unit - Google Patents
Method and system for determining number of parallel processes for running unit Download PDFInfo
- Publication number
- CN109669778B CN109669778B CN201811572994.9A CN201811572994A CN109669778B CN 109669778 B CN109669778 B CN 109669778B CN 201811572994 A CN201811572994 A CN 201811572994A CN 109669778 B CN109669778 B CN 109669778B
- Authority
- CN
- China
- Prior art keywords
- cores
- core
- threshold
- dominant frequency
- determining
- 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.)
- Active
Links
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]
- 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention discloses a method and a system for determining the number of parallel processes for an operation unit, wherein the method comprises the following steps: reading equipment description information of the user equipment, and determining hardware information of a processor of the user equipment based on the equipment description information; analyzing the hardware information of the processor to determine the number of cores of the processor and the main frequency of each core; determining a plurality of operation units included in a target application in response to the operation of the target application in a plurality of applications in the user equipment, and selecting an operation unit needing parallel processes from the plurality of operation units according to the parallel requirement of each operation unit; and when the running unit needing the parallel process runs, determining the current utilization rate of each core in the multiple cores of the processor, and determining the number of the parallel processes which can be created for the running unit needing the parallel process based on the number of the cores, the main frequency of each core and the current utilization rate of each core.
Description
Technical Field
The present invention relates to the field of process creation, and more particularly, to a method and system for determining the number of parallel processes for a running unit.
Background
A process is a running activity of a program in a computer with respect to a data set, and is a basic unit of resource allocation and scheduling by a system, and is also a basis of an operating system structure. The concept of a process has two main points: first, a process is an entity. Each process has its own address space, typically including a text region, a data region, and a stack. The text region stores code executed by the processor, the data region stores variables and dynamically allocated memory used during process execution, and the stack region stores instructions and local variables of active procedure calls. Second, the process is an "executing program". A program is an inanimate entity that can become an active entity only when the processor gives the program life (when it is executed under the control of the operating system).
In the field of process management, more user processes can be run as a result of the user equipment. These processes may compete for the same shared resources. To resolve this contention, it is necessary to queue processes that issue requests for resources and share the resources in turn according to the queuing, i.e., application parallel control is required. Secondly, in order to achieve parallel control within the user equipment, it is necessary that all processes within the user equipment that are involved in achieving a particular function are able to obtain a consistent system state associated with that function,
In practical applications, a user usually needs to perform multiple program or multiple process on the same application, the same software, the same plug-in the user equipment, that is, the same application, the same software, the same plug-in and the like run the same multiple processes. Such program multi-opening is typically to meet the user's customized needs, such as upgrading for a particular role, meeting a particular task requirement, etc.
However, in the prior art, when the same application, the same software, the same plug-in, etc. are subjected to multiple program opening or multiple process opening in the user equipment, the situation that the system runs slowly due to excessive resources occupied by the program or the process usually occurs.
Disclosure of Invention
In order to solve the above-mentioned problems, there is provided a method for determining the number of parallel processes for a running unit, the method comprising:
reading equipment description information of the user equipment, and determining hardware information of a processor of the user equipment based on the equipment description information;
analyzing the hardware information of the processor to determine the number of cores of the processor and the main frequency of each core;
determining a plurality of operation units included in a target application in response to the operation of the target application in a plurality of applications in the user equipment, and selecting an operation unit needing parallel processes from the plurality of operation units according to the parallel requirement of each operation unit; and
When an operation unit of the parallel process is required to operate, determining the current utilization rate of each core in a plurality of cores of the processor, and determining the number of the parallel processes which can be created for the operation unit of the parallel process based on the number of the cores, the main frequency of each core and the current utilization rate of each core.
The device description information includes: hardware information of the processor, hardware information of the memory, hardware information of the display device, and hardware information of the interface device.
The hardware information of the processor includes: the model number of the processor, the dynamic acceleration frequency, the number of the cores, the main frequency of each core and the cache size.
The application type of each of the plurality of applications is a game platform application, a browser application, a ticketing application, a gaming application, or a shopping application.
Each of the plurality of applications has application description information, and the application description information includes a running unit description table.
The running unit description table comprises a plurality of description items, wherein the format of each description item is < identification of a running unit, description information of the running unit and parallel requirement of the running unit >.
And responding to the operation of a target application in a plurality of applications in the user equipment, analyzing an operation unit description table of the target application to determine the number of operation units included in the target application according to the number of description items in the operation unit description table of the target application.
And responding to the running of a target application in a plurality of applications in the user equipment, analyzing a running unit description table of the target application so as to select a running unit needing parallel processes from the plurality of running units according to the parallel requirements of the running units in each description item in the running unit description table of the target application.
Determining a current utilization of each of a plurality of cores of the processor includes:
acquiring running state information of the processor; and
and analyzing the running state information to determine the current utilization rate of each core in the plurality of cores.
The determining the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of the cores, the main frequency of each core and the current utilization rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of the kernels is larger than the number threshold and the main frequency of each kernel is larger than the main frequency threshold, the number of parallel processes which can be created is the number of the kernels, the number preset by a user or the maximum number which can be supported by the processor resources.
The determining the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of the cores, the main frequency of each core and the current utilization rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is the difference between the number of cores and the number threshold.
The determining the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of the cores, the main frequency of each core and the current utilization rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is less than or equal to the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold, the number of parallel processes that can be created is the number threshold.
The determining the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of the cores, the main frequency of each core and the current utilization rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is less than or equal to the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is 0.
The determining the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of the cores, the main frequency of each core and the current utilization rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is greater than or equal to a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold, the number of parallel processes that can be created is the number of cores.
The determining the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of the cores, the main frequency of each core and the current utilization rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is greater than or equal to a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is the difference between the number of cores and the number threshold.
According to one aspect of the present invention, there is provided a system for determining the number of parallel processes for a run unit, the system comprising:
reading device, which reads the equipment description information of the user equipment and determines the hardware information of the processor of the user equipment based on the equipment description information;
the analyzing device is used for analyzing the hardware information of the processor to determine the number of the cores of the processor and the main frequency of each core;
a selecting device, which responds to the operation of a target application in a plurality of applications in the user equipment, determines a plurality of operation units included in the target application, and selects an operation unit needing parallel processes from the plurality of operation units according to the parallel requirement of each operation unit; and
And the determining device is used for determining the current utilization rate of each core in the plurality of cores of the processor when the running unit needing the parallel process runs, and determining the number of the parallel processes which can be created for the running unit needing the parallel process based on the number of the cores, the main frequency of each core and the current utilization rate of each core.
The device description information includes: hardware information of the processor, hardware information of the memory, hardware information of the display device, and hardware information of the interface device.
The hardware information of the processor includes: the model number of the processor, the dynamic acceleration frequency, the number of the cores, the main frequency of each core and the cache size.
The application type of each of the plurality of applications is a game platform application, a browser application, a ticketing application, a gaming application, or a shopping application.
Each of the plurality of applications has application description information, and the application description information includes a running unit description table.
The running unit description table comprises a plurality of description items, wherein the format of each description item is < identification of a running unit, description information of the running unit and parallel requirement of the running unit >.
In response to the operation of a target application of a plurality of applications in the user equipment, the selection unit parses an operation unit description table of the target application to determine the number of operation units included in the target application according to the number of description items in the operation unit description table of the target application.
And responding to the operation of a target application in a plurality of applications in the user equipment, analyzing an operation unit description table of the target application by a selection unit so as to select an operation unit needing parallel processes from the plurality of operation units according to the parallel requirements of the operation units in each description item in the operation unit description table of the target application.
The determining means determining a current utilization of each of a plurality of cores of the processor includes:
a determining device obtains running state information of the processor; and
the determining means parses the running state information to determine a current usage rate of each of the plurality of cores.
The system, the determining device determines the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of cores, the main frequency of each core and the current utilization rate of each core, and the determining device comprises:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
When the number of the kernels is larger than the number threshold and the main frequency of each kernel is larger than the main frequency threshold, the number of parallel processes which can be created is the number of the kernels, the number preset by a user or the maximum number which can be supported by the processor resources.
The system, the determining device determines the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of cores, the main frequency of each core and the current utilization rate of each core, and the determining device comprises:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core; when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is the difference between the number of cores and the number threshold.
The system, the determining device determines the number of parallel processes which can be created for the running unit needing the parallel processes based on the number of cores, the main frequency of each core and the current utilization rate of each core, and the determining device comprises:
The determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is less than or equal to the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold, the number of parallel processes that can be created is the number threshold.
The determining means determines the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core, including:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is less than or equal to the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is 0.
The determining means determines the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core, including:
The determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is greater than or equal to a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold, the number of parallel processes that can be created is the number of cores.
The determining means determines the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core, including:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is greater than or equal to a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is the difference between the number of cores and the number threshold.
According to another invention, there is provided a mobile terminal comprising or for performing the system as described above.
Drawings
Exemplary embodiments of the present invention may be more completely understood in consideration of the following drawings:
FIG. 1 is a flow chart of a method for determining the number of parallel processes for a run unit in accordance with a preferred embodiment of the present invention;
FIG. 2 is a schematic diagram of parallel running of processes according to a preferred embodiment of the present invention; and
fig. 3 is a schematic diagram of a system for determining the number of parallel processes for a run unit according to a preferred embodiment of the present invention.
Detailed Description
The exemplary embodiments of the present invention will now be described with reference to the accompanying drawings, however, the present invention may be embodied in many different forms and is not limited to the examples described herein, which are provided to fully and completely disclose the present invention and fully convey the scope of the invention to those skilled in the art. The terminology used in the exemplary embodiments illustrated in the accompanying drawings is not intended to be limiting of the invention. In the drawings, like elements/components are referred to by like reference numerals.
Unless otherwise indicated, terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. In addition, it will be understood that terms defined in commonly used dictionaries should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense.
FIG. 1 is a flow chart of a method 100 for determining the number of parallel processes for a runtime unit in accordance with a preferred embodiment of the present invention. The method 100 is capable of reading device description information of the user device, determining hardware information of a processor of the user device based on the device description information, and parsing the hardware information of the processor to determine the number of cores of the processor and a dominant frequency of each core. The method 100 can determine a plurality of running units included in a target application in a plurality of applications in the user equipment in response to running of the target application, and select a running unit needing parallel processes from the plurality of running units according to the parallel requirement of each running unit. When an execution unit requiring parallel processes is running, the method 100 can determine a current utilization rate of each core of the plurality of cores of the processor, and determine a number of parallel processes that can be created for the execution unit requiring parallel processes based on the number of cores, a dominant frequency of each core, and the current utilization rate of each core.
As shown in fig. 1, method 100 begins at step 101. In step 101, device description information of the user equipment is read, and hardware information of a processor of the user equipment is determined based on the device description information. Typically, device description information is generated and stored in the operating system of the user device for distinguishing and identifying hardware in the user device, and so on. Wherein the device description information includes: hardware information of the processor, hardware information of the memory, hardware information of the display device, and hardware information of the interface device. The hardware information of the processor includes: the model number of the processor, the dynamic acceleration frequency, the number of the cores, the main frequency of each core and the cache size. The model of the processor is, for example, the intel corporation's bori 7 920. The dynamic acceleration frequency is, for example, 2.93GHz. The number of cores is, for example, 2 or 4. The primary frequency of each core is, for example, 2.66GHz. The buffer sizes are, for example, a level one buffer 128KB, a level two buffer 1MB, and a level three buffer 8MB.
The hardware information of the memory is, for example, the manufacturer of the memory, the lot number of the product, the storage capacity, and the like. The hardware information of the display device is, for example, the manufacturer, the size, the panel material, etc. of the display device. Hardware information of the interface device such as names of all interfaces included in the user device, etc.
In step 102, the hardware information of the processor is parsed to determine the number of cores of the processor and the dominant frequency of each core. After the hardware information of the processor is obtained, the number of the cores of the processor and the main frequency of each core are determined according to the number of the cores in the hardware information of the processor and the main frequency of each core. The dominant frequency of each core is typically the same and may be referred to as the dominant frequency of the processor.
In step 103, in response to the running of a target application in a plurality of applications in the user equipment, determining a plurality of running units included in the target application, and selecting a running unit needing parallel processes from the plurality of running units according to the parallel requirement of each running unit. The application type of each of the plurality of applications is a game platform application, a browser application, a ticketing application, a gaming application, or a shopping application. When the application type is a browser application, the execution unit may be various plug-ins that execute in the browser. The plug-in may be, for example, a game plug-in, a ticket plug-in, a security plug-in, etc.
Each of the plurality of applications has application description information, and the application description information includes a running unit description table. The execution unit description table comprises a plurality of description items, wherein the format of each description item is < identification of the execution unit, description information of the execution unit and parallel requirement of the execution unit >. Wherein the identification of the execution unit is for example the identification of the plug-in. The description information of the execution unit is for example information describing the function, source, scope of use, etc. of the plug-in, e.g. the function of the game plug-in is shooting aid, from the plug-in developer, the scope of use is a specific design class game. The parallel requirement of the execution unit is, for example, that when a game plug-in having a plurality of functions is executed only to meet one requirement of the user when the shooting game is executed, and when the user needs a plurality of requirements when the shooting game is executed, the game plug-in may need to execute in parallel, that is, there is a parallel requirement. By running multiple identical inserts simultaneously, a user may be enabled to use multiple different shooting aids while playing a shooting game.
And responding to the operation of a target application in a plurality of applications in the user equipment, analyzing an operation unit description table of the target application to determine the number of operation units included in the target application according to the number of description items in the operation unit description table of the target application. For example, if the number of description items is 3, the number of execution units included in the target application is 3. And responding to the running of a target application in a plurality of applications in the user equipment, analyzing a running unit description table of the target application so as to select a running unit needing parallel processes from the plurality of running units according to the parallel requirements of the running units in each description item in the running unit description table of the target application. For example, the parallel requirement of the execution unit may be a boolean expression, e.g., when the value is 1, the parallel requirement of the execution unit is required, and when the value is 0, the parallel requirement of the execution unit is not required.
In step 104, when the running unit of the parallel process is running, determining a current usage rate of each core in the multiple cores of the processor, and determining a number of parallel processes capable of being created for the running unit of the parallel process based on the number of cores, a main frequency of each core and the current usage rate of each core. Wherein determining the current utilization of each of a plurality of cores of the processor comprises: acquiring running state information of the processor; and analyzing the running state information to determine the current utilization rate of each core in the plurality of cores.
Wherein the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 30%, 25%, and 35%, respectively, and the average current usage rate of all cores is 30%. Where the current utilization is the ratio of the processing resources used by the core or processor to the entire processing resources. The concept opposed to the current usage rate is the current idle rate. The current idle rate is the ratio of unused processing resources of the core or processor to the total processing resources.
When the average current usage is less than a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 30% is less than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 4 and the dominant frequencies of the four cores are 1.66GHz, then the number of cores is greater than the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold. In this case, the number of parallel processes that can be created is the number of cores (e.g., 4), the number preset by the user (e.g., 20), or the maximum number that can be supported by the processor resources (e.g., 10).
Alternatively, the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 30%, 25%, and 35%, respectively, and the average current usage rate of all cores is 30%.
When the average current usage is less than a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 30% is less than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 4 and the main frequency of each of the four cores is 1.50GHz, then
The number of cores is greater than a number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold. In this case, the number of parallel processes that can be created is the difference between the number of cores and the number threshold, for example, 4-2=2.
Alternatively, the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 30%, 25%, and 35%, respectively, and the average current usage rate of all cores is 30%.
When the average current usage is less than a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 30% is less than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 2 and the main frequencies of the four cores are 1.66GHz, the number of cores is smaller than or equal to the number threshold, and the main frequency of each core is greater than the main frequency threshold, the number of parallel processes which can be created is the number threshold, namely 2.
Alternatively, the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 30%, 25%, and 35%, respectively, and the average current usage rate of all cores is 30%.
When the average current usage is less than a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 30% is less than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 1 and the main frequencies of the four cores are 1.50GHz, and when the number of cores is less than or equal to the number threshold and the main frequency of each core is less than or equal to the main frequency threshold, the number of parallel processes that can be created is 0, alternatively, the determining the number of parallel processes that can be created for the running unit that needs the parallel processes based on the number of cores, the main frequency of each core, and the current usage rate of each core includes:
An average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 50%, 45%, and 55%, respectively, and the average current usage rate of all cores is 50%.
When the average current usage is greater than or equal to a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 50% is greater than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 4 and the main frequency of the four cores is 1.66GHz, then
The number of cores is greater than a number threshold and the dominant frequency of each core is greater than a dominant frequency threshold, and the number of parallel processes that can be created is the number of cores, for example, 4.
Alternatively, the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 50%, 45%, and 55%, respectively, and the average current usage rate of all cores is 50%.
When the average current usage is greater than or equal to a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 50% is greater than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 4 and the main frequency of each of the four cores is 1.50GHz, then
The number of cores is greater than a number threshold and the dominant frequency of each core is less than the dominant frequency threshold, and the number of parallel processes that can be created is the difference between the number of cores and the number threshold, e.g., 4-2 = 2.
Fig. 2 is a schematic diagram of parallel running of processes according to a preferred embodiment of the present invention. As shown in fig. 2, a user device 200 includes a plurality of cores therein: kernel 1, kernel 2, kernels 3, …, kernel N. The shaded portion of each of core 1, core 2, cores 3, …, core N represents the currently used portion of processing resources, corresponding to the current utilization. The blank portion of each of core 1, core 2, cores 3, …, core N represents the currently unused portion or the currently idle portion of the processing resource, corresponding to the current idle rate.
Fig. 3 is a schematic diagram of a system 300 for determining the number of parallel processes for a run unit in accordance with a preferred embodiment of the present invention. The system 300 is capable of reading device description information of the user device, determining hardware information of a processor of the user device based on the device description information, and parsing the hardware information of the processor to determine the number of cores of the processor and a dominant frequency of each core. The system 300 can determine a plurality of running units included in a target application in a plurality of applications in the user equipment in response to running of the target application, and select a running unit needing parallel processes from the plurality of running units according to the parallel requirement of each running unit. When an execution unit requiring parallel processes is running, the system 300 can determine a current utilization rate of each core of the plurality of cores of the processor, and determine a number of parallel processes that can be created for the execution unit requiring parallel processes based on the number of cores, a master frequency of each core, and the current utilization rate of each core.
As shown in fig. 3, the system 300 includes: a reading device 301, a parsing device 302, a selecting device 303 and a determining device 304. The reading means 301 reads the device description information of the user equipment and determines the hardware information of the processor of the user equipment based on the device description information. Typically, device description information is generated and stored in the operating system of the user device for distinguishing and identifying hardware in the user device, and so on. Wherein the device description information includes: hardware information of the processor, hardware information of the memory, hardware information of the display device, and hardware information of the interface device. The hardware information of the processor includes: the model number of the processor, the dynamic acceleration frequency, the number of the cores, the main frequency of each core and the cache size. The model of the processor is, for example, the intel corporation's bori 7 920. The dynamic acceleration frequency is, for example, 2.93GHz. The number of cores is, for example, 2 or 4. The primary frequency of each core is, for example, 2.66GHz. The buffer sizes are, for example, a level one buffer 128KB, a level two buffer 1MB, and a level three buffer 8MB.
The hardware information of the memory is, for example, the manufacturer of the memory, the lot number of the product, the storage capacity, and the like. The hardware information of the display device is, for example, the manufacturer, the size, the panel material, etc. of the display device. Hardware information of the interface device such as names of all interfaces included in the user device, etc.
The parsing means 302 parses the hardware information of the processor to determine the number of cores of the processor and the dominant frequency of each core. After the hardware information of the processor is obtained, the number of the cores of the processor and the main frequency of each core are determined according to the number of the cores in the hardware information of the processor and the main frequency of each core. The dominant frequency of each core is typically the same and may be referred to as the dominant frequency of the processor.
The selecting means 303 determines a plurality of operation units included in a target application among the plurality of applications in the user equipment in response to the operation of the target application, and selects an operation unit requiring parallel processes among the plurality of operation units according to the parallel requirement of each operation unit. The application type of each of the plurality of applications is a game platform application, a browser application, a ticketing application, a gaming application, or a shopping application. When the application type is a browser application, the execution unit may be various plug-ins that execute in the browser. The plug-in may be, for example, a game plug-in, a ticket plug-in, a security plug-in, etc.
Each of the plurality of applications has application description information, and the application description information includes a running unit description table. The execution unit description table comprises a plurality of description items, wherein the format of each description item is < identification of the execution unit, description information of the execution unit and parallel requirement of the execution unit >. Wherein the identification of the execution unit is for example the identification of the plug-in. The description information of the execution unit is for example information describing the function, source, scope of use, etc. of the plug-in, e.g. the function of the game plug-in is shooting aid, from the plug-in developer, the scope of use is a specific design class game. The parallel requirement of the execution unit is, for example, that when a game plug-in having a plurality of functions is executed only to meet one requirement of the user when the shooting game is executed, and when the user needs a plurality of requirements when the shooting game is executed, the game plug-in may need to execute in parallel, that is, there is a parallel requirement. By running multiple identical inserts simultaneously, a user may be enabled to use multiple different shooting aids while playing a shooting game.
And responding to the operation of a target application in a plurality of applications in the user equipment, analyzing an operation unit description table of the target application to determine the number of operation units included in the target application according to the number of description items in the operation unit description table of the target application. For example, if the number of description items is 3, the number of execution units included in the target application is 3. And responding to the running of a target application in a plurality of applications in the user equipment, analyzing a running unit description table of the target application so as to select a running unit needing parallel processes from the plurality of running units according to the parallel requirements of the running units in each description item in the running unit description table of the target application. For example, the parallel requirement of the execution unit may be a boolean expression, e.g., when the value is 1, the parallel requirement of the execution unit is required, and when the value is 0, the parallel requirement of the execution unit is not required.
The determining means 304 determines, when an execution unit requiring parallel processes is running, a current usage rate of each core of the plurality of cores of the processor, and determines, for the execution unit requiring parallel processes, the number of parallel processes that can be created based on the number of cores, a master frequency of each core, and the current usage rate of each core. Wherein determining the current utilization of each of a plurality of cores of the processor comprises: acquiring running state information of the processor; and analyzing the running state information to determine the current utilization rate of each core in the plurality of cores.
Wherein the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 30%, 25%, and 35%, respectively, and the average current usage rate of all cores is 30%. Where the current utilization is the ratio of the processing resources used by the core or processor to the entire processing resources. The concept opposed to the current usage rate is the current idle rate. The current idle rate is the ratio of unused processing resources of the core or processor to the total processing resources.
When the average current usage is less than a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 30% is less than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 4 and the dominant frequencies of the four cores are 1.66GHz, then the number of cores is greater than the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold. In this case, the number of parallel processes that can be created is the number of cores (e.g., 4), the number preset by the user (e.g., 20), or the maximum number that can be supported by the processor resources (e.g., 10).
Alternatively, the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 30%, 25%, and 35%, respectively, and the average current usage rate of all cores is 30%.
When the average current usage is less than a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 30% is less than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 4 and the main frequency of each of the four cores is 1.50GHz, then
The number of cores is greater than a number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold. In this case, the number of parallel processes that can be created is the difference between the number of cores and the number threshold, for example, 4-2=2.
Alternatively, the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 30%, 25%, and 35%, respectively, and the average current usage rate of all cores is 30%.
When the average current usage is less than a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 30% is less than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 2 and the main frequencies of the four cores are 1.66GHz, the number of cores is smaller than or equal to the number threshold, and the main frequency of each core is greater than the main frequency threshold, the number of parallel processes which can be created is the number threshold, namely 2.
Alternatively, the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 30%, 25%, and 35%, respectively, and the average current usage rate of all cores is 30%.
When the average current usage is less than a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 30% is less than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 1 and the main frequencies of the four cores are 1.50GHz, and when the number of cores is less than or equal to the number threshold and the main frequency of each core is less than or equal to the main frequency threshold, the number of parallel processes that can be created is 0, alternatively, the determining the number of parallel processes that can be created for the running unit that needs the parallel processes based on the number of cores, the main frequency of each core, and the current usage rate of each core includes:
An average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 50%, 45%, and 55%, respectively, and the average current usage rate of all cores is 50%.
When the average current usage is greater than or equal to a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 50% is greater than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 4 and the main frequency of the four cores is 1.66GHz, then
The number of cores is greater than a number threshold and the dominant frequency of each core is greater than a dominant frequency threshold, and the number of parallel processes that can be created is the number of cores, for example, 4.
Alternatively, the determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
an average current utilization of all cores is determined based on the current utilization of each core. For example, the current usage rates of the four cores are 50%, 45%, and 55%, respectively, and the average current usage rate of all cores is 50%.
When the average current usage is greater than or equal to a usage threshold, it is determined whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold. For example, when the usage threshold is 40%, then the average current usage 50% is greater than the usage threshold. Wherein the number threshold is for example 2 and the dominant frequency threshold is for example 1.60GHz. When the number of cores is 4 and the main frequency of each of the four cores is 1.50GHz, then
The number of cores is greater than a number threshold and the dominant frequency of each core is less than the dominant frequency threshold, and the number of parallel processes that can be created is the difference between the number of cores and the number threshold, e.g., 4-2 = 2.
The invention has been described with reference to a few embodiments. However, as is well known to those skilled in the art, other embodiments than the above disclosed invention are equally possible within the scope of the invention, as defined by the appended patent claims.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise therein. All references to "a/an/the [ means, component, etc. ]" are to be interpreted openly as referring to at least one instance of said means, component, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
Claims (31)
1. A method for determining a number of parallel processes for a run unit, the method comprising:
reading equipment description information of user equipment, and determining hardware information of a processor of the user equipment based on the equipment description information;
analyzing the hardware information of the processor to determine the number of cores of the processor and the main frequency of each core;
determining a plurality of operation units included in a target application in response to the operation of the target application in a plurality of applications in the user equipment, and selecting an operation unit needing parallel processes from the plurality of operation units according to the parallel requirement of each operation unit; and
when an operation unit of the parallel process is required to operate, determining the current utilization rate of each core in a plurality of cores of the processor, and determining the number of the parallel processes which can be created for the operation unit of the parallel process based on the number of the cores, the main frequency of each core and the current utilization rate of each core.
2. The method of claim 1, the device description information comprising: hardware information of the processor, hardware information of the memory, hardware information of the display device, and hardware information of the interface device.
3. The method of claim 1 or 2, the hardware information of the processor comprising: the model number of the processor, the dynamic acceleration frequency, the number of the cores, the main frequency of each core and the cache size.
4. The method of claim 1, an application type of each of the plurality of applications is a gaming platform application, a browser application, a ticketing application, a gaming application, or a shopping application.
5. The method of claim 1, each of the plurality of applications having application description information, and the application description information comprising a run unit description table.
6. The method of claim 5, wherein the execution unit description table includes a plurality of description items, wherein each description item is in a format of < identification of execution units, description information of execution units, parallel requirements of execution units >.
7. The method of claim 6, responsive to execution of a target application of a plurality of applications within the user device, parsing an execution unit description table of the target application to determine a number of execution units included by the target application from a number of description items in the execution unit description table of the target application.
8. The method according to claim 6 or 7, responding to the running of a target application in a plurality of applications in the user equipment, analyzing a running unit description table of the target application, so as to select a running unit needing parallel processes from the plurality of running units according to the parallel requirement of the running unit in each description item in the running unit description table of the target application.
9. The method of claim 1, determining a current utilization of each of a plurality of cores of the processor comprises:
acquiring running state information of the processor; and
and analyzing the running state information to determine the current utilization rate of each core in the plurality of cores.
10. The method of claim 1, wherein determining the number of parallel processes that can be created for the execution unit that needs parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
When the number of the kernels is larger than the number threshold and the main frequency of each kernel is larger than the main frequency threshold, the number of parallel processes which can be created is the number of the kernels, the number preset by a user or the maximum number which can be supported by the processor resources.
11. The method of claim 1, wherein determining the number of parallel processes that can be created for the execution unit that needs parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is the difference between the number of cores and the number threshold.
12. The method of claim 1, wherein determining the number of parallel processes that can be created for the execution unit that needs parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core comprises:
Determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is less than or equal to the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold, the number of parallel processes that can be created is the number threshold.
13. The method of claim 1, wherein determining the number of parallel processes that can be created for the execution unit that needs parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is less than or equal to the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is 0.
14. The method of claim 1, wherein determining the number of parallel processes that can be created for the execution unit that needs parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core comprises:
Determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is greater than or equal to a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold, the number of parallel processes that can be created is the number of cores.
15. The method of claim 1, wherein determining the number of parallel processes that can be created for the execution unit that needs parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core comprises:
determining average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is greater than or equal to a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is the difference between the number of cores and the number threshold.
16. A system for determining a number of parallel processes for a run unit, the system comprising:
reading means for reading device description information of the device, and determining hardware information of a processor of the user device based on the device description information;
the analyzing device is used for analyzing the hardware information of the processor to determine the number of the cores of the processor and the main frequency of each core;
a selecting device, which responds to the operation of a target application in a plurality of applications in the user equipment, determines a plurality of operation units included in the target application, and selects an operation unit needing parallel processes from the plurality of operation units according to the parallel requirement of each operation unit; and
and the determining device is used for determining the current utilization rate of each core in the plurality of cores of the processor when the running unit needing the parallel process runs, and determining the number of the parallel processes which can be created for the running unit needing the parallel process based on the number of the cores, the main frequency of each core and the current utilization rate of each core.
17. The system of claim 16, the device description information comprising: hardware information of the processor, hardware information of the memory, hardware information of the display device, and hardware information of the interface device.
18. The system of claim 16 or 17, the hardware information of the processor comprising: the model number of the processor, the dynamic acceleration frequency, the number of the cores, the main frequency of each core and the cache size.
19. The system of claim 16, wherein the application type of each of the plurality of applications is a gaming platform application, a browser application, a ticketing application, a gaming application, or a shopping application.
20. The system of claim 16, each application of the plurality of applications having application description information, and the application description information comprising a run unit description table.
21. The system of claim 20, wherein the execution unit description table includes a plurality of description items, wherein each description item is in a format of < identification of execution units, description information of execution units, parallel requirements of execution units >.
22. The system of claim 21, wherein in response to execution of a target application of the plurality of applications within the user device, the selection unit parses an execution unit description table of the target application to determine a number of execution units included by the target application from a number of description items in the execution unit description table of the target application.
23. The system according to claim 21 or 22, wherein in response to the running of a target application of a plurality of applications in the user equipment, the selection unit parses a running unit description table of the target application to select a running unit requiring a parallel process among the plurality of running units according to a parallel requirement of the running unit in each description item in the running unit description table of the target application.
24. The system of claim 16, the determining means to determine a current utilization of each of a plurality of cores of the processor comprising:
a determining device obtains running state information of the processor; and
the determining means parses the running state information to determine a current usage rate of each of the plurality of cores.
25. The system according to claim 16, the determining means determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
When the number of the kernels is larger than the number threshold and the main frequency of each kernel is larger than the main frequency threshold, the number of parallel processes which can be created is the number of the kernels, the number preset by a user or the maximum number which can be supported by the processor resources.
26. The system according to claim 16, the determining means determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core; when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is the difference between the number of cores and the number threshold.
27. The system according to claim 16, the determining means determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
The determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is less than or equal to the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold, the number of parallel processes that can be created is the number threshold.
28. The system according to claim 16, the determining means determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is less than a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is less than or equal to the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is 0.
29. The system according to claim 16, the determining means determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is greater than or equal to a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
when the number of cores is greater than the number threshold and the dominant frequency of each core is greater than the dominant frequency threshold, the number of parallel processes that can be created is the number of cores.
30. The system according to claim 16, the determining means determining the number of parallel processes that can be created for the execution unit that needs the parallel processes based on the number of cores, the dominant frequency of each core, and the current usage rate of each core includes:
the determining device determines the average current utilization rate of all cores according to the current utilization rate of each core;
when the average current utilization is greater than or equal to a utilization threshold, determining whether the number of cores is greater than a number threshold and whether the dominant frequency of each core is greater than a dominant frequency threshold;
When the number of cores is greater than the number threshold and the dominant frequency of each core is less than or equal to the dominant frequency threshold, the number of parallel processes that can be created is the difference between the number of cores and the number threshold.
31. A mobile terminal comprising or for performing the system of any of claims 16-30.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811572994.9A CN109669778B (en) | 2018-12-21 | 2018-12-21 | Method and system for determining number of parallel processes for running unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811572994.9A CN109669778B (en) | 2018-12-21 | 2018-12-21 | Method and system for determining number of parallel processes for running unit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669778A CN109669778A (en) | 2019-04-23 |
CN109669778B true CN109669778B (en) | 2023-09-01 |
Family
ID=66145844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811572994.9A Active CN109669778B (en) | 2018-12-21 | 2018-12-21 | Method and system for determining number of parallel processes for running unit |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669778B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112394803B (en) * | 2020-11-25 | 2023-01-24 | 超越科技股份有限公司 | Domestic server power consumption real-time dynamic adjusting method |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729254A (en) * | 2013-12-31 | 2014-04-16 | 国网山东省电力公司 | Virtual server Virtual CPU resource monitoring and dynamic allocation method |
CN104866379A (en) * | 2014-02-24 | 2015-08-26 | 中兴通讯股份有限公司 | Multi-core processor scheduling method and device as well as terminal |
CN106462219A (en) * | 2014-06-10 | 2017-02-22 | 高通股份有限公司 | Systems and methods of managing processor device power consumption |
CN106484537A (en) * | 2016-09-30 | 2017-03-08 | 网易(杭州)网络有限公司 | A kind of distribution method of CPU core resource and equipment |
CN106502962A (en) * | 2015-09-04 | 2017-03-15 | 联发科技股份有限公司 | The method of the operation of control process device core in electronic installation and electronic installation |
CN106547451A (en) * | 2016-10-27 | 2017-03-29 | 宇龙计算机通信科技(深圳)有限公司 | Open application program method more, open application programmer and terminal more |
CN106775631A (en) * | 2016-11-18 | 2017-05-31 | 宇龙计算机通信科技(深圳)有限公司 | Using deployment method, system and electronic equipment |
CN107368255A (en) * | 2017-07-25 | 2017-11-21 | 广东欧珀移动通信有限公司 | Unlocking method, mobile terminal and computer-readable recording medium |
CN107515663A (en) * | 2016-06-15 | 2017-12-26 | 北京京东尚科信息技术有限公司 | The method and apparatus for adjusting central processor core running frequency |
CN107729132A (en) * | 2017-10-09 | 2018-02-23 | 武汉斗鱼网络科技有限公司 | A kind of video decoding process guard method and device |
CN107729062A (en) * | 2017-10-20 | 2018-02-23 | 广东欧珀移动通信有限公司 | Using freezing method and related product |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8381004B2 (en) * | 2010-05-26 | 2013-02-19 | International Business Machines Corporation | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
EP2728442B1 (en) * | 2012-08-30 | 2016-06-08 | Huawei Device Co., Ltd | Method and device for controlling central processing unit |
US9507641B1 (en) * | 2015-05-11 | 2016-11-29 | Qualcomm Incorporated | System and method for dynamic granularity control of parallelized work in a portable computing device (PCD) |
US10503238B2 (en) * | 2016-11-01 | 2019-12-10 | Microsoft Technology Licensing, Llc | Thread importance based processor core parking and frequency selection |
-
2018
- 2018-12-21 CN CN201811572994.9A patent/CN109669778B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729254A (en) * | 2013-12-31 | 2014-04-16 | 国网山东省电力公司 | Virtual server Virtual CPU resource monitoring and dynamic allocation method |
CN104866379A (en) * | 2014-02-24 | 2015-08-26 | 中兴通讯股份有限公司 | Multi-core processor scheduling method and device as well as terminal |
CN106462219A (en) * | 2014-06-10 | 2017-02-22 | 高通股份有限公司 | Systems and methods of managing processor device power consumption |
CN106502962A (en) * | 2015-09-04 | 2017-03-15 | 联发科技股份有限公司 | The method of the operation of control process device core in electronic installation and electronic installation |
CN107515663A (en) * | 2016-06-15 | 2017-12-26 | 北京京东尚科信息技术有限公司 | The method and apparatus for adjusting central processor core running frequency |
CN106484537A (en) * | 2016-09-30 | 2017-03-08 | 网易(杭州)网络有限公司 | A kind of distribution method of CPU core resource and equipment |
CN106547451A (en) * | 2016-10-27 | 2017-03-29 | 宇龙计算机通信科技(深圳)有限公司 | Open application program method more, open application programmer and terminal more |
CN106775631A (en) * | 2016-11-18 | 2017-05-31 | 宇龙计算机通信科技(深圳)有限公司 | Using deployment method, system and electronic equipment |
CN107368255A (en) * | 2017-07-25 | 2017-11-21 | 广东欧珀移动通信有限公司 | Unlocking method, mobile terminal and computer-readable recording medium |
CN107729132A (en) * | 2017-10-09 | 2018-02-23 | 武汉斗鱼网络科技有限公司 | A kind of video decoding process guard method and device |
CN107729062A (en) * | 2017-10-20 | 2018-02-23 | 广东欧珀移动通信有限公司 | Using freezing method and related product |
Non-Patent Citations (1)
Title |
---|
基于多核CPU-GPU异构平台的并行Agent仿真;余文广;王维平;侯洪涛;李群;;***工程与电子技术(第08期);第198-204页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109669778A (en) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8695005B2 (en) | Model for hosting and invoking applications on virtual machines in a distributed computing environment | |
US20130227571A1 (en) | Virtual machine and/or multi-level scheduling support on systems with asymmetric processor cores | |
US20110209157A1 (en) | Resource allocation method, program, and resource allocation apparatus | |
WO2003025784A2 (en) | Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations | |
CN113641457A (en) | Container creation method, device, apparatus, medium, and program product | |
CN108804230B (en) | Method, device and medium for allocating resources according to types of PCI (peripheral component interconnect) equipment | |
JP2005536791A (en) | Dynamic multilevel task management method and apparatus | |
CN102667714B (en) | Support the method and system that the function provided by the resource outside operating system environment is provided | |
CN110262878B (en) | Timed task processing method, device, equipment and computer readable storage medium | |
US8863134B2 (en) | Real time scheduling system for operating system | |
CN111026493B (en) | Interface rendering processing method and device | |
CN111475256A (en) | Resource allocation method, device and system | |
CN114625533A (en) | Distributed task scheduling method and device, electronic equipment and storage medium | |
CN109669778B (en) | Method and system for determining number of parallel processes for running unit | |
CN110750346B (en) | Task operation optimization method, device, terminal and storage medium | |
CN116260876A (en) | AI application scheduling method and device based on K8s and electronic equipment | |
CN116881003A (en) | Resource allocation method, device, service equipment and storage medium | |
CN115098272A (en) | GPU resource scheduling method, scheduler, electronic device and storage medium | |
US11093281B2 (en) | Information processing apparatus, control method, and program to control allocation of computer resources for different types of tasks | |
CN114077481A (en) | Task scheduling method, device, equipment and storage medium | |
CN111831411B (en) | Task processing method and device, storage medium and electronic equipment | |
CN116719628B (en) | Concurrent task preemptive scheduling method, system and medium | |
CN111831436B (en) | IO request scheduling method and device, storage medium and electronic equipment | |
US12028270B1 (en) | Systems and methods for providing fifth-generation network function on demand resource distribution | |
CN113609127A (en) | Data table generation method, device and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |