CN103631655A - Task scheduling in big and little cores - Google Patents

Task scheduling in big and little cores Download PDF

Info

Publication number
CN103631655A
CN103631655A CN201310350630.7A CN201310350630A CN103631655A CN 103631655 A CN103631655 A CN 103631655A CN 201310350630 A CN201310350630 A CN 201310350630A CN 103631655 A CN103631655 A CN 103631655A
Authority
CN
China
Prior art keywords
interruption
compared
macronucleus
schedule policy
small nut
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
CN201310350630.7A
Other languages
Chinese (zh)
Other versions
CN103631655B (en
Inventor
马克·C·达维斯
达赖尔·C·克罗默
霍华德·J·洛克
斯科特·E·凯尔索
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte 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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Publication of CN103631655A publication Critical patent/CN103631655A/en
Application granted granted Critical
Publication of CN103631655B publication Critical patent/CN103631655B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention relates to a task scheduling in big and little core.One aspect provides a method comprising: ascertaining an interrupt at an information handling device having two or more cores of different size; determining if the interrupt should be directed to one of a bigger core and a littler core based on a policy for scheduling interrupts; directing the interrupt to the little core if the interrupt does not qualify as an exception based on the policy for scheduling interrupts; and processing the interrupt on an appropriate core according the policy for scheduling interrupts. Other aspects are described and claimed.

Description

Task scheduling in macronucleus and small nut
Technical field
The present invention relates to macronucleus and small nut to carry out method and the messaging device thereof of task scheduling.
Background technology
Traditional polycaryon processor comprises single component or chip, is wherein provided with a plurality of CPU (central processing unit) or core to read and execution of program instructions.Conventionally, polycaryon processor has core identical aspect processing power.
Current, consider the efficiency requirement of battery powered mobile device, to being provided with the multi core chip of the core of different sizes, constantly make improvement.For example, aspect extending battery life, as nonrestrictive example, ARM CORTEX tM-A7 processor not only provided high-performance but also power saving.Target is by for example, compared with macronucleus (ARM CORTEX-A15MPCORE tMprocessor) performance with for example, compared with small nut (ARM CORTEX tM-A7 processor) efficiency connects.ARMCORTEX tM-A7MPCORE tMframework and the feature set of processor architecture and feature set and Cortex-A15 processor are preserved explicitly, and wherein micro-architecture is configured to by making two processors collaborative work provide efficiency.
Summary of the invention
Generally speaking, an aspect provides a kind of method, and the method comprises: find out the interruption at the messaging device place of the core with two or more different sizes; Based on interrupt schedule policy, determine whether will interrupt guiding into compared with macronucleus with compared with one of in small nut; If interrupt not obtaining the qualification of exception based on interrupt schedule policy, interruption guided into compared with small nut; And, according to handling interrupt on the suitable core of interrupt schedule policy.
A kind of messaging device is provided on the other hand, and this messaging device comprises: one or more processor and with the storer of this one or more processor communication.This memory stores programmed instruction, this programmed instruction is carried out following step when being carried out by one or more processor: find out the interruption at the messaging device place of the core with two or more different sizes; Based on interrupt schedule policy, determine whether will interrupt guiding into compared with macronucleus with compared with one of in small nut; If interrupt not obtaining the qualification of exception based on interrupt schedule policy, interruption guided into compared with small nut; And, according to handling interrupt on the suitable core of interrupt schedule policy.
Provide a kind of program product on the one hand again, this program product comprises storage medium, and this storage medium has program code.This program code comprises the program code that is configured to carry out following step: find out the interruption at the messaging device place of the core with two or more different sizes; Based on interrupt schedule policy, determine whether will interrupt guiding into compared with macronucleus with compared with one of in small nut; If interrupt not obtaining the qualification of exception based on interrupt schedule policy, interruption guided into compared with small nut; And, according to handling interrupt on the suitable core of interrupt schedule policy.
Aforementioned is summary, thereby can comprise simplification, summary and the omission of details; Therefore, it will be appreciated by those skilled in the art that this summary is only illustrative and is not intended to limit by any way.
For understand better embodiment together with embodiment other and further feature and advantage, with reference to following description taken together with the accompanying drawings.Scope of the present invention will be pointed out in claims.
Accompanying drawing explanation
Fig. 1 shows example information treatment facility.
Fig. 2 shows another example information treatment facility.
Fig. 3 shows the example of task scheduling.
Fig. 4 shows the example of core signature being distributed to task.
Fig. 5 A to 5B shows another example of task scheduling.
Fig. 6 shows the another example of task scheduling.
Embodiment
To easily understand, the assembly of the embodiment that specifically describes in accompanying drawing herein and illustrate can the multiple different configuration except described example embodiment be arranged and design.Thereby, below as more detailed description in the accompanying drawings, example embodiment is shown, be not intended to limit the scope of embodiment required for protection, and be typical example embodiment.
In this specification, to " (one) embodiment " or " a kind of (an) embodiment " (etc.) quote and mean in conjunction with the described special characteristic of embodiment, structure or characteristic and be included at least one embodiment.Therefore the phrase " in one embodiment ", occurring in each place of this specification or " in one embodiment " etc. may not all refer to same embodiment.
And in one or more embodiment, described feature, structure or characteristic can combine in any suitable manner.In the following description, provide many concrete details to provide the thorough understanding to embodiment.Yet those skilled in the relevant art will recognize, can implement various embodiments in the situation that of neither one or more detail, maybe can implement various embodiments by other method, assembly, material etc.In other example, no longer at length illustrate or describe known structure, material or operation to avoid puzzled.
For the user of the mobile device that sometimes relies on battery electric power to work long hours, it is important increasing battery life.Processor core in SOC (system on a chip) (SoC, System on Chip) design expends more electric power along with performance boost.This is because adopted the method that increases clock frequency and/or added logic.These two kinds of methods all expend more electric power and carry out operational system.
Traditional polycaryon processor all has identical performance, frequency and power.Operating system dispatches task fifty-fifty to each core, and each core is carried out to similar power management.Along with there is the development of chip of a plurality of cores of different performance level on public tube core, can differentially adopt core.Because less core expends less electric power, have lower performance, therefore operable compared with small nut more (being partial to use compared with macronucleus), battery life is longer, and this is because system when not using compared with macronucleus can will close to save electric power compared with macronucleus.Yet, if adopted compared with small nut in unsuitable mode, so performance even power savings can decline.
Therefore, embodiment automatically determines how to dispatch carrying out of task on small nut and macronucleus, so that one or more is compared with the use optimization of small nut, thereby one or more macronucleus is closed as much as possible.Another embodiment provides in the situation of macronucleus and small nut and has carried out management role scheduling with compilation time option.Another embodiment provides in the environment of macronucleus and small nut and has carried out management role scheduling by interruption processing procedure.
Can understand best shown example embodiment by reference to accompanying drawing.Description below is only intended to as example, and only shows some example embodiment.
Fig. 1 has described the block diagram of an example of messaging device circuit, Circuits System or assembly, but can adopt multiple other circuit, Circuits System or assembly.The example of describing in Fig. 1 can be corresponding to computing system, THINKPAD series PC or other equipment for example by the company of association (U.S.) that is positioned at North Carolina state Mo Lisiweier, sold.According to description herein, be apparent that, embodiment can comprise only some features or other features in the feature of the example shown in Fig. 1.
The example of Fig. 1 comprises mono-group of integrated circuit of working together of so-called chipset 110(or chip, chipset), this chipset 110 has can for example, according to manufacturer (, INTEL, AMD, ARM etc.) and the framework changing.The framework of chipset 110 comprises core and storer control group 120 and I/O controller maincenter 150, and this I/O controller maincenter 150 for example, via direct management interface (DMI) 142 or link controller 144 exchange messages (, data, signal, order etc.).In Fig. 1, DMI142 is that chip is to the interface (being sometimes called as the link between " north bridge " and SOUTH BRIDGE) of chip.Core and storer control group 120 via one or more processor 122(of Front Side Bus (FSB) 124 exchange messages for example comprise, monokaryon or multinuclear) and memory controller hub 126; Note, the assembly of core and storer control group 120 can be integrated in the chip that replaces traditional " north bridge " formula framework.
In Fig. 1, memory controller hub 126 has interface (for example, providing support for being called as a class RAM of " system storage " or " storer ") with storer 140.Memory controller hub 126 for display device 192(for example also comprises, CRT, flat board, touch-screen etc.) LVDS(Low Voltage Differential Signal) interface 132.Piece 138 comprises some technology (for example, serial digital video, HDMI/DVI(HDMI (High Definition Multimedia Interface)/digital visual interface) and the display port that can support via LVDS interface 132).Memory controller hub 126 also comprises the PCI-express(universal serial bus that can support display card 136) interface (PCI-E) 134.
In Fig. 1, I/O controller maincenter 150 comprises SATA(Serial Advanced Technology Attachment) interface 151(for example, for HDD(hard disk drive)/SDD(solid state hard disc) 180 etc.), PCI-E interface 152(for example, for wireless connections 182), usb 1 53(for example, for such as digital quantizer, keyboard, mouse, camera, phone, storer, the equipment 184 such as other connection devices), network interface 154(for example, LAN), the output of GPIO(universal input) interface 155, LPC(low pin count) interface 170(is for ASIC(special IC) 171, TPM(credible platform module) 172, super I/O173, FWH 174, BIOS supports 175 and such as ROM177, flash memory 178 and NVRAM(non-volatile RAM) various types of storeies 176 such as 179), electrical management interface 161, clock generator interface 162, audio interface 163(for example, for loudspeaker 194), TCO interface 164, System Management Bus interface 165 and can comprise BIOS(Basic Input or Output System (BIOS)) 168 and the SPI(serial of guidance code 190) flash memory 166.I/O controller maincenter 150 can comprise gigabit Ethernet support.
System when energising can be configured to carry out the 166 interior storages of SPI flash memory, for the guidance code 190 of BIOS168, after this, for example, under the control of one or more operating system and application software (, being stored in system storage 140) deal with data.Operating system can be stored in any position in multiple position, and for example according to the instruction of BIOS168, visits.As described here, equipment can comprise than in the feature shown in the system of Fig. 1 still less or more feature.
For example, with reference to figure 2, about battery powered equipment such as smart phone and/or panel computer circuit Figure 200, its example comprises system (SOC (system on a chip)) design based on ARM, and wherein software and processor are incorporated in one single chip 210.Internal buss etc. depend on different suppliers, but all peripherals (220) can be attached to one single chip 210 substantially.Compare with the Circuits System shown in Fig. 1, flat circuits system 200 is controlled by processor, storer and I/O controller maincenter has all been attached in one single chip 210.And the system 200 based on ARM is not used SATA or PCI or LPC conventionally.General-purpose interface for example comprises SDIO(secure digital input-output card) and I2C (between integrated circuit).There is one or more electrical management chip 230,230 pairs of electric power of for example supplying via rechargeable battery 240 of this electrical management chip manage, this rechargeable battery 240 can recharge by being connected to power supply (not shown), and at least one design, one single chip (for example 210) is for providing function and the DRAM(dynamic randon access device of similar BIOS) storer.
System 200 based on ARM generally includes WWAN(wireless wide area network) transceiver 250 and WLAN(WLAN (wireless local area network)) one or more in transceiver 260 be for being connected to diverse network, for example communication network and wireless base station.Conventionally, the system based on ARM 200 comprises the touch-screen 270 for data input and demonstration.System 200 based on ARM also comprises various memory devices conventionally, for example flash memory 280 and SDRAM(dynamic RAM) 290.
With reference to figure 3, embodiment can learn to determine which task can be moved best in each core by predictability.For example, which application program embodiment can be learnt and be adapted at most carrying out on small nut.As a kind of mechanism, in step 310, embodiment can not carry out the historical task (application program or process) that is beneficial to study by starting " newly " task in compared with macronucleus, starts study and processes, to guarantee acceptable performance.Alternatively, embodiment in some cases (for example, when adopting compilation time or programming option) can be got rid of this conservative approach, as mentioned below.
Then, when task is carried out on compared with macronucleus 120, embodiment can be followed the tracks of one or more parameter, considers one or more characteristic of task simultaneously.For example, embodiment can be followed the tracks of the performances such as time (execution) parameter of moving on macronucleus such as number percent or the task of macronucleus utilization.For example, and embodiment can be considered one or more characteristic of task: whether set the tasks is high priority, as need to moving during in normal open when system of task; Or set the tasks whether need to descend operation etc. at normal connection mode (deep sleep mode).
Thus, As time goes on, embodiment can be that each task 130 sets up historically, thinks that task notifies suitable core signature.Thereby embodiment can suitably be determined scheduling strategy for Given task, and distributes core for task and sign for follow-up use.For example, embodiment can history and task characteristic based on task determine which task should be moved to compared with small nut, as reflected by task core signature in step 340.Therefore, if for example in step 340 task be confirmed as having small nut signature, in step 350, this task can be drawn towards the small nut on chip; Otherwise if task has macronucleus signature, in step 360, this task can be drawn towards compared with macronucleus.Some examples determine that mode can be realized by embodiment below.
With reference to figure 4, embodiment can adopt task history and/or characteristic to set the tasks to guide macronucleus into still guides small nut into.For example, in step 410, embodiment can be used task whether can be used as standard with definite result or the estimated result of capacity phase " adaptation " compared with small nut.For example, embodiment can by determine or access compared with small nut with compared with the ratio of macronucleus (for example,, aspect handling property and/or other correlation parameters) and will convert to compared with small nut and calculate this " adaptation " compared with the percent utilization of macronucleus.Thereby embodiment can be according to the percent utilization tracing task compared with macronucleus in the execution compared with on macronucleus, and is mapped to the capacity compared with small nut.These information can be included in the process of core signature of formation task.
Thereby if task is adaptive, embodiment can make about task whether being moved to determining compared with small nut.Whether this determination result may depend on various factors, for example, exist and other tasks suitable compared with small nut with higher priority, and wherein, this higher priority is determined (for example, frequency of utilization, critical conditions etc.) in many ways.
In step 420, embodiment can set the tasks and whether be regarded as high priority.The task with limit priority can be drawn towards compared with carrying out in small nut, for example moving during in severe or deep sleep mode in system of task.These mission requirements equipment for example, in normal opening or normal connection mode (" AOAC pattern ",, deep sleep).The reason of so doing is can close compared with macronucleus completely in deep sleep mode.If task and two standards (with adaptive compared with small nut and there is high priority) adaptation, next step 430 can comprise and determines that the total cpu utilization that changes along with the time is placed under the situation on small nut in task guaranteeing, even if this task and small nut are adaptive and be high-priority task, (this small nut) cpu busy percentage of this task is still reasonably.
Thereby, may have following situation: with compared with the high-priority task of small nut adaptation, still should on compared with macronucleus, move, for example, because will finish with more electric power compared with the specific high cpu utilization event of crossing on small nut, as in task, need to take a long time or task time image duration the situation that is repeatedly performed, or energy-conservation is not the situation of main focus (for example,, when equipment is inserted in power supply and battery is charging).Owing to trending towards moving more continually (thereby thering is higher priority) with task adaptive compared with small nut and that move during AOAC pattern, so these tasks are likely the candidate for carrying out on small nut.Use this scheduling, embodiment can be so that be assigned to the task optimization compared with small nut, thereby reduce as much as possible system energy consumption.
With reference to figure 5(A to B), embodiment can provide prompting, and these promptings are programmed in task or are assigned to task (or the sub-component in task), thereby can have more chance correct core signature to be distributed to the sub-component of task or task.Moreover because expend less electric power but have lower-performance compared with small nut, so system use is more compared with small nut (but not using compared with macronucleus), battery life is longer, this is because system when not using compared with macronucleus can will be closed compared with macronucleus substantially.In the embodiment body of attending to the basic or the fundamental in office, provide prompting, the best core that indication will be used when this prompting Program person can be at coding.Thereby embodiment by being that task more effectively select suitable core at run duration by core signature or programming by prompting in task program.
Determine that the suitable core used in the traditional multi core chip experience based on nearest working procedure carries out and do not know the needs in future of program, this may be unsuitable in some cases.Because programmer may indicate with compiler sign and language element some behavior working time of task, instruction set feature to be used and dynamically to static loading for example, these features can be applied in the environment of the chip with macronucleus and small nut framework valuably.
When programmer may can specify the mode of utilizing best macronucleus and small nut during at coding, because the estimation of the character of program and resource requirement is available.Therefore, embodiment provides a kind of function, and programmer can specify the prompting of the core scheduling that comprises following situation: for example 1) on available small nut, move this program; 2) this program needs high-performance core; 3) performance histories based on nearest is dynamically distributed to each core by this task; Or the prompting of other core scheduling.
As shown in the example at Fig. 5 A, step 510A Program person, prompting can be appointed as to sign.Thereby, step 510A Program person, in sign, specify one or more prompting, in step 520A when compilation time is sent to compiler by program and sign, Application Hints (for example, being applied to whole task/program) suitably in step 530A.In this case, prompting can be applied to whole program statically, to program is guided into the indicated core of sign in step 540A.Then, in step 550A Program and one or more prompting, can be installed on equipment with such operation the according to being programmed, in other words, program and prompting are drawn towards one or more suitable core according to one or more prompting.Thereby, task suitably can be guided into compared with small nut or compared with macronucleus.
Can also carry out dynamically Application Hints so that in step 510B during working procedure by language element, in step 520B, prompting occurs can changing prompting according to the state of program under the situation of conflict.These promptings can be any one in compiler indication (only effective in compilation time), to indicate the prompting of code segment.Alternatively, the in the situation that this prompting not being static (fixing) prompting in step 530B, in step 550B, can by system function call, adjust prompting by program.For example, program can cause new thread to start.Code in new thread can carry out system call to specify this thread to move in available core minimum and lowest performance completely.Alternatively, if dynamically do not upgrade prompting, in step 560B, prompting can be applied to program sub-component as initial programming.
Embodiment can also comprise in task scheduling strategy interrupt to process to affect macronucleus on chip and the availability of small nut.As described here, macronucleus mechanism combines the Bu Tong CPU of size with small nut mechanism, thereby in same encapsulation or chip, has the transistor of varying number.The design of these large small nuts can bring significant energy-saving effect, because less CPU has higher efficiency to little task under the situation of suitably management.According to embodiment, interrupt processing and be configured to give full play to the energy-saving effect being provided by such execution environment.
More solito, in multi-CPU system, introduces randomly and interrupts or be incorporated into particular CPU (for example last CPU) to move and the device driver of interrupting being associated by interrupting.When using CPU(macronucleus and the small nut of different sizes and energy consumption) time, these methods may not necessarily provide optimum performance.
Therefore,, in the embodiment shown in Fig. 6, except the interruption to a low-power (little) CPU, can shield the interruption to all CPU.For example, under default situations, when starting, embodiment can be given this small nut by all or nearly all interruption routes.Embodiment can deshield to interrupting according to suitable strategy.
For example,, due to the work of task historical (for example, for given device driver, the circulation of small nut is saturated) or by specific configuration or strategy, other endorse to have the interruption of deshielding.Thereby, in step 610, for interruption, the work history that can find out task with determine interrupt with the proof effective strategy that deshields whether adaptive.If not adaptive, in step 620, can small nut will be interrupted guiding into acquiescently.Yet, in step 610, if interrupted and the strategy adaptation of interruption being guided into macronucleus, in step 630, can interruption be deshielded according to strategy, and in step 640, guide interruption into macronucleus and process.Below for example to deshield, so that some sample situations that interruption is guided into other cores (, macronucleus) and processed by other cores to interrupting according to strategy.
In the first example, for example, if there is the history of whole or most of available horsepower of consumption small nut CPU while processing given interruption,, surpassed certain threshold value, such interruption can be routed on one or more macronucleus, because these macronucleus are high-performance CPU.Thereby, by the intensive interruption of known processing being guided into the core of suitable size, even if need to utilize compared with macronucleus, realize energy-conservation.
In the second example, known, interruption frequency very high so that when repeatedly guiding interruption into small nut CPU can not process this interruption.Under these circumstances, interruption may be dropped or all small nut CPU circulation will expend a period of time (for example, 100 milliseconds).Can give a plurality of CPU with equally loaded so a plurality of interrupt distribution.Under these circumstances, can find out that chip environments is to determine that according to predetermined strategy interrupting suitably being guided into one or more small nut is still drawn towards one or more macronucleus, is still drawn towards some suitable combinations of small nut and macronucleus.
In the 3rd example, developer or keeper can know that specific driver or other tasks need high-performance CPU.Therefore,, in embodiment, kernel can be configured to be shielded to the related interrupts of processing in high-performance (greatly) CPU.
As described here, various embodiments offer various task processing or scheduling process so that large/little nuclear environment can be utilized best.In embodiment, can utilize predictability task scheduling or dynamic task scheduling, maybe can utilize Static task scheduling.In embodiment, can be according to working environment (for example, the duty of equipment or charged state) and the character (for example, thering is the task of known history, the task dispatching that includes or comprise prompting) of task to be scheduled, utilize predictability task scheduling and Static task scheduling the two.It should be noted, although provided the concrete example (program, interruption, reference program sub-component or thread) of task, and concrete task processing or scheduling process have been described, but these are the scheduling that are fated that nonrestrictive example and various aspect can combine to realize the task operating load between macronucleus and small nut in any suitable manner.
Can in following one or more messaging device, realize embodiment: described one or more messaging device is suitably configured to carry out the programmed instruction consistent with the function of embodiment described herein.In this respect, Fig. 1 and Fig. 2 show the non-limiting example of such equipment and assembly thereof.Although mobile computing systems such as panel computer, laptop computer and smart phone is specifically described as example herein, can use other system or equipment (such as electronic reader, navigational system, phonebooth etc.) to realize embodiment.
Those of ordinary skill in the art will be appreciated that various aspects of the present invention may be embodied as system, method or device program product.Therefore, various aspects of the present invention can adopt the form of complete hardware implementation mode or the form of the embodiment that employing comprises software, and described software can all be referred to as " circuit ", " module " or " system " in this article.And various aspects of the present invention can adopt the form of the device program product of implementing in one or more device-readable medium, described one or more device-readable medium includes device-readable program code.
Can utilize any combination of one or more no signal device-readable medium.No signal medium can be storage medium.Storage medium can be for example electronics, magnetic, optics, electromagnetism, ultrared or semi-conductive system, device or equipment, or aforesaid any suitable combination.The more concrete example of storage medium comprises as follows: portable computer diskette, hard disk, random-access memory (ram), ROM (read-only memory) (ROM), Erasable Programmable Read Only Memory EPROM (EPROM or flash memory), optical fiber, portable optic disk ROM (read-only memory) (CD-ROM), optical storage device, magnetic storage apparatus, or aforesaid any suitable combination.
Can include but not limited to that wireless, wired, optical cable, RF etc. or aforesaid any suitable combination transmit the program code comprising on storage medium with any suitable medium.
Can write the program code for executable operations with any combination of one or more of programming languages.Program code can be completely carries out or partly on individual equipment, carries out on individual equipment, as stand alone software packet portion on individual equipment and partly carry out on another equipment or carry out on other equipment completely.In some cases, can carry out connection device by connection or the network (comprising Local Area Network or wide area network (WAN)) of any type, maybe can pass through other equipment (for example,, by using ISP's the Internet) or connect (for example by USB, connecting) by rigid line to connect.
At this, with reference to the accompanying drawing that shows exemplary method, equipment and program product according to various example embodiment, various aspects are described.Will be appreciated that the action and the function that illustrate can be realized by programmed instruction at least in part.The processor that these programmed instruction can be offered to general information treatment facility, specific information treatment facility or other programmable data processing device or messaging device is with generation mechanism, make call instruction realize the function/action of appointment, described instruction is carried out via the processor of equipment.
Also programmed instruction can be stored in device-readable medium, the guiding device operation in a particular manner of this device-readable medium, so that the instruction being stored in device-readable medium generates goods, these goods comprise the instruction of the function/action that realizes appointment.
Also programmed instruction can be loaded on equipment so that the processing that the sequence of operations step generation equipment for the treatment of to carry out on equipment is realized, the instruction that makes to carry out on equipment is provided for realizing the processing of appointed function/action.
Providing present disclosure is in order to illustrate and to describe, but not be intended to be exhaustive or restriction.For a person skilled in the art, many modifications and variations are obvious.Selecting and describing example embodiment is for principle of specification and practical application, and make the other staff except those skilled in the art can understand present disclosure, present disclosure is corresponding to the specific use numerous embodiments that match, that have multiple modification with expection.
Thereby, although illustrative example embodiment has been described with reference to the drawings at this, but it being understood that this description is not restrictive, and can make various other variations and modification in the situation that do not depart from scope or spirit those skilled in the art of present disclosure.

Claims (22)

1. a method, comprising:
Find out the interruption at the messaging device place of the core with two or more different sizes;
Based on interrupt schedule policy, determine whether described interruption is guided into compared with macronucleus with compared with one of in small nut;
Based on described interrupt schedule policy, if described interruption does not obtain the qualification of exception, described interruption is guided into described compared with small nut; And
According to processing described interruption on the suitable core of described interrupt schedule policy.
2. method according to claim 1, wherein, described is high power CPU (central processing unit) compared with macronucleus, in addition, described is compared with the lower-wattage CPU (central processing unit) of macronucleus with respect to described compared with small nut.
3. method according to claim 1, wherein, between the starting period of described messaging device, described interrupt schedule policy shields to one or more acquiescently compared with all interruptions of macronucleus.
4. method according to claim 1, wherein, described interrupt schedule policy comprises that the work of interruption is historical.
5. method according to claim 4, wherein, the work history of described interruption comprises one or more saturation distribution of interruption.
6. method according to claim 4, wherein, the work history of described interruption comprises one or more frequency distribution of interruption.
7. method according to claim 5, wherein, saturated compared with small nut if the saturation distribution of described interruption indicates described interruption to make, and based on described interrupt schedule policy, described interruption obtains the qualification of exception.
8. method according to claim 6, wherein, if the frequency distribution of described interruption indicates described interruption to surpass threshold frequency, based on described interrupt schedule policy, described interruption obtains the qualification of exception.
9. method according to claim 1, wherein, if predetermined exception is appointed as in described interruption especially, based on described interrupt schedule policy, described interruption obtains the qualification of exception.
10. method according to claim 1 wherein, is compared with macronucleus with compared with one or more in small nut according to the suitable core of described interrupt schedule policy.
11. 1 kinds of messaging devices, comprising:
One or more processor; And
Storer, described storer and described one or more processor communication;
Described memory stores programmed instruction, described programmed instruction is carried out following step when being carried out by described one or more processor:
Find out the interruption at the messaging device place of the core with two or more different sizes;
Based on interrupt schedule policy, determine whether described interruption is guided into compared with macronucleus with compared with one of in small nut;
Based on described interrupt schedule policy, if described interruption does not obtain the qualification of exception, described interruption is guided into described compared with small nut; And
According to processing described interruption on the suitable core of described interrupt schedule policy.
12. messaging devices according to claim 11, wherein, described is high power CPU (central processing unit) compared with macronucleus, in addition, described is compared with the lower-wattage CPU (central processing unit) of macronucleus with respect to described compared with small nut.
13. messaging devices according to claim 11, wherein, at described messaging device, between the starting period, described interrupt schedule policy shields to one or more acquiescently compared with all interruptions of macronucleus.
14. messaging devices according to claim 11, wherein, described interrupt schedule policy comprises that the work of interruption is historical.
15. messaging devices according to claim 14, wherein, the work history of described interruption comprises one or more saturation distribution of interruption.
16. messaging devices according to claim 15, wherein, the work history of described interruption comprises one or more frequency distribution of interruption.
17. messaging devices according to claim 15, wherein, saturated compared with small nut if the saturation distribution of described interruption indicates described interruption to make, based on described interrupt schedule policy, described interruption obtains the qualification of exception.
18. messaging devices according to claim 16, wherein, if the frequency distribution of described interruption indicates described interruption to surpass threshold frequency, based on described interrupt schedule policy, described interruption obtains the qualification of exception.
19. messaging devices according to claim 11, wherein, if predetermined exception is appointed as in described interruption especially, based on described interrupt schedule policy, described interruption obtains the qualification of exception.
20. messaging devices according to claim 11 wherein, are compared with macronucleus with compared with one or more in small nut according to the suitable core of described interrupt schedule policy.
21. messaging devices according to claim 10, wherein, described messaging device is one of in mobile phone and dull and stereotyped computing equipment.
22. 1 kinds of program products, comprising:
Storage medium, described storage medium has program code, and described program code comprises:
Be configured to carry out the program code of following step:
Find out the interruption at the messaging device place of the core with two or more different sizes;
Based on interrupt schedule policy, determine whether described interruption is guided into compared with macronucleus with compared with one of in small nut;
Based on described interrupt schedule policy, if described interruption does not obtain the qualification of exception, described interruption is guided into described compared with small nut; And
According to processing described interruption on the suitable core of described interrupt schedule policy.
CN201310350630.7A 2012-08-21 2013-08-13 Task schedule in big core and small nut Active CN103631655B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/590,484 US8984200B2 (en) 2012-08-21 2012-08-21 Task scheduling in big and little cores
US13/590,484 2012-08-21

Publications (2)

Publication Number Publication Date
CN103631655A true CN103631655A (en) 2014-03-12
CN103631655B CN103631655B (en) 2019-01-01

Family

ID=48746873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310350630.7A Active CN103631655B (en) 2012-08-21 2013-08-13 Task schedule in big core and small nut

Country Status (4)

Country Link
US (1) US8984200B2 (en)
CN (1) CN103631655B (en)
DE (1) DE102013104329B4 (en)
GB (1) GB2505274B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347486A (en) * 2019-07-02 2019-10-18 Oppo广东移动通信有限公司 Thread distribution method, device, equipment and the readable storage medium storing program for executing of application program

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102082859B1 (en) * 2013-01-07 2020-02-28 삼성전자주식회사 System on chip including a plurality of heterogeneous cores and operating method therof
JP6483609B2 (en) * 2013-05-23 2019-03-13 ルネサスエレクトロニクス株式会社 Multi CPU system
WO2015175555A1 (en) * 2014-05-12 2015-11-19 Soft Machines, Inc. Method and apparatus for providing hardware support for self-modifying code
US9891964B2 (en) 2014-11-19 2018-02-13 International Business Machines Corporation Network traffic processing
US9563431B2 (en) * 2014-12-26 2017-02-07 Intel Corporation Techniques for cooperative execution between asymmetric processor cores
US10628214B2 (en) 2015-06-01 2020-04-21 Samsung Electronics Co., Ltd. Method for scheduling entity in multicore processor system
US10275280B2 (en) 2016-08-10 2019-04-30 International Business Machines Corporation Reserving a core of a processor complex for a critical task
US10248457B2 (en) 2016-08-10 2019-04-02 International Business Machines Corporation Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task
US10248464B2 (en) 2016-10-24 2019-04-02 International Business Machines Corporation Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex
US10223164B2 (en) 2016-10-24 2019-03-05 International Business Machines Corporation Execution of critical tasks based on the number of available processing entities
US10503238B2 (en) 2016-11-01 2019-12-10 Microsoft Technology Licensing, Llc Thread importance based processor core parking and frequency selection
US10372494B2 (en) 2016-11-04 2019-08-06 Microsoft Technology Licensing, Llc Thread importance based processor core partitioning
WO2023093984A1 (en) * 2021-11-25 2023-06-01 Huawei Cloud Computing Technologies Co., Ltd. Method and computing device for processing task request

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993670A (en) * 2004-08-05 2007-07-04 松下电器产业株式会社 Information processing device
CN101354661A (en) * 2007-06-28 2009-01-28 英特尔公司 System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload
CN101539798A (en) * 2007-09-28 2009-09-23 英特尔公司 Interrupt balancing for multi-core and power
WO2010118966A1 (en) * 2009-04-14 2010-10-21 International Business Machines Corporation Multiprocessor computing device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7100060B2 (en) 2002-06-26 2006-08-29 Intel Corporation Techniques for utilization of asymmetric secondary processing resources
JP2008084009A (en) 2006-09-27 2008-04-10 Toshiba Corp Multiprocessor system
US8321615B2 (en) * 2009-12-18 2012-11-27 Intel Corporation Source core interrupt steering
KR102082242B1 (en) * 2011-09-06 2020-02-27 인텔 코포레이션 Power efficient processor architecture
WO2013162589A1 (en) * 2012-04-27 2013-10-31 Intel Corporation Migrating tasks between asymmetric computing elements of a multi-core processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993670A (en) * 2004-08-05 2007-07-04 松下电器产业株式会社 Information processing device
CN101354661A (en) * 2007-06-28 2009-01-28 英特尔公司 System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload
CN101539798A (en) * 2007-09-28 2009-09-23 英特尔公司 Interrupt balancing for multi-core and power
WO2010118966A1 (en) * 2009-04-14 2010-10-21 International Business Machines Corporation Multiprocessor computing device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KENZO VAN CRAEYNEST ET AL.: "Scheduling Heterogeneous Multi-Cores through Performance Impact Estimation (PIE)", 《ISCA "12 PROCEEDINGS OF THE 39TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347486A (en) * 2019-07-02 2019-10-18 Oppo广东移动通信有限公司 Thread distribution method, device, equipment and the readable storage medium storing program for executing of application program
CN110347486B (en) * 2019-07-02 2023-09-15 Oppo广东移动通信有限公司 Thread allocation method, device and equipment of application program and readable storage medium

Also Published As

Publication number Publication date
GB2505274A (en) 2014-02-26
DE102013104329A1 (en) 2014-02-27
CN103631655B (en) 2019-01-01
US20140059262A1 (en) 2014-02-27
GB2505274B (en) 2016-03-02
US8984200B2 (en) 2015-03-17
DE102013104329B4 (en) 2022-06-15
GB201308859D0 (en) 2013-07-03

Similar Documents

Publication Publication Date Title
CN103631656A (en) Task scheduling in big and little cores
CN103631655A (en) Task scheduling in big and little cores
US10775873B2 (en) Performing power management in a multicore processor
CN106843430B (en) Method, apparatus and system for energy efficiency and energy conservation
US7689838B2 (en) Method and apparatus for providing for detecting processor state transitions
TWI477945B (en) Method for controlling a turbo mode frequency of a processor, and processor capable of controlling a turbo mode frequency thereof
US9600059B2 (en) Facilitating power management in a multi-core processor
CN102812439B (en) For the method and system of assigned tasks in multiprocessor computer system
CN111886562A (en) System, apparatus, and method for optimized throttling of processors
EP3742256A1 (en) Priority based application event control (paec) to reduce power consumption
US20120284729A1 (en) Processor state-based thread scheduling
EP3256928A1 (en) Performing power management in a multicore processor
US9081577B2 (en) Independent control of processor core retention states
US20140181811A1 (en) Hypervisor modification of advanced configuration and power interface (acpi) tables
JP2022526765A (en) Systems, equipment, and methods for processor power license control
KR20130121180A (en) Device power management using compiler inserted device alerts
US9678792B2 (en) Shared resources in a docked mobile environment
US20150185260A1 (en) Power adapter detection
JP5881198B2 (en) Passive thermal management of priority-based intelligent platforms
WO2023097426A1 (en) Methods and apparatus to improve sleep state demotion with hardware power monitor
US20240103601A1 (en) Power management chip, electronic device having the same, and operating method thereof
WO2023225991A1 (en) Dynamic establishment of polling periods for virtual machine switching operations
CN115617470A (en) Apparatus, method and system for providing thread scheduling hints to software processes
KR20240043635A (en) Power management chip, electronic device having the same, and operating method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant