WO2007077516A1 - Power aware dynamic scheduling in multiprocessor system employing voltage islands - Google Patents

Power aware dynamic scheduling in multiprocessor system employing voltage islands Download PDF

Info

Publication number
WO2007077516A1
WO2007077516A1 PCT/IB2006/055050 IB2006055050W WO2007077516A1 WO 2007077516 A1 WO2007077516 A1 WO 2007077516A1 IB 2006055050 W IB2006055050 W IB 2006055050W WO 2007077516 A1 WO2007077516 A1 WO 2007077516A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
voltage
slack
tasks
time
Prior art date
Application number
PCT/IB2006/055050
Other languages
French (fr)
Inventor
Milind Manochar Kulkarni
Nagaraju Bussa
Original Assignee
Koninklijke Philips Electronics, N.V.
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 Koninklijke Philips Electronics, N.V. filed Critical Koninklijke Philips Electronics, N.V.
Publication of WO2007077516A1 publication Critical patent/WO2007077516A1/en

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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
    • 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

Definitions

  • the present invention relates to symmetric multiprocessor systems implemented with voltage islands, and more particularly to methods and circuits to conserve system-on-chip (SoC) power consumption by measuring performance and estimation for run-time execution phases to automatically adapt to varying application workloads .
  • SoC system-on-chip
  • Symmetric multiprocessing connects identical processors a single shared main memory.
  • SMP Symmetric multiprocessing
  • Most common multiprocessor systems today use an SMP architecture. Any task can be assigned for execution by any processor, because the data for that task is located in shared memory.
  • Conventional SMP operating systems can move tasks between processors to balance the work load efficiently.
  • the many individual processors in an SMP implementation can starve for data, because memory is typically much slower than each of processors accessing it.
  • SMP has many applications in science, industry, and business where the software is custom programmed for multithreaded processing. But, word processors, computer games, and other most consumer products are not written in a way that they can benefit from SMP. Programs running on SMP systems can perform better even when they have been written for uniprocessor systems.
  • Hardware interrupts usually suspend program execution, while in an SMP system the kernel hands them off to be run on an idle processor instead.
  • OS operating system
  • a given processor can generally increase its performance if clocked at a higher rate.
  • the highest clocking rates are limited by the semiconductor technology and the operating voltage. For a given operating voltage and semiconductor technology, there will be a maximum clock rate. If the operating voltage is increased, the clocks can be proportionately increased to step up performance, within practical limits. But, the power consumption
  • the prior art has used dynamic voltage scheduling based on the task execution phases computed off-line. What would be better would be to use a performance measurement and estimation unit to analyze the execution phases during run-time. That way the system could automatically adapt to varying application workloads. Static mapping of the tasks to a single processor is also not desirable. It would be best to schedule tasks dynamically onto a set of symmetric multiprocessors based on their estimated execution times .
  • the prior art has also dealt with scheduling tasks onto a processor that supports different voltages, keeping the power consumption as the cost function. But such do not use DVS on a per task basis. Such conventional devices sort tasks by deadlines in ascending order. They are put in a reservation list of the target processing element.
  • the slack time of the first task is computed with both the highest and lowest voltage levels supported by the target processing element.
  • the computation time of the task at the highest and lowest voltages is calculated.
  • the voltage level of the target processing element is found at which the task can meet the deadline. Then DVS is used to change its voltage level and the task is scheduled onto it.
  • Voltage islands enable core-level power optimization for SoC design by utilizing a unique supply voltage for each core.
  • all tasks can be kept on one list.
  • Each task is analyzed for its performance requirements.
  • a particular processor whose supply voltage can already guarantee the performance requirement of the task is chosen to run the task.
  • it is analyzed again, and the same task can be mapped onto a different processor having a different supply voltage that can guarantee its performance requirements .
  • symmetric multiprocessor systems with voltage islands include dynamic scheduling of the application tasks onto the available processors.
  • the voltage islands enable each processor to be supplied with different independent operating voltages and corresponding maximum clock frequencies.
  • the difference between the available and actual processor task execution times are measured so the slack times of recurrences of these tasks can be estimated.
  • the processing capabilities of the individual processors are cataloged according to particular operating voltages and frequencies.
  • a dynamic scheduler chooses an appropriate processor and voltage island setting for the tasks based on the apparent processor required. This yields optimal power consumption.
  • An advantage of the present invention is that a SoC implementation of a symmetric multiprocessor system is provided which will conserve power.
  • a further advantage of the present invention is a SoC implementation of a symmetric multiprocessor system is provided that uses voltage islands to avoid real time overheads associated with DVS power controls.
  • a still further advantage of the present invention is that a SoC implementation of a symmetric multiprocessor system is provided that schedules tasks according to a slack-time calculator .
  • Fig. 1 is a functional block diagram of a SoC implementation of a symmetric multiprocessor system embodiment of the present invention which uses fixed voltage islands to provide power choices for processor cores;
  • Fig. 2 is a functional block diagram of another SoC implementation of a symmetric multiprocessor system embodiment of the present invention that provides DVS controls for the voltage islands .
  • Fig. 1 represents a symmetric multiprocessor system embodiment of the present invention, and is referred to herein by the general reference numeral 100.
  • the symmetric multiprocessor system 100 comprises a plurality of voltage islands 102-104 disposed in a common semiconductor chip 106. These voltage islands are provided three different operating voltages, hi, mid, and lo-voltage.
  • a plurality of identical processor cores 108-110 are respective disposed in the voltage islands 102-104, but the differing operating voltages results in processor core 108 having relatively high performance (hi-MIPS) , processor core 109 having medium performance (mid-MIPS) , and processor core 110 having relatively low performance (lo-MIPS) . All three processor cores 108-110 each have access to a shared memory 112.
  • K is gained, e.g., in processor core 108, at a cost of much increased power consumption. In modern battery-operated portable devices, all power consumption waste must be strictly eliminated.
  • An operating system (OS) 114 provides for the selection of particular software tasks 116-120 to be executed by various ones of the processor cores 108-110.
  • a slack time calculator 122 is connected to compare how much time an assigned task 116-120 took to be executed on a corresponding processor core 108-110.
  • a processing capabilities and task loading table 124 is constructed from data obtained by the slack time calculator 122. It catalogs the processing capabilities of each of the processor cores 108- 110.
  • a relative measure for the processing loads imposed by tasks previously executed is entered. During operation, the performance required by a "task-a:e" can be tabulated, like in Table 124, in terms of millions- instruction-per-second (MIPS) .
  • MIPS millions- instruction-per-second
  • heuristic evidence can be gathered to show "task-d” requires a medium MIPS performance.
  • the second chart can be indexed to show "CPU-2" would be the appropriate choice for scheduling task-d.
  • a message is sent from table 124 to scheduler 126 so that when OS 114 wants task-d 119 executed, it will be scheduled for dispatch to processor core 109.
  • the slack-time calculator 122 can re-verify this was a good choice after the task executes. Since the higher power-consuming processor core 108 was avoided, power was saved by using a lower powered alternative processor core.
  • Different processor cores of the SoC are provided with different supply voltages.
  • the voltage islands enable core-level power optimization for SoC design by providing a unique fixed supply voltage for each processor core.
  • SoC ' s with voltage islands and homogeneous processor cores allow all the tasks to be kept in a single list that can be applied to all the cores in the SoC.
  • Prior art devices prepare separate task lists for each processor core. Each task is gauged according to its performance requirements .
  • the tasks are matched up to a particular processor that can guarantee execution completion within the allotted time frame because its supply voltage is high enough. Every time the task presents itself, it is again analyzed and dynamically scheduled for the most appropriate processor core. In this way the dynamic scheduling is performed. DVS techniques have inherent overheads that may be too costly to employ on a task-by-task basis.
  • the symmetric multiprocessor system 100 instead selects processor cores whose supply voltage can produce the necessary levels of performance in given window of time.
  • the slack time calculator and processing capabilities and task loading table 124 provide for performance measurement and estimation to capture the execution times of tasks in an application software.
  • the performance measurements can be trace- based or accumulated from the execution times and the deadline requirement of individual tasks.
  • the average/median values for slack times is computed, and multiple values of slack times in a certain time window are used to characterizes each slack time per task. Such characteristic information is thereafter used to predict a future execution and slack time of the task, thus dynamically scheduling tasks to the appropriate processors.
  • the slack time calculator and processing capabilities and task loading table further provides for resetting of measurement information for a tasks when they have been newly scheduled on a different processor core.
  • Fig. 2 represents a symmetric multiprocessor system embodiment of the present invention that makes each voltage island adjustable with DVS, and is referred to herein by the general reference numeral 200.
  • the symmetric multiprocessor system 200 comprises a plurality of voltage islands 202-204 disposed in a common semiconductor chip 206. These provide for independent and controllable dynamic voltage scaling (DVS) for each voltage island.
  • Dynamic voltage scaling (DVS) has become a universal way to adjust the operating voltage and clocks to balance a circuit's performance with its concomitant power consumption. Voltage islands have been used in conventional designs to allow portions of a chip's circuitry to be subjected to independent DVS controls. But after the DVS has changed to a new value, settling times can be as long as 200-milliseconds . So it would be best not to change the DVS settings very often, or not at all after being initialized.
  • a plurality of processor cores 208-210 each have access to a shared memory 212. Each is disposed in a respective one of the voltage islands such that changes in the DVS will proportionately affect each processor core's performance and power consumption.
  • An operating system (OS) 214 provides for the selection of particular software tasks 216-220 to be executed by various ones of the processor cores 208-210.
  • a slack time calculator 222 is connected to compare how much time an assigned task 216-120 took to be executed on a corresponding processor core 208-110 at a particular DVS setting.
  • a processing capabilities and task loading table 224 is constructed from data obtained by the slack time calculator 222. It catalogs the processing capabilities of each of the processor cores 208-210 at a variety of DVS settings. A relative measure for the processing loads imposed by tasks previously executed is entered. A scheduler 226 is controlled by the OS 214. It looks for an entry in the processing capabilities and task loading table 224 for each new next task to be scheduled. If previously characterized, then it sends the task to an appropriate, available processor core 208-110. A DVS control is issued for the corresponding voltage island to a value that will minimize power consumption and still allow for complete execution in the time available.
  • the dynamic scheduling assigns application tasks onto the available voltage island isolated processors of the symmetric multiprocessor system.
  • Each of the processors is supplied with different independent operating voltages/frequencies.
  • the slack times are measured by taking the time difference between the deadline and actual execution time of the task. These are placed in an application task graph. These measurement traces allow future slack times of tasks to be estimated.
  • the individual processor processing capabilities are statically maintained. Such dynamic scheduling basically chooses the appropriate processor for the tasks based on their slack times to yield optimal power consumption.
  • the processing capabilities table indicates the performance in MIPS provided by the individual processors.
  • the MIPS offered by individual processors depends on the operating voltage and frequency of the processors.
  • the table can be statically configured by looking at the voltage sources of the processors to then estimate the expected performance. It can also compute the average slack times of tasks by making several, on-going observations .
  • the dynamic scheduler maps tasks onto the available processors using static estimates and profiling results. It gets slack information for all the application tasks from the performance measurement and estimation unit. Considering the first tasks mapped on the first processor, if the measured slack time of a first task on a first processor deviates from its average slack time, then such first task can be dynamically scheduled onto a second processor that matches the performance requirement.
  • the mapping of tasks onto other processors is based on a processing capabilities table lookup.
  • embodiments of the present invention are such that task assignment to an available processor assumes they are symmetrical but employ different supply voltages which make them capable of providing different throughputs.
  • the task scheduling is based on the slack times of the task. Using voltage islands and dynamically scheduling the tasks based on their estimated performance requirements, or slack periods, provides substantial power savings.

Abstract

Minimizing the overall power conservation in a symmetric multiprocessor system disposed in a system-on-chip (SoC) depends on using voltage islands operated at different voltages such that similar circuits will perform at significantly different levels because of the voltage differences. Otherwise identical processor cores of a symmetric multiprocessor system are placed in various ones of the voltage islands such that they consume differing operating powers because of the voltage differences. The slack-time experienced by each of a variety of tasks during execution by the processor cores is calculated and tabulated. Thereafter, each task is scheduled for a particular processor core according to its performance level as determined by its operating voltage, and depending on the corresponding slack-time calculation for the task. Such scheduling will minimize power consumption by selecting a minimum power processor core, and still allow for complete execution in the time available.

Description

POWER AWARE DYNAMIC SCHEDULING IN MULTIPROCESSOR SYSTEM EMPLOYING VOLTAGE ISLANDS
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to symmetric multiprocessor systems implemented with voltage islands, and more particularly to methods and circuits to conserve system-on-chip (SoC) power consumption by measuring performance and estimation for run-time execution phases to automatically adapt to varying application workloads .
Description of Related Art
Symmetric multiprocessing (SMP) connects identical processors a single shared main memory. Most common multiprocessor systems today use an SMP architecture. Any task can be assigned for execution by any processor, because the data for that task is located in shared memory. Conventional SMP operating systems can move tasks between processors to balance the work load efficiently. The many individual processors in an SMP implementation can starve for data, because memory is typically much slower than each of processors accessing it. SMP has many applications in science, industry, and business where the software is custom programmed for multithreaded processing. But, word processors, computer games, and other most consumer products are not written in a way that they can benefit from SMP. Programs running on SMP systems can perform better even when they have been written for uniprocessor systems. Hardware interrupts usually suspend program execution, while in an SMP system the kernel hands them off to be run on an idle processor instead. Given proper operating system (OS) support, some applications like software compilers and distributed computing projects, will see speed-ups nearly multiply by the number of additional processors.
When many jobs are being processed in an SMP environment, a loss of hardware efficiency can result. Software programs have been developed to schedule jobs in various ways so that processor utilization is optimized.
A given processor can generally increase its performance if clocked at a higher rate. The highest clocking rates are limited by the semiconductor technology and the operating voltage. For a given operating voltage and semiconductor technology, there will be a maximum clock rate. If the operating voltage is increased, the clocks can be proportionately increased to step up performance, within practical limits. But, the power consumption
will go up as the square of the voltage increase, Δ A/D-1-- —^— . so
K increased performance is gained at a cost of much increased power consumption.
The prior art has used dynamic voltage scheduling based on the task execution phases computed off-line. What would be better would be to use a performance measurement and estimation unit to analyze the execution phases during run-time. That way the system could automatically adapt to varying application workloads. Static mapping of the tasks to a single processor is also not desirable. It would be best to schedule tasks dynamically onto a set of symmetric multiprocessors based on their estimated execution times . The prior art has also dealt with scheduling tasks onto a processor that supports different voltages, keeping the power consumption as the cost function. But such do not use DVS on a per task basis. Such conventional devices sort tasks by deadlines in ascending order. They are put in a reservation list of the target processing element. The slack time of the first task is computed with both the highest and lowest voltage levels supported by the target processing element. The computation time of the task at the highest and lowest voltages is calculated. The voltage level of the target processing element is found at which the task can meet the deadline. Then DVS is used to change its voltage level and the task is scheduled onto it.
What is needed is a system in which different cores of an SoC are provided with different supply voltages. Voltage islands enable core-level power optimization for SoC design by utilizing a unique supply voltage for each core. In an SoC with homogeneous cores and voltage islands, then all tasks can be kept on one list. Each task is analyzed for its performance requirements. Then a particular processor whose supply voltage can already guarantee the performance requirement of the task is chosen to run the task. Next time, it is analyzed again, and the same task can be mapped onto a different processor having a different supply voltage that can guarantee its performance requirements .
SUMMARY OF THE INVENTION
Briefly, symmetric multiprocessor systems with voltage islands include dynamic scheduling of the application tasks onto the available processors. The voltage islands enable each processor to be supplied with different independent operating voltages and corresponding maximum clock frequencies. The difference between the available and actual processor task execution times are measured so the slack times of recurrences of these tasks can be estimated. The processing capabilities of the individual processors are cataloged according to particular operating voltages and frequencies. A dynamic scheduler chooses an appropriate processor and voltage island setting for the tasks based on the apparent processor required. This yields optimal power consumption.
An advantage of the present invention is that a SoC implementation of a symmetric multiprocessor system is provided which will conserve power.
A further advantage of the present invention is a SoC implementation of a symmetric multiprocessor system is provided that uses voltage islands to avoid real time overheads associated with DVS power controls. A still further advantage of the present invention is that a SoC implementation of a symmetric multiprocessor system is provided that schedules tasks according to a slack-time calculator .
The above and still further objects, features, and advantages of the present invention will become apparent upon consideration of the following detailed description of specific embodiments thereof, especially when taken in conjunction with the accompanying drawings .
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a functional block diagram of a SoC implementation of a symmetric multiprocessor system embodiment of the present invention which uses fixed voltage islands to provide power choices for processor cores; and
Fig. 2 is a functional block diagram of another SoC implementation of a symmetric multiprocessor system embodiment of the present invention that provides DVS controls for the voltage islands . DETAILED DESCRIPTION OF THE INVENTION
Fig. 1 represents a symmetric multiprocessor system embodiment of the present invention, and is referred to herein by the general reference numeral 100. The symmetric multiprocessor system 100 comprises a plurality of voltage islands 102-104 disposed in a common semiconductor chip 106. These voltage islands are provided three different operating voltages, hi, mid, and lo-voltage. A plurality of identical processor cores 108-110 are respective disposed in the voltage islands 102-104, but the differing operating voltages results in processor core 108 having relatively high performance (hi-MIPS) , processor core 109 having medium performance (mid-MIPS) , and processor core 110 having relatively low performance (lo-MIPS) . All three processor cores 108-110 each have access to a shared memory 112.
Since all three processor cores 108-110 are operated at different voltage levels, their respective power consumptions also differ. The power consumption will go up as the square of
_AE2 the voltage increase. E.g., AP- —— . So increased performance
K is gained, e.g., in processor core 108, at a cost of much increased power consumption. In modern battery-operated portable devices, all power consumption waste must be strictly eliminated.
An operating system (OS) 114 provides for the selection of particular software tasks 116-120 to be executed by various ones of the processor cores 108-110. A slack time calculator 122 is connected to compare how much time an assigned task 116-120 took to be executed on a corresponding processor core 108-110. A processing capabilities and task loading table 124 is constructed from data obtained by the slack time calculator 122. It catalogs the processing capabilities of each of the processor cores 108- 110. A relative measure for the processing loads imposed by tasks previously executed is entered. During operation, the performance required by a "task-a:e" can be tabulated, like in Table 124, in terms of millions- instruction-per-second (MIPS) . For example, heuristic evidence can be gathered to show "task-d" requires a medium MIPS performance. The second chart can be indexed to show "CPU-2" would be the appropriate choice for scheduling task-d. A message is sent from table 124 to scheduler 126 so that when OS 114 wants task-d 119 executed, it will be scheduled for dispatch to processor core 109. The slack-time calculator 122 can re-verify this was a good choice after the task executes. Since the higher power-consuming processor core 108 was avoided, power was saved by using a lower powered alternative processor core.
Different processor cores of the SoC are provided with different supply voltages. The voltage islands enable core-level power optimization for SoC design by providing a unique fixed supply voltage for each processor core. SoC ' s with voltage islands and homogeneous processor cores allow all the tasks to be kept in a single list that can be applied to all the cores in the SoC. Prior art devices prepare separate task lists for each processor core. Each task is gauged according to its performance requirements .
One-by-one, the tasks are matched up to a particular processor that can guarantee execution completion within the allotted time frame because its supply voltage is high enough. Every time the task presents itself, it is again analyzed and dynamically scheduled for the most appropriate processor core. In this way the dynamic scheduling is performed. DVS techniques have inherent overheads that may be too costly to employ on a task-by-task basis. The symmetric multiprocessor system 100 instead selects processor cores whose supply voltage can produce the necessary levels of performance in given window of time.
The slack time calculator and processing capabilities and task loading table 124 provide for performance measurement and estimation to capture the execution times of tasks in an application software. The performance measurements can be trace- based or accumulated from the execution times and the deadline requirement of individual tasks. The average/median values for slack times is computed, and multiple values of slack times in a certain time window are used to characterizes each slack time per task. Such characteristic information is thereafter used to predict a future execution and slack time of the task, thus dynamically scheduling tasks to the appropriate processors. The slack time calculator and processing capabilities and task loading table further provides for resetting of measurement information for a tasks when they have been newly scheduled on a different processor core.
Fig. 2 represents a symmetric multiprocessor system embodiment of the present invention that makes each voltage island adjustable with DVS, and is referred to herein by the general reference numeral 200. The symmetric multiprocessor system 200 comprises a plurality of voltage islands 202-204 disposed in a common semiconductor chip 206. These provide for independent and controllable dynamic voltage scaling (DVS) for each voltage island. Dynamic voltage scaling (DVS) has become a universal way to adjust the operating voltage and clocks to balance a circuit's performance with its concomitant power consumption. Voltage islands have been used in conventional designs to allow portions of a chip's circuitry to be subjected to independent DVS controls. But after the DVS has changed to a new value, settling times can be as long as 200-milliseconds . So it would be best not to change the DVS settings very often, or not at all after being initialized.
A plurality of processor cores 208-210 each have access to a shared memory 212. Each is disposed in a respective one of the voltage islands such that changes in the DVS will proportionately affect each processor core's performance and power consumption. An operating system (OS) 214 provides for the selection of particular software tasks 216-220 to be executed by various ones of the processor cores 208-210. A slack time calculator 222 is connected to compare how much time an assigned task 216-120 took to be executed on a corresponding processor core 208-110 at a particular DVS setting.
A processing capabilities and task loading table 224 is constructed from data obtained by the slack time calculator 222. It catalogs the processing capabilities of each of the processor cores 208-210 at a variety of DVS settings. A relative measure for the processing loads imposed by tasks previously executed is entered. A scheduler 226 is controlled by the OS 214. It looks for an entry in the processing capabilities and task loading table 224 for each new next task to be scheduled. If previously characterized, then it sends the task to an appropriate, available processor core 208-110. A DVS control is issued for the corresponding voltage island to a value that will minimize power consumption and still allow for complete execution in the time available.
The dynamic scheduling assigns application tasks onto the available voltage island isolated processors of the symmetric multiprocessor system. Each of the processors is supplied with different independent operating voltages/frequencies. The slack times are measured by taking the time difference between the deadline and actual execution time of the task. These are placed in an application task graph. These measurement traces allow future slack times of tasks to be estimated. The individual processor processing capabilities are statically maintained. Such dynamic scheduling basically chooses the appropriate processor for the tasks based on their slack times to yield optimal power consumption. The processing capabilities table indicates the performance in MIPS provided by the individual processors. The MIPS offered by individual processors depends on the operating voltage and frequency of the processors. The table can be statically configured by looking at the voltage sources of the processors to then estimate the expected performance. It can also compute the average slack times of tasks by making several, on-going observations .
The dynamic scheduler maps tasks onto the available processors using static estimates and profiling results. It gets slack information for all the application tasks from the performance measurement and estimation unit. Considering the first tasks mapped on the first processor, if the measured slack time of a first task on a first processor deviates from its average slack time, then such first task can be dynamically scheduled onto a second processor that matches the performance requirement. The mapping of tasks onto other processors is based on a processing capabilities table lookup.
In general, embodiments of the present invention are such that task assignment to an available processor assumes they are symmetrical but employ different supply voltages which make them capable of providing different throughputs. The task scheduling is based on the slack times of the task. Using voltage islands and dynamically scheduling the tasks based on their estimated performance requirements, or slack periods, provides substantial power savings.
Although particular embodiments of the present invention have been described and illustrated, such is not intended to limit the invention. Modifications and changes will no doubt become apparent to those skilled in the art, and it is intended that the invention only be limited by the scope of the appended claims .

Claims

POWER AWARE DYNAMIC SCHEDULING IN MULTIPROCESSOR SYSTEM EMPLOYING VOLTAGE ISLANDSTHE INVENTION CLAIMED IS
1. A multiprocessor system, comprising: a plurality of voltage islands disposed in a common semiconductor chip and providing for different independent operating voltages within each voltage island; a plurality of processor cores with access to a shared memory, and each disposed in a respective one of the voltage islands such that said operating voltage differences proportionately affect each processor core's performance and power consumption; a slack time calculator connected to compare how much time an assigned task took to be executed on a corresponding processor core; a processing capabilities and task loading table for construction from data obtained by the slack time calculator to catalog the processing capabilities of each of the processor cores, and for tabulating a relative measure for the processing loads imposed by tasks previously executed; and a scheduler connected to inspect a next task to be scheduled for an entry in the processing capabilities and task loading table, and if previously characterized, then scheduling such task to a processor core that will minimize power consumption and still allow for complete execution in the time available.
2. The system of claim 1, further comprising: an operating system (OS) providing for the selection of particular software tasks to be executed by various ones of the processor cores, and connected to the scheduler to allow for scheduling of tasks onto selected processor cores.
3. The system of claim 1, wherein: the slack time calculator and processing capabilities and task loading table provide for performance measurement and estimation to capture the execution times of tasks in an application software
4. The system of claim 3, wherein: the slack time calculator and processing capabilities and task loading table provide for performance measurements that are either trace-based or accumulated from the execution times and the deadline requirement of individual tasks, and wherein the average/median values for slack times is computed, and multiple values of slack times in a certain time window are used to characterizes each slack time per task, and such characteristic information is thereafter used to predict a future execution and slack time of the task, thus dynamically scheduling tasks to the appropriate processors.
5. The system of claim 4, wherein: the slack time calculator and processing capabilities and task loading table provide for resetting of said measurement information for a tasks when it has been newly scheduled on a different processor core.
6. A symmetrical multiprocessor system, comprising: a plurality of voltage islands disposed in a common semiconductor chip and providing for independent and controllable dynamic voltage scaling (DVS) for each voltage island; a plurality of processor cores with access to a shared memory, and each disposed in a respective one of the voltage islands such that changes in said DVS proportionately affect each processor core's performance and power consumption; an operating system (OS) providing for the selection of particular software tasks to be executed by various ones of the processor cores; a slack time calculator connected to compare how much time an assigned task took to be executed on a corresponding processor core at a particular DVS setting; a processing capabilities and task loading table for construction from data obtained by the slack time calculator to catalog the processing capabilities of each of the processor cores at a variety of DVS settings, and a relative measure for the processing loads imposed by tasks previously executed; and a scheduler connected to the OS that inspects a next task to be scheduled for an entry in the processing capabilities and task loading table, and if previously characterized, then scheduling such task to a processor core and setting the DVS for its voltage island to a value that will minimize power consumption and still allow for complete execution in the time available .
7. A method of overall power conservation in a multiprocessor system disposed in a system-on-chip (SoC) , comprising: operating a plurality of voltage islands disposed in a SoC at different voltages such that similar circuits will perform at significantly different levels because of the voltage differences; disposing identical processor cores of a multiprocessor system in various ones of the plurality of voltage islands such that they consume differing operating powers because of their operating voltage differences; calculating and tabulating a slack-time experienced by each of a variety of tasks for execution by said processor cores; and scheduling each said task to a particular said processor core according to its performance level as determined by its operating voltage, and depending on a corresponding slack- time calculation for said task, wherein said scheduling is such that power consumption will be minimized and still allow for complete execution in a time available.
PCT/IB2006/055050 2006-01-06 2006-12-28 Power aware dynamic scheduling in multiprocessor system employing voltage islands WO2007077516A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75716606P 2006-01-06 2006-01-06
US60/757,166 2006-01-06

Publications (1)

Publication Number Publication Date
WO2007077516A1 true WO2007077516A1 (en) 2007-07-12

Family

ID=38055463

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/055050 WO2007077516A1 (en) 2006-01-06 2006-12-28 Power aware dynamic scheduling in multiprocessor system employing voltage islands

Country Status (2)

Country Link
TW (1) TW200809628A (en)
WO (1) WO2007077516A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
CN103026340A (en) * 2010-07-30 2013-04-03 富士通株式会社 Multi-core processor system, allocation program, control program, allocation method and control method
US8799697B2 (en) 2011-09-26 2014-08-05 Qualcomm Incorporated Operating system synchronization in loosely coupled multiprocessor system and chips
CN104126160A (en) * 2011-12-29 2014-10-29 英特尔公司 Individual core voltage margining
CN105930289A (en) * 2010-07-30 2016-09-07 富士通株式会社 Multi-core processor system, allocation program, control program, allocation method, and control method
US9618999B1 (en) 2015-11-17 2017-04-11 International Business Machines Corporation Idle-aware margin adaption
US9703613B2 (en) 2013-12-20 2017-07-11 Qualcomm Incorporated Multi-core dynamic workload management using native and dynamic parameters
CN109960576A (en) * 2019-03-29 2019-07-02 北京工业大学 A kind of low energy consumption task scheduling strategy towards CPU-GPU isomery
US10521267B2 (en) 2015-12-21 2019-12-31 Telefonaktiebolaget Lm Ericsson (Publ) Priority trainer for many core processing system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1207470A2 (en) * 2000-11-15 2002-05-22 International Business Machines Corporation Concurrent logical and physical construction of voltage islands for mixed supply voltage designs
WO2002054198A2 (en) * 2001-01-05 2002-07-11 International Business Machines Corporation Computer system having low energy consumption
WO2004006089A1 (en) * 2002-05-28 2004-01-15 Sendo International Limited A processor system and method for controlling signal timing therein
EP1496424A2 (en) * 2003-07-08 2005-01-12 Toshiba Corporation Controller for information processing apparatus
EP1544716A2 (en) * 2003-12-17 2005-06-22 Hitachi, Ltd. Information processing system and operating system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1207470A2 (en) * 2000-11-15 2002-05-22 International Business Machines Corporation Concurrent logical and physical construction of voltage islands for mixed supply voltage designs
WO2002054198A2 (en) * 2001-01-05 2002-07-11 International Business Machines Corporation Computer system having low energy consumption
WO2004006089A1 (en) * 2002-05-28 2004-01-15 Sendo International Limited A processor system and method for controlling signal timing therein
EP1496424A2 (en) * 2003-07-08 2005-01-12 Toshiba Corporation Controller for information processing apparatus
EP1544716A2 (en) * 2003-12-17 2005-06-22 Hitachi, Ltd. Information processing system and operating system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GRUIAN F ED - ASSOCIATION FOR COMPUTING MACHINERY: "HARD REAL-TIME SCHEDULING FOR LOW-ENERGY USING STOCHASTIC DATA AND DVS PROCESSORS", PROCEEDINGS OF THE 2001 INTERNATIONAL SYMPOSIUM ON LOW POWER ELECTRONICS AND DESIGN.ISLPED. HUNTINGTON BEACH, CA, AUG. 6 - 7, 2001, INTERNATIONAL SYMPOSIUM ON LOW POWER ELCTRONICS AND DESIGN, NEW YORK, NY : ACM, US, 6 August 2001 (2001-08-06), pages 46 - 51, XP001134581, ISBN: 1-58113-371-5 *
MEJIA-ALVAREZ P ET AL: "Power-optimized scheduling server for real-time tasks", REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM, 2002. PROCEEDINGS. EIGHTH IEEE 24-27 SEPT. 2002, PISCATAWAY, NJ, USA,IEEE, 24 September 2002 (2002-09-24), pages 239 - 250, XP010621752, ISBN: 0-7695-1739-0 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
CN103026340B (en) * 2010-07-30 2016-05-04 富士通株式会社 Multi-core processor system, allocator, control program, distribution method and control method
CN103026340A (en) * 2010-07-30 2013-04-03 富士通株式会社 Multi-core processor system, allocation program, control program, allocation method and control method
EP2600245A1 (en) * 2010-07-30 2013-06-05 Fujitsu Limited Multi-core processor system, allocation program, control program, allocation method and control method
EP2600245A4 (en) * 2010-07-30 2013-11-06 Fujitsu Ltd Multi-core processor system, allocation program, control program, allocation method and control method
US9772964B2 (en) 2010-07-30 2017-09-26 Fujitsu Limited Multicore processor system, computer product, assigning method, and control method
CN105930289A (en) * 2010-07-30 2016-09-07 富士通株式会社 Multi-core processor system, allocation program, control program, allocation method, and control method
US9170965B2 (en) 2010-07-30 2015-10-27 Fujitsu Limited Interrupt assigning method, interrupt control method, and system therefor
US8799697B2 (en) 2011-09-26 2014-08-05 Qualcomm Incorporated Operating system synchronization in loosely coupled multiprocessor system and chips
US9417676B2 (en) 2011-12-29 2016-08-16 Intel Corporation Individual core voltage margining
EP2798435A4 (en) * 2011-12-29 2015-09-09 Intel Corp Individual core voltage margining
CN104126160A (en) * 2011-12-29 2014-10-29 英特尔公司 Individual core voltage margining
US9703613B2 (en) 2013-12-20 2017-07-11 Qualcomm Incorporated Multi-core dynamic workload management using native and dynamic parameters
US9618999B1 (en) 2015-11-17 2017-04-11 International Business Machines Corporation Idle-aware margin adaption
US10521267B2 (en) 2015-12-21 2019-12-31 Telefonaktiebolaget Lm Ericsson (Publ) Priority trainer for many core processing system
CN109960576A (en) * 2019-03-29 2019-07-02 北京工业大学 A kind of low energy consumption task scheduling strategy towards CPU-GPU isomery
CN109960576B (en) * 2019-03-29 2021-04-16 北京工业大学 Low-energy-consumption task scheduling strategy oriented to CPU-GPU (Central processing Unit-graphics processing Unit) heterogeneous

Also Published As

Publication number Publication date
TW200809628A (en) 2008-02-16

Similar Documents

Publication Publication Date Title
WO2007077516A1 (en) Power aware dynamic scheduling in multiprocessor system employing voltage islands
JP6227737B2 (en) Providing core unit voltage and frequency control
Von Laszewski et al. Power-aware scheduling of virtual machines in dvfs-enabled clusters
Ahmad et al. Using game theory for scheduling tasks on multi-core processors for simultaneous optimization of performance and energy
Bailey et al. Adaptive configuration selection for power-constrained heterogeneous systems
US8806228B2 (en) Systems and methods for asymmetrical performance multi-processors
Miller et al. Booster: Reactive core acceleration for mitigating the effects of process variation and application imbalance in low-voltage chips
TWI454901B (en) Microprocessor, method of operating microprocessor and computer program product
US20110022833A1 (en) Altering performance of computational units heterogeneously according to performance sensitivity
KR20100138954A (en) Power-aware thread scheduling and dynamic use of processors
Lin et al. Energy-efficient task scheduling for multi-core platforms with per-core DVFS
EP3649536B1 (en) Core frequency management using effective utilization for power-efficient performance
Etinski et al. Utilization driven power-aware parallel job scheduling
Yun et al. Hars: A heterogeneity-aware runtime system for self-adaptive multithreaded applications
Terzopoulos et al. Power-aware bag-of-tasks scheduling on heterogeneous platforms
Zeng et al. Practical energy-aware scheduling for real-time multiprocessor systems
Liu et al. Energy-efficient scheduling of real-time tasks on heterogeneous multicores using task splitting
Sheikh et al. Energy-efficient cache-aware scheduling on heterogeneous multicore systems
Chandio et al. Energy efficient VM scheduling strategies for HPC workloads in cloud data centers
March et al. A new energy-aware dynamic task set partitioning algorithm for soft and hard embedded real-time systems
Sobhani et al. REALISM: Reliability-aware energy management in multi-level mixed-criticality systems with service level degradation
US9417676B2 (en) Individual core voltage margining
Nakada et al. Design aid of multi-core embedded systems with energy model
Ansari et al. Power-aware scheduling of fixed priority tasks in soft real-time multicore systems
Saha et al. Adaptive energy-efficient task partitioning for heterogeneous multi-core multiprocessor real-time systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06842696

Country of ref document: EP

Kind code of ref document: A1