CN103646006A - Scheduling method, device and system for processor - Google Patents

Scheduling method, device and system for processor Download PDF

Info

Publication number
CN103646006A
CN103646006A CN201310605367.1A CN201310605367A CN103646006A CN 103646006 A CN103646006 A CN 103646006A CN 201310605367 A CN201310605367 A CN 201310605367A CN 103646006 A CN103646006 A CN 103646006A
Authority
CN
China
Prior art keywords
cpu
equations
application program
processor
application
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.)
Granted
Application number
CN201310605367.1A
Other languages
Chinese (zh)
Other versions
CN103646006B (en
Inventor
周光迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinle Visual Intelligent Electronic Technology Tianjin Co ltd
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Original Assignee
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leshi Zhixin Electronic Technology Tianjin Co Ltd filed Critical Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority to CN201310605367.1A priority Critical patent/CN103646006B/en
Publication of CN103646006A publication Critical patent/CN103646006A/en
Application granted granted Critical
Publication of CN103646006B publication Critical patent/CN103646006B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention relates to the field of processors and provides a scheduling method, device and system for a processor. Central processing units (CPUs) comprise at least one first CPU and at least one second CPU. Every first CPU comprises a first processor inner core and a second processor inner core, and every second CPU only comprises the first processor inner core. Application programs are marked with category labels, the category labels mark that the application programs are high or low in operation performance requirements; the category labels of the to-be-run application programs are obtained in the system operation process; and the to-be-run application programs are distributed to be processed through the first CPUs or the second CPUs according to the category labels of the to-be-run application programs and categories of the CPUs. According to the scheduling method, device and system for the processor, system resources are saved, and cooperative work of software and hardware is achieved reasonably.

Description

A kind of dispatching method of processor, device and system
Technical field
The present invention relates to field of processors, especially, relate to a kind of dispatching method, device and system of processor.
Background technology
Popularity rate increase along with Android system, Android application program of all kinds in smart mobile phone and dull and stereotyped terminal is more and more, requirement to systematicness, power consumption is also more and more higher, so Britain ARM company is reduction CPU(Computer Processing Unit) power consumption released " big.LITTLE technology ".This technology can, corresponding to the processing load of terminal, be used the different CPU core group's (trooping) of micro-architecture, thereby take into account low power consumption and high-performance.
In principle, so long as the equal applicable big.LITTLE technology of the identical CPU core of instruction set architecture, at present spendable is the combination of Cortex-A15 and Cortex-A7.The handling property of ARM Cortex-A15 MPCore processor and the energy-saving effect of Cortex-A7 processor are combined, when runnability is had relatively high expectations, with the Cortex-A15 of high handling property, carry out and process, when lower with load at one's leisure with the higher Cortex-A7 of electrical efficiency.Can utilize the higher handling property of Cortex-A15 processor to bear hard work load, and Cortex-A7 can process most of operating load of smart mobile phone most effectively.These operations comprise operating system activity, user interface and other continuous services, being connected all the time of task.Making same application software seamless switching between the two, is each task choosing optimum processor.The handling property of processor mainly comprises following index:
Dominant frequency, the frequency of operation of the namely clock frequency of processor, or perhaps processor.In general, the instruction number that clock period completes is fixed, so dominant frequency is higher, the speed of processor is also just faster.
Rambus speed or be system bus speed, is generally equal to the outer frequency of processor.The speed of rambus is very important concerning whole system performance, because the development of memory speed lags behind the speed of development of processor, the bottleneck bringing in order to alleviate internal memory, so there is L2 cache, coordinate difference between the two, and rambus speed is exactly the frequency of operation between finger processor and secondary (L2) high-speed cache and internal memory.
L1 high-speed cache, namely on-chip cache.In processor the inside, built-in high-speed cache can improve the operational efficiency of processor.Capacity and the structure of built-in L1 high-speed cache are larger to the performance impact of processor, but cache memory forms by static RAM (SRAM), structure is more complicated, and in the situation that processor die area can not be too large, the capacity of L1 level high-speed cache can not be done too greatly.
In a word, comparatively speaking, the These parameters of Cortex-A15 is better than Cortex-A7.
As for how collaborative work between two kinds of frameworks of A7/A15, be responsible for the Linaro tissue that ARM writes SoC chip various functions software interface two kinds of solutions are provided, a kind of is kernel handover mechanism IKS(In-kernel Switcher), namely all cores cannot be opened simultaneously, and the kernel that need to carry out between A7 and A15 switches; Another kind of be more perfect isomery multiprocessing HMP(Heterogeneous Multi-Processing), can realize the collaborative work of whole A7 and A15.
HMP is because will significantly revise operating system kernel, and it is large that technology realizes difficulty, and existence and stability risk, needs the support energetically of Linaro community and linux community, and commercialization need the time.
And IKS has shielded most of modification to scheduler, on very little change basis, realized the dynamic switching of A7, A15 core, Samsung is existing commercial product at present, and Cortex-A15 tetra-cores in the middle of this processor of Samsung adopt the mode of physically separating with Cortex-A7 tetra-cores; Wherein A7 frequency is 200--1200MHz, and A15 frequency is 200--1800MHz.IKS carries out kernel switching by measuring the operating load of CPU platform.The cpu frequency that the IKS here not only can realize on ordinary meaning changes, and has also comprised in the core cpu intercropping of two kinds of complete different energy consumption characteristics of A7/A15 and has switched.
Although keep independent between large small nut in physical arrangement, but each A15 core and A7 core become one group in logic, between each group, can carry out according to load " A15 work or A7 work " so independent switching, rather than little load unification born by four A7, large load unification is born by four A15.When operating in about 8000 DMIPS following time, LITTLE is four core A7 work namely, and now CPU platform power consumption has also maintained low-down level; Namely four core A15 intervention work of (or before this) big when load is greater than 8000 DMIPS left and right, the A core number of the larger intervention of load is more.When the A15 of every group works, this group A7 closes.From we can regard the combination of each A7 and each A15 as that a virtual cpu, each virtual cpu only allow an A7 or an A15 job in logic.
IKS mainly also has some defects at present:
The first, A7, A15 processor must match, if for example have 4 A7, will have 4 A15.
The second, because scheduler only carries out kernel switching by measuring the operating load of CPU platform, therefore exist and may, by not needing the application schedules of powerful CPU to the upper operation of A15, waste handling property.
Summary of the invention
In order effectively to overcome above-mentioned two shortcomings of main flow IKS, the invention provides a kind of dispatching method of processor, for distributing CPU to process application program, it is characterized in that:
Described CPU comprises at least one first kind CPU and at least one Equations of The Second Kind CPU, and described first kind CPU, comprises first kind processor cores and Equations of The Second Kind processor cores, and described Equations of The Second Kind CPU, only comprises first kind processor cores; Wherein, the energy-saving effect of described first kind processor cores is better than Equations of The Second Kind processor cores, and the handling property of Equations of The Second Kind processor cores is better than first kind processor cores;
Described application program is labeled with class label, it is first kind application program that this class label indicates application program, or Equations of The Second Kind application program, described first kind application program is the high application program of runnability requirement, described Equations of The Second Kind application program is the low application program of runnability requirement;
Described dispatching method comprises:
In system operational process, obtain class label to be run application;
According to the classification of class label and CPU to be run application, wait to run application described in distribution and processed or Equations of The Second Kind CPU processes by first kind CPU.
Preferably, the class label that described basis is to be run application and the classification of CPU, wait to run application described in distribution and processed or Equations of The Second Kind CPU processes by first kind CPU, comprising:
If determine and to wait to run application into first kind application program according to described class label, distribute this to wait to run application and processed by described first kind CPU;
If determine and to wait to run application into Equations of The Second Kind application program according to described class label, according to the load balancing of CPU, choose first kind CPU or Equations of The Second Kind CPU processes.
Preferably, described according to the load balancing of CPU, choose first kind CPU or Equations of The Second Kind CPU processes, comprising:
Obtain the present load of first kind CPU and Equations of The Second Kind CPU, and the lower CPU of definite present load, a CPU from the lower CPU of all loads, chosen as tentative CPU at random;
If described tentative CPU is first kind CPU; judge that the virtual frequency of this tentative CPU is whether under first threshold; if under first threshold; distributing waits to run application is processed by this tentative CPU; otherwise; abandon this tentative CPU, from the lower CPU of described all loads, again choose at random another CPU;
If described tentative CPU is Equations of The Second Kind CPU, distributing waits to run application is processed by described Equations of The Second Kind CPU.
Preferably, if the virtual frequency of described first kind CPU surpasses first threshold, system automatically switches described first processor kernel to described the second processor cores; If the virtual frequency of described first kind CPU is lower than described first threshold, system automatically switches the second processor cores to first processor kernel.
Preferably, the class label that described application program indicates adds by a application list, and described list comprises application field and application category field.
Preferably, the class label that described application program indicates adds by the selinux in operating system.
The present invention also provides a kind of dispatching device of processor, for distributing CPU to process application program, it is characterized in that:
Described CPU comprises at least one first kind CPU and at least one Equations of The Second Kind CPU, and described first kind CPU, comprises first kind processor cores and Equations of The Second Kind processor cores, and described Equations of The Second Kind CPU, only comprises first kind processor cores; Wherein, the energy-saving effect of described first kind processor cores is better than Equations of The Second Kind processor cores, and the handling property of Equations of The Second Kind processor cores is better than first kind processor cores;
Described application program is labeled with class label, it is first kind application program that this class label indicates application program, or Equations of The Second Kind application program, described first kind application program is the high application program of runnability requirement, described Equations of The Second Kind application program is the low application program of runnability requirement;
Described dispatching device comprises:
Acquiring unit, at system operational process, obtains class label to be run application;
Allocation units, for according to class label to be run application and the classification of CPU, wait to run application described in distribution and are processed or Equations of The Second Kind CPU processes by first kind CPU.
The present invention also provides a kind of dispatching system of processor, it is characterized in that, described system comprises:
At least one first kind CPU, described first kind CPU comprises first processor kernel and the second processor cores, wherein, the energy-saving effect of described first kind processor cores is better than Equations of The Second Kind processor cores, and the handling property of Equations of The Second Kind processor cores is better than first kind processor cores;
At least one Equations of The Second Kind CPU, described Equations of The Second Kind CPU only comprises first kind processor cores;
Label adding device, for treating the application program of operation, add class label, indicating that this waits to run application is first kind application program, or Equations of The Second Kind application program, described first kind application program is the high application program of runnability requirement, and described Equations of The Second Kind application program is the low application program of runnability requirement;
Scheduler, at system operational process, obtains class label to be run application, and according to the classification of class label to be run application and CPU, distributes this to wait to run application and processed or Equations of The Second Kind CPU processes by first kind CPU.
Preferably, described scheduler comprises:
The first allocation units, if for determining and to wait to run application into first kind application program according to described class label, distribute this to wait to run application and processed by described first kind CPU;
The second allocation units, if for determining and to wait to run application into Equations of The Second Kind application program according to described class label, according to the load balancing of CPU, choose first kind CPU or Equations of The Second Kind CPU processes.
Preferably, described the second allocation units comprise:
Tentative CPU chooses unit, for obtaining the present load of first kind CPU and Equations of The Second Kind CPU, and the lower CPU of definite present load, from the lower CPU of all loads, choose a CPU as tentative CPU at random;
First kind CPU allocation units; if be first kind CPU for described tentative CPU; judge that the virtual frequency of this tentative CPU is whether under first threshold; if under first threshold; distributing waits to run application is processed by this tentative CPU; otherwise, abandon this tentative CPU, from the lower CPU of described all loads, again choose at random another CPU;
Equations of The Second Kind CPU allocation units, if described tentative CPU is Equations of The Second Kind CPU, distributing waits to run application is processed by described Equations of The Second Kind CPU.
 
In the present invention, each application program is added with label, scheduler is the requirement to processor handling property according to application program, distribute high-performance CPU or low performance CPU to process application program, effectively avoid the application program of low energy consumption by the problem of high handling property kernel processes, saved system resource; Meanwhile, also guaranteed that the handling property of high speed processor is brought into play, rationally realized the collaborative work of software and hardware.
accompanying drawing explanation
Fig. 1 is the process flow diagram that big litter technology realizes;
Fig. 2 shows scheduler and according to application category, distributes the process flow diagram of CPU;
Fig. 3 is processor scheduling system chart.
Embodiment
For above-mentioned purpose of the present invention, feature and advantage can be become apparent more, below in conjunction with the drawings and specific embodiments, the present invention is further detailed explanation.
With reference to Fig. 1, show the whole process of the big litter technology realization of the embodiment of the present invention, by the CPU providing in the embodiment of the present invention, label adds program and dispatching method, can distribute different classes of CPU to process different application programs.
S101., the CPU of two kinds is provided;
CPU described in the embodiment of the present invention is virtual cpu (hereinafter to be referred as CPU), in this CPU, comprise one or two processor cores, a moment, only have a processor cores in operation, in operating system, just as same CPU execution, above-mentioned CPU can be divided into two classes: first kind CPU, this class CPU has A15 processor cores of an A7 processor cores, and when the virtual frequency of CPU surpasses a setting threshold, processor cores automatically switches to A15 from A7; When the virtual frequency of CPU is less than above-mentioned setting threshold, processor cores automatically switches to A7 from A15, and the same time has only allowed a processor cores in operation.Equations of The Second Kind CPU, this class CPU only comprises A7 processor cores, the processor cores in this classification CPU can not switch.First kind CPU can have one or more; Equations of The Second Kind CPU also can have one or more.
S102. for each application program to be moved is added class label;
In operating system, can provide a label to add program, this program can be that each application program to be moved adds class label, and it is the high application program of runnability requirement or runnability requires low application program that this class label indicates each application program.Requirement to runnability, mainly refers to the processing speed to processor, and the requirement of memory size, for example, desktop programs, mouse, keyboard drive supervisor, take resource less, belongs to the low application program of runnability requirement; On the contrary, as 3D game, IE browser, simulation software class method, because these application programs take a lot of memory sources and processor resource, can be divided in the high application program of runnability requirement.
Can pass through the selinux(Security-Enhanced Linux in operating system) be that application program is added label.SELinux depends on the kernel of system and the patch of security configuration policy, once correctly configure operating system, abnormal application deployment or mistake will only return an error to user's program and its system background program, the security of other user program and their background program still can normally move, and are keeping their security system structure.With SELinux, the least privilege that access control carrys out limited subscriber routine access be can strengthen, the user and the system program that prevent the required adjustment of system crash reduced.While there is no SELinux patch in operating system, can be by this installation in operating system, open the configuration file of this program, in configuration file, can see all application programs that are installed to operating system, therefrom select to add tagged application program, add an additional attribute in this application program, it is the high application program of runnability requirement or runnability requires low application program that this attribute indicates application program.
Also can for each application program to be moved, add label by a list, list comprises application field and application category field, can also comprise the resource type field taking, and for example, is memory source, or processor resource; The historical information that can also comprise resource occupation, the resource situation that for example last time operation takies, accumulative total takies the situation of resource and the resource situation that on average takies etc.The above-mentioned information of comprehensive assessment, determines the runnability requirement of this application program, thereby determines its label classification.
S103. according to the class label of application program and CPU classification, distribute different CPU to process different application programs;
In system operational process, first scheduler obtains class label to be run application.
Before application program will be moved, scheduler can find this application program according to this application program address, obtains the attribute information of this application program, obtains the class label of this program in dependency information; Can also directly find the classification of this application program by obtaining application category list, thereby determine that this program is the low application program of runnability requirement or runnability requires high application program.Afterwards, according to the classification of application program, distribute different CPU to process different application programs.
Fig. 2 shows scheduler and according to the classification of application program, distributes the process flow diagram of different virtual CPU, according to the classification of class label and CPU to be run application, waits to run application described in distribution and is processed or Equations of The Second Kind CPU processes by first kind CPU.
If class label shows, wait the application program that runs application and have relatively high expectations for runnability, distribute this application program to be processed by the first kind CPU that comprises A7 and two processor cores of A15;
If class label shows, wait to run application into the lower application program of runnability requirement, first obtain the operational factor of all CPU, the load that judges which or those CPU is relatively little, the CPU that all loads are less lists, and from the relatively little CPU of these loads, select at random a CPU, using this CPU as tentative CPU.
Afterwards, continue judgement, if this tentative CPU is the first kind CPU that comprises A7 and A15 processor cores, obtain the virtual frequency value of this tentative CPU, and obtain the threshold value that A7 in this tentative CPU, A15 kernel switch, virtual frequency value and switching threshold are compared, judge that the virtual frequency of this tentative CPU is whether under described switching threshold, if under threshold value, represent that in current this virtual cpu, A7 processor cores moves, so, can distribute the lower application program of this runnability requirement to be processed by this tentative CPU.If the virtual frequency of this tentative CPU is on threshold value, represent that in current this virtual cpu, A15 processor cores moves, so, if process the lower application program of runnability requirement with A15 processor cores, can cause the waste of processor resource, therefore, now need to abandon this tentative CPU, from the lower CPU of all loads, again choose at random another CPU.
If the next tentative CPU selecting remains the first kind CPU that comprises A7 and A15 processor cores, utilize above-mentioned same method judge and select; If the tentative CPU selecting is the Equations of The Second Kind CPU that only comprises A7 processor cores, directly distributes above-mentioned runnability to require lower waiting to run application and processed by this tentative CPU.
The embodiment of the present invention is the requirement to processor handling property according to application program, to each application program, stick class label, according to label, select the processor cores of high handling property or reduction process performance processor kernel to process, avoid the low application program of runnability requirement by the problem of high handling property kernel processes, effectively saved system resource; Simultaneously, solved runnability and required high application program, because processor processing speed does not reach requirement, the response causing does not slowly have the generation of the situation of response even completely yet, the high treatability of high speed processor can be brought into play, rationally realized the collaborative work of software and hardware.
 
In addition, referring to Fig. 3, the present invention also provides a kind of dispatching system of processor, and this dispatching system comprises:
Processor 301, comprise at least one first kind CPU3011, described first kind CPU comprises first processor class kernel and Equations of The Second Kind processor cores, wherein, the energy-saving effect of described first kind processor cores is better than Equations of The Second Kind processor cores, and the handling property of Equations of The Second Kind processor cores is better than first kind processor cores;
At least one Equations of The Second Kind CPU3012, described Equations of The Second Kind CPU only comprises first kind processor cores;
Described first kind CPU also comprises kernel switch unit, if the virtual frequency of described first kind CPU surpasses first threshold, described kernel switch unit switches described first processor kernel to described the second processor cores; If the virtual frequency of described first kind CPU is lower than described first threshold, described kernel switch unit switches the second processor cores to first processor kernel.
Above-mentioned dispatching system also comprises, label adding device 302, for treating the application program 303 of operation, add class label, indicating that this waits to run application is first kind application program, or Equations of The Second Kind application program, described first kind application program is the high application program of runnability requirement, and described Equations of The Second Kind application program is the low application program of runnability requirement;
Above-mentioned dispatching system also comprises scheduler 304, be used at system operational process, obtain class label to be run application, according to the classification of class label to be run application and CPU, distribute this to wait to run application and processed or Equations of The Second Kind CPU processes by first kind CPU.
Wherein, described scheduler comprises:
The first allocation units 3041, if for determining and to wait to run application into first kind application program according to described class label, distribute this to wait to run application and processed by described first kind CPU;
The second allocation units 3042, if for determining and to wait to run application into Equations of The Second Kind application program according to described class label, according to the load balancing of CPU, choose first kind CPU or Equations of The Second Kind CPU processes.
Described the second allocation units 3042 comprise:
Tentative CPU chooses unit, for obtaining the present load of first kind CPU and Equations of The Second Kind CPU, and the lower CPU of definite present load, from the lower CPU of all loads, choose a CPU as tentative CPU at random;
First kind CPU allocation units; if be first kind CPU for described tentative CPU; judge that the virtual frequency of this tentative CPU is whether under first threshold; if under first threshold; distributing waits to run application is processed by this tentative CPU; otherwise, abandon this tentative CPU, from the lower CPU of described all loads, again choose at random another CPU;
Equations of The Second Kind CPU allocation units, if described tentative CPU is Equations of The Second Kind CPU, distributing waits to run application is processed by described Equations of The Second Kind CPU.
Above-mentioned processor scheduling system, first obtain the class label of application program, then, according to the processor cores of load balancing principle and current operation, determine the processor of carrying out application program to be moved, than it IKS technology of the prior art, enriched the type of CPU, adapted to the simple and practical small routine situation that only needs low processor is processed at present a lot of computer products, the resource of having saved processor, has reduced energy consumption.In addition, if the application program that has high energy consumption to require needs operation, this dispatching system also can provide the A15 processor cores of high handling property to process, and has improved the processing speed of application program, has also met user's demand.
 
In addition, the present invention also provides the processor scheduling device corresponding with processor scheduling method, for distributing CPU to process application program, it is characterized in that:
Described CPU comprises at least one first kind CPU and at least one Equations of The Second Kind CPU, and described first kind CPU, comprises first kind processor cores and Equations of The Second Kind processor cores, and described Equations of The Second Kind CPU, only comprises first kind processor cores; Wherein, the energy-saving effect of described first kind processor cores is better than Equations of The Second Kind processor cores, and the handling property of Equations of The Second Kind processor cores is better than first kind processor cores;
Described first kind CPU also comprises switch unit, if the virtual frequency of described first kind CPU surpasses first threshold, described switch unit switches described first processor kernel to described the second processor cores; If the virtual frequency of described first kind CPU is lower than described first threshold, described switch unit switches the second processor cores to first processor kernel.
Described application program is labeled with class label, it is first kind application program that this class label indicates application program, or Equations of The Second Kind application program, described first kind application program is the high application program of runnability requirement, described Equations of The Second Kind application program is the low application program of runnability requirement;
Described dispatching device comprises:
Acquiring unit, at system operational process, obtains class label to be run application;
Allocation units, for according to class label to be run application and the classification of CPU, wait to run application described in distribution and are processed or Equations of The Second Kind CPU processes by first kind CPU.
Wherein, described allocation units comprise:
The first allocation units, if for determining and to wait to run application into first kind application program according to described class label, distribute this to wait to run application and processed by described first kind CPU;
The second allocation units, if for determining and to wait to run application into Equations of The Second Kind application program according to described class label, according to the load balancing of CPU, choose first kind CPU or Equations of The Second Kind CPU processes.
Wherein, described the second allocation units comprise:
Tentative CPU chooses unit, for obtaining the present load of first kind CPU and Equations of The Second Kind CPU, and the lower CPU of definite present load, from the lower CPU of all loads, choose a CPU as tentative CPU at random;
First kind CPU allocation units; if be first kind CPU for described tentative CPU; judge that the virtual frequency of this tentative CPU is whether under first threshold; if under first threshold; distributing waits to run application is processed by this tentative CPU; otherwise, abandon this tentative CPU, from the lower CPU of described all loads, again choose at random another CPU;
Equations of The Second Kind CPU allocation units, if described tentative CPU is Equations of The Second Kind CPU, distributing waits to run application is processed by described Equations of The Second Kind CPU.
This processor scheduling device distributes the virtual cpu of different disposal performance to process different classes of application program, effectively utilized the processor resource of system, not only can guarantee that application program normally moves, the power wastage of also having avoided the idle running of high handling property CPU to cause.
 
It should be noted that, the present invention is not for any certain programmed language.Those skilled in the art are appreciated that and can the module in the equipment in embodiment are adaptively changed and they are arranged in one or more equipment different from this embodiment.Module in embodiment or unit or assembly can be combined into a module or unit or assembly, and can put them into a plurality of submodules or subelement or sub-component in addition.At least some in such feature and/or process or unit are mutually repelling, and can adopt any combination to combine all processes or the unit of disclosed all features in this instructions and disclosed any method like this or equipment.Unless clearly statement in addition, in this instructions disclosed each feature can be by providing identical, be equal to or the alternative features of similar object replaces.
All parts embodiment of the present invention can realize with hardware, or realizes with the software module moved on one or more processor, or realizes with their combination.It will be understood by those of skill in the art that can use in practice that microprocessor or digital signal processor (DSP) are realized according to the processing of the network multimedia resource information of the embodiment of the present invention, provided, the some or all functions of the some or all parts in loading equipemtn.The present invention can also be embodied as for carrying out part or all equipment or device program of method as described herein.Realizing program of the present invention and can be stored on computer-readable medium like this, or can there is the form of one or more signal.Such signal can be downloaded and obtain from internet website, or provides on carrier signal, or provides with any other form.
It should be noted above-described embodiment the present invention will be described rather than limit the invention, and those skilled in the art can design alternative embodiment in the situation that do not depart from the scope of claims.Being positioned at word " " before element or " one " does not get rid of and has a plurality of such elements.The present invention can be by means of including the hardware of some different elements and realizing by means of the computing machine of suitably programming.In having enumerated the unit claim of some devices, several in these devices can be to carry out imbody by same hardware branch.The use of word first, second and C grade does not represent any order.Can be title by these word explanations.
Computer system/server can be described under the general linguistic context of the computer system executable instruction (such as program module) of being carried out by computer system.Conventionally, program module can comprise routine, program, target program, assembly, logic, data structure etc., and they are carried out specific task or realize specific abstract data type.Computer system/server can be implemented in distributed cloud computing environment, and in distributed cloud computing environment, task is to be carried out by the teleprocessing equipment linking by communication network.

Claims (10)

1. a dispatching method for processor, for distributing CPU to process application program, is characterized in that:
Described CPU comprises at least one first kind CPU and at least one Equations of The Second Kind CPU, and described first kind CPU, comprises first kind processor cores and Equations of The Second Kind processor cores, and described Equations of The Second Kind CPU, only comprises first kind processor cores; Wherein, the energy-saving effect of described first kind processor cores is better than Equations of The Second Kind processor cores, and the handling property of Equations of The Second Kind processor cores is better than first kind processor cores;
Described application program is labeled with class label, it is first kind application program that this class label indicates application program, or Equations of The Second Kind application program, described first kind application program is the high application program of runnability requirement, described Equations of The Second Kind application program is the low application program of runnability requirement;
Described dispatching method comprises:
In system operational process, obtain class label to be run application;
According to the classification of class label and CPU to be run application, wait to run application described in distribution and processed or Equations of The Second Kind CPU processes by first kind CPU.
2. according to the dispatching method of the processor of claim 1, it is characterized in that: the class label that described basis is to be run application and the classification of CPU, wait to run application described in distribution and processed or Equations of The Second Kind CPU processes by first kind CPU, comprising:
If determine and to wait to run application into first kind application program according to described class label, distribute this to wait to run application and processed by described first kind CPU;
If determine and to wait to run application into Equations of The Second Kind application program according to described class label, according to the load balancing of CPU, choose first kind CPU or Equations of The Second Kind CPU processes.
3. according to the dispatching method of the processor of claim 2, it is characterized in that: described according to the load balancing of CPU, choose first kind CPU or Equations of The Second Kind CPU processes, comprising:
Obtain the present load of first kind CPU and Equations of The Second Kind CPU, and the lower CPU of definite present load, a CPU from the lower CPU of all loads, chosen as tentative CPU at random;
If described tentative CPU is first kind CPU; judge that the virtual frequency of this tentative CPU is whether under first threshold; if under first threshold; distributing waits to run application is processed by this tentative CPU; otherwise; abandon this tentative CPU, from the lower CPU of described all loads, again choose at random another CPU;
If described tentative CPU is Equations of The Second Kind CPU, distributing waits to run application is processed by described Equations of The Second Kind CPU.
4. according to the dispatching method of the processor of claim 1, it is characterized in that, if the virtual frequency of described first kind CPU surpasses first threshold, system automatically switches described first processor kernel to described the second processor cores; If the virtual frequency of described first kind CPU is lower than described first threshold, system automatically switches the second processor cores to first processor kernel.
5. according to the dispatching method of the processor of claim 1, it is characterized in that, the class label that described application program indicates adds by a application list, and described list comprises application field and application category field.
6. according to the dispatching method of the processor of claim 1, it is characterized in that, the class label that described application program indicates adds by the selinux in operating system.
7. a dispatching device for processor, for distributing CPU to process application program, is characterized in that:
Described CPU comprises at least one first kind CPU and at least one Equations of The Second Kind CPU, and described first kind CPU, comprises first kind processor cores and Equations of The Second Kind processor cores, and described Equations of The Second Kind CPU, only comprises first kind processor cores; Wherein, the energy-saving effect of described first kind processor cores is better than Equations of The Second Kind processor cores, and the handling property of Equations of The Second Kind processor cores is better than first kind processor cores;
Described application program is labeled with class label, it is first kind application program that this class label indicates application program, or Equations of The Second Kind application program, described first kind application program is the high application program of runnability requirement, described Equations of The Second Kind application program is the low application program of runnability requirement;
Described dispatching device comprises:
Acquiring unit, at system operational process, obtains class label to be run application;
Allocation units, for according to class label to be run application and the classification of CPU, wait to run application described in distribution and are processed or Equations of The Second Kind CPU processes by first kind CPU.
8. a dispatching system for processor, is characterized in that, described system comprises:
At least one first kind CPU, described first kind CPU comprises first processor kernel and the second processor cores, wherein, the energy-saving effect of described first kind processor cores is better than Equations of The Second Kind processor cores, and the handling property of Equations of The Second Kind processor cores is better than first kind processor cores;
At least one Equations of The Second Kind CPU, described Equations of The Second Kind CPU only comprises first kind processor cores;
Label adding device, for treating the application program of operation, add class label, indicating that this waits to run application is first kind application program, or Equations of The Second Kind application program, described first kind application program is the high application program of runnability requirement, and described Equations of The Second Kind application program is the low application program of runnability requirement;
Scheduler, at system operational process, obtains class label to be run application, and according to the classification of class label to be run application and CPU, distributes this to wait to run application and processed or Equations of The Second Kind CPU processes by first kind CPU.
9. the dispatching system of processor according to Claim 8, is characterized in that: described scheduler comprises:
The first allocation units, if for determining and to wait to run application into first kind application program according to described class label, distribute this to wait to run application and processed by described first kind CPU;
The second allocation units, if for determining and to wait to run application into Equations of The Second Kind application program according to described class label, according to the load balancing of CPU, choose first kind CPU or Equations of The Second Kind CPU processes.
10. the dispatching system of processor according to Claim 8, is characterized in that: described the second allocation units comprise:
Tentative CPU chooses unit, for obtaining the present load of first kind CPU and Equations of The Second Kind CPU, and the lower CPU of definite present load, from the lower CPU of all loads, choose a CPU as tentative CPU at random;
First kind CPU allocation units; if be first kind CPU for described tentative CPU; judge that the virtual frequency of this tentative CPU is whether under first threshold; if under first threshold; distributing waits to run application is processed by this tentative CPU; otherwise, abandon this tentative CPU, from the lower CPU of described all loads, again choose at random another CPU;
Equations of The Second Kind CPU allocation units, if described tentative CPU is Equations of The Second Kind CPU, distributing waits to run application is processed by described Equations of The Second Kind CPU.
CN201310605367.1A 2013-11-26 2013-11-26 The dispatching method of a kind of processor, device and system Active CN103646006B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310605367.1A CN103646006B (en) 2013-11-26 2013-11-26 The dispatching method of a kind of processor, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310605367.1A CN103646006B (en) 2013-11-26 2013-11-26 The dispatching method of a kind of processor, device and system

Publications (2)

Publication Number Publication Date
CN103646006A true CN103646006A (en) 2014-03-19
CN103646006B CN103646006B (en) 2016-08-31

Family

ID=50251226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310605367.1A Active CN103646006B (en) 2013-11-26 2013-11-26 The dispatching method of a kind of processor, device and system

Country Status (1)

Country Link
CN (1) CN103646006B (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942103A (en) * 2014-04-16 2014-07-23 乐视致新电子科技(天津)有限公司 Method and device for generating processor scheduling policy in multi-core system and scheduling system
CN104503831A (en) * 2014-12-22 2015-04-08 北京奇虎科技有限公司 Equipment optimization method and device
CN105187514A (en) * 2015-08-14 2015-12-23 深圳市云舒网络技术有限公司 Management method for cloud application and system thereof
CN105960003A (en) * 2016-06-30 2016-09-21 努比亚技术有限公司 Control method and terminal
CN106020893A (en) * 2016-05-26 2016-10-12 北京小米移动软件有限公司 Application installation method and device
CN106095544A (en) * 2016-05-31 2016-11-09 北京小米移动软件有限公司 Central processing unit control method and device
CN106293913A (en) * 2016-08-01 2017-01-04 宇龙计算机通信科技(深圳)有限公司 The control method of application program, control device and terminal
CN106406494A (en) * 2016-08-29 2017-02-15 深圳市金立通信设备有限公司 Method for scheduling processor and terminal
CN107479666A (en) * 2017-06-30 2017-12-15 广东欧珀移动通信有限公司 terminal device, temperature rise control method, control device and storage medium
CN110647235A (en) * 2019-09-06 2020-01-03 Oppo广东移动通信有限公司 Data processing method and device based on terminal equipment and terminal equipment
CN110968415A (en) * 2018-09-29 2020-04-07 Oppo广东移动通信有限公司 Scheduling method and device of multi-core processor and terminal
CN111651254A (en) * 2020-05-29 2020-09-11 华为技术有限公司 Method and device for executing application
WO2021109882A1 (en) * 2019-12-02 2021-06-10 Oppo广东移动通信有限公司 Application starting method and apparatus, and storage medium and electronic device
WO2024037068A1 (en) * 2022-08-19 2024-02-22 华为技术有限公司 Task scheduling method, electronic device and computer-readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102707996A (en) * 2012-05-15 2012-10-03 江苏中科梦兰电子科技有限公司 Task scheduling method for heterogeneous multi-core processor
US20120297387A1 (en) * 2011-05-19 2012-11-22 International Business Machines Corporation Application Hibernation
CN103119580A (en) * 2010-09-25 2013-05-22 英特尔公司 Application scheduling in heterogeneous multiprocessor computing platforms
CN103246559A (en) * 2012-02-10 2013-08-14 联想(北京)有限公司 Application processing method and electronic equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103119580A (en) * 2010-09-25 2013-05-22 英特尔公司 Application scheduling in heterogeneous multiprocessor computing platforms
US20120297387A1 (en) * 2011-05-19 2012-11-22 International Business Machines Corporation Application Hibernation
CN103246559A (en) * 2012-02-10 2013-08-14 联想(北京)有限公司 Application processing method and electronic equipment
CN102707996A (en) * 2012-05-15 2012-10-03 江苏中科梦兰电子科技有限公司 Task scheduling method for heterogeneous multi-core processor

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942103A (en) * 2014-04-16 2014-07-23 乐视致新电子科技(天津)有限公司 Method and device for generating processor scheduling policy in multi-core system and scheduling system
CN104503831B (en) * 2014-12-22 2017-10-13 北京奇虎科技有限公司 Equipment optimization method and device
CN104503831A (en) * 2014-12-22 2015-04-08 北京奇虎科技有限公司 Equipment optimization method and device
CN105187514A (en) * 2015-08-14 2015-12-23 深圳市云舒网络技术有限公司 Management method for cloud application and system thereof
CN105187514B (en) * 2015-08-14 2019-02-01 深圳市云舒网络技术有限公司 The management method and its system of cloud application program
CN106020893B (en) * 2016-05-26 2019-03-15 北京小米移动软件有限公司 Using the method and device of installation
CN106020893A (en) * 2016-05-26 2016-10-12 北京小米移动软件有限公司 Application installation method and device
CN106095544A (en) * 2016-05-31 2016-11-09 北京小米移动软件有限公司 Central processing unit control method and device
CN106095544B (en) * 2016-05-31 2019-10-11 北京小米移动软件有限公司 Central processing unit control method and device
CN105960003A (en) * 2016-06-30 2016-09-21 努比亚技术有限公司 Control method and terminal
CN106293913A (en) * 2016-08-01 2017-01-04 宇龙计算机通信科技(深圳)有限公司 The control method of application program, control device and terminal
CN106406494A (en) * 2016-08-29 2017-02-15 深圳市金立通信设备有限公司 Method for scheduling processor and terminal
CN107479666A (en) * 2017-06-30 2017-12-15 广东欧珀移动通信有限公司 terminal device, temperature rise control method, control device and storage medium
CN107479666B (en) * 2017-06-30 2020-11-27 Oppo广东移动通信有限公司 Terminal device, temperature rise control method, control device, and storage medium
CN110968415A (en) * 2018-09-29 2020-04-07 Oppo广东移动通信有限公司 Scheduling method and device of multi-core processor and terminal
CN110968415B (en) * 2018-09-29 2022-08-05 Oppo广东移动通信有限公司 Scheduling method and device of multi-core processor and terminal
CN110647235A (en) * 2019-09-06 2020-01-03 Oppo广东移动通信有限公司 Data processing method and device based on terminal equipment and terminal equipment
CN110647235B (en) * 2019-09-06 2022-07-08 Oppo广东移动通信有限公司 Data processing method and device based on terminal equipment and terminal equipment
WO2021109882A1 (en) * 2019-12-02 2021-06-10 Oppo广东移动通信有限公司 Application starting method and apparatus, and storage medium and electronic device
CN111651254A (en) * 2020-05-29 2020-09-11 华为技术有限公司 Method and device for executing application
WO2021238387A1 (en) * 2020-05-29 2021-12-02 荣耀终端有限公司 Application execution method and apparatus
WO2024037068A1 (en) * 2022-08-19 2024-02-22 华为技术有限公司 Task scheduling method, electronic device and computer-readable storage medium

Also Published As

Publication number Publication date
CN103646006B (en) 2016-08-31

Similar Documents

Publication Publication Date Title
CN103646006A (en) Scheduling method, device and system for processor
Putnam et al. A reconfigurable fabric for accelerating large-scale datacenter services
Vaishnav et al. Resource elastic virtualization for FPGAs using OpenCL
CN100524286C (en) Multiple core processing system and its management method
CN101366004A (en) Methods and apparatus for multi-core processing with dedicated thread management
US9389675B2 (en) Power management for in-memory computer systems
CN105579959A (en) Virtualization of hardware accelerator
CN103365726A (en) Resource management method and system facing GPU (Graphic Processing Unit) cluster
CN104115093A (en) Method, apparatus, and system for energy efficiency and energy conservation including power and performance balancing between multiple processing elements
US9201823B2 (en) Pessimistic interrupt affinity for devices
US11579908B2 (en) Containerized workload scheduling
CN102822801A (en) Allocating computing system power levels responsive to service level agreements
Pourhabibi et al. Cerebros: Evading the rpc tax in datacenters
CN102985910A (en) GPU support for garbage collection
US10452686B2 (en) System and method for memory synchronization of a multi-core system
US9003094B2 (en) Optimistic interrupt affinity for devices
US20200341789A1 (en) Containerized workload scheduling
US10120798B1 (en) Dynamic FPGA re-configuration using a virtual FPGA controller
Koromilas et al. Spark acceleration on FPGAs: A use case on machine learning in Pynq
US8255577B2 (en) I/O forwarding technique for multi-interrupt capable devices
Valero-Lara et al. Analysis in performance and new model for multiple kernels executions on many-core architectures
Ventroux et al. Scmp architecture: an asymmetric multiprocessor system-on-chip for dynamic applications
CN114281529A (en) Distributed virtualized client operating system scheduling optimization method, system and terminal
González et al. Cache organizations for clustered microarchitectures
Deng et al. A reconfigurable RTOS with HW/SW co-scheduling for SOPC

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PP01 Preservation of patent right

Effective date of registration: 20170721

Granted publication date: 20160831

PP01 Preservation of patent right
PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20200721

Granted publication date: 20160831

CP03 Change of name, title or address

Address after: 300453 Tianjin Binhai New Area, Tianjin Eco-city, No. 126 Animation and Animation Center Road, Area B1, Second Floor 201-427

Patentee after: Xinle Visual Intelligent Electronic Technology (Tianjin) Co.,Ltd.

Address before: 300467 Tianjin Binhai New Area, ecological city, animation Middle Road, building, No. two, B1 District, 201-427

Patentee before: LE SHI ZHI XIN ELECTRONIC TECHNOLOGY (TIANJIN) Ltd.

Address after: Room 301-1, Room 301-3, Area B2, Animation Building, No. 126 Animation Road, Zhongxin Eco-city, Tianjin Binhai New Area, Tianjin

Patentee after: LE SHI ZHI XIN ELECTRONIC TECHNOLOGY (TIANJIN) Ltd.

Address before: 300453 Tianjin Binhai New Area, Tianjin Eco-city, No. 126 Animation and Animation Center Road, Area B1, Second Floor 201-427

Patentee before: Xinle Visual Intelligent Electronic Technology (Tianjin) Co.,Ltd.

CP03 Change of name, title or address
PP01 Preservation of patent right

Effective date of registration: 20210201

Granted publication date: 20160831

PP01 Preservation of patent right
PD01 Discharge of preservation of patent

Date of cancellation: 20240201

Granted publication date: 20160831

PD01 Discharge of preservation of patent
PP01 Preservation of patent right

Effective date of registration: 20240201

Granted publication date: 20160831

PP01 Preservation of patent right