WO2012031799A1 - A system to manage power consumption of a processor at run time - Google Patents

A system to manage power consumption of a processor at run time Download PDF

Info

Publication number
WO2012031799A1
WO2012031799A1 PCT/EP2011/061833 EP2011061833W WO2012031799A1 WO 2012031799 A1 WO2012031799 A1 WO 2012031799A1 EP 2011061833 W EP2011061833 W EP 2011061833W WO 2012031799 A1 WO2012031799 A1 WO 2012031799A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
sub
tasks
workload information
task
Prior art date
Application number
PCT/EP2011/061833
Other languages
French (fr)
Inventor
Harshit Tiwari
Vinay Reddy Venumuddala
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2012031799A1 publication Critical patent/WO2012031799A1/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/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • 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 invention relates to a system to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-tasks.
  • the computational requirements has become quite complex, where many tasks are required to be run synchronously on a processor. This leads to requirement of processor with high efficiency to process each of tasks at same time.
  • one of the key sources is proper management of power consumption required by the processor while executing each of the tasks.
  • One way to manage power consumption is to predict power required by various tasks and sub-tasks at different times and on the basis of such prediction the power resources can be allocated to the processor variably as per the
  • the power consumption requirement doesn't remain static as predicted and changes at real time.
  • It is an object of the invention is to manage power consumed by a processor at run time while executing a task divisible into a set of executable sub-tasks.
  • the object of the invention is achieved by a system of claim 1 and a method of claim 10.
  • the underlying idea of the invention is to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-tasks by enabling the processor to compute an error between an actual workload and a predicted workload and further enabling the processor to run a resource allocation application allocating resources to the sub-tasks while executing the task on a basis of re- computation of the predicted workload calculated by using the error as feedback.
  • the workload information comprises information about frequency and
  • the frequency and electrical potential provides parameters for quantifying the workload easily.
  • the system includes a dynamic voltage and frequency scaling (DVFS ) application processor for managing the power consumption of the processor at run time.
  • DVFS dynamic voltage and frequency scaling
  • the system includes an operating system inside the processor, wherein the operating system is adapted to receive the actual workload information from the memory device, to process the actual workload information and the predicted workload information to compute error for making a feedback for re-computing the predicted workload information for each of the sub-tasks, to re-compute the predicted workload and to provide the predicted workload information after re-computing to the memory device.
  • the operating system is adapted to receive the actual workload information from the memory device, to process the actual workload information and the predicted workload information to compute error for making a feedback for re-computing the predicted workload information for each of the sub-tasks, to re-compute the predicted workload and to provide the predicted workload information after re-computing to the memory device.
  • the resource allocation application is adapted to allocate resources to processor for executing each of the sub-tasks before beginning the
  • the processor comprises a first part and a second part, wherein the first part is adapted to execute the task and to run the resource allocation application, and the second part is adapted to receive the actual workload information from the memory device, to process the actual workload information and the predicted workload information to compute error for making a feedback for re-computing the predicted workload information for each of the sub-tasks, to re-compute the predicted workload and to provide the predicted workload information after re-computing to the memory device.
  • This provides a structured implementation of the system, where the power requirement of processor can be pre-divided for the first part and the second part due to pre-knowledge of power requirements of the first part and it need not be re-computed again and again.
  • processor is further adapted to extract the actual workload information at the end of each sub-task and adapted to store the actual workload information into the memory device. This helps to store the actual workload information for future retrieval to re-compute the predicted workload.
  • the processor is adapted to notify the error for providing the feedback to re-compute the predicted workload if the error is greater than a threshold value. This helps to notify error to a human or the processor to either manually or automatically provide the feedback for re-computing the predicted workload.
  • the processor is adapted increase a counter value of a counter on every notification of the error and, adapted to provide the
  • FIG 1 illustrates a block diagram for a system to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-tasks.
  • FIG 2 depicts a block diagram for the system having processor with two parts, i.e., a first part and a second part.
  • FIG 3 illustrates a flow chart for a method to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-task.
  • FIG 1 shows a system 1 having a processor 2 coupled with a memory device 7 to manage power consumption of the processor
  • the processor 2 receives actual workload information 5 of each of the sub-tasks 4 from the memory device 7 and
  • the processor 2 processes the actual workload information 5 and predicted workload information 6 to compute error 8 for making a feedback at run time for re-computing the predicted workload information 6 for each of the sub-tasks 4.
  • the processor 2 re-computes the predicted workload, and runs a resource allocation application 11 based on the predicted workload information 6 for allocating resources to the sub- tasks 4 while executing the task 3.
  • the processor 2 includes an operating system consisting of programs and data that runs on computers and manages the computer hardware and provides common services for efficient execution of application software .
  • the operating system can be proprietary software like Windows from Microsoft, Solaris from Sun Microsystems or any customized open source software like Linux.
  • the operating system is further designed to receive the actual workload information 5 from the memory device 7, to process the actual workload information 5 and the predicted workload information 6 to compute error 8 for making the feedback for re-computing the predicted workload information 6 for each of the sub-tasks 4, to re-compute the predicted workload and to provide the predicted workload information 6 after re-computing to the memory device 7.
  • the memory device 7 is a external data storing device like USB data card, Compact Disk, Optical Compact Disk, floppy, etc adapted to store data after receiving data from the processor 2 through external data coupling like USB ports, or a floppy reader or Compact Disk reader etc.
  • the memory device 7 can also be an internal storage device like hard disk which can store data after receiving from the processor 2 through internal data bus connections.
  • the processor 2 is a readily available central processing unit of a computer, which is further designed to receive and process the workload information 5, 6 and on the basis of processing runs the resource allocation application 11.
  • the workload information 5, 6 comprises information about frequency and electrical potential to be provided or used by the processor 2 while executing the task 3.
  • the workload information 5, 6 includes
  • the power consumption (P) of the processor 2 can be determined by:
  • represents the switching factor
  • represents voltage during operation of the processor
  • f represents frequency during operation of the processor
  • equation (II) by lowering voltage and frequency being provided to the processor 2, the power consumption of the processor 2 can be reduced.
  • a DVFS application is an effective way of reducing the power consumption of processor 2 by providing just enough
  • DVFS application is further classified into inter-task and intra-task based on the instants when frequency and voltage are adjusted.
  • inter-task DVFS the voltage and frequency are scaled down at beginning of each task 3 based on the predicted workload.
  • the voltage and frequency are scaled down at beginning of each task 3 based on maximum workload requirement of the task 3. This frequency voltage pair is maintained till the end of the task 3 execution.
  • intra-task DVFS the voltage and frequency are scaled down even within the task 3 at sub-task level. This (frequency, voltage) pair is maintained till the completion of the sub- task 4.
  • the intra-task DVFS utilizes the slack more aggressively by further adjustments of performance levels in the middle of the execution of the task 3.
  • the resource allocation application 11 allocates resources to processor 2 for executing each of the sub-tasks 4 before beginning the execution of each of the sub-tasks 4 on a basis of the predicted workload information 6 for executing remaining sub-tasks 4 to be executed.
  • the resource allocation application 11 varies the resources being allocated to the processor 2 for executing the task 3 and its sub-tasks 4 on a basis of re-computed predicted workload.
  • the predicted workload is re-computed on a basis of the feedback generated due to the error 8 between the actual workload and the predicted workload for each of the sub-tasks 4 notified by the processor 2.
  • the processor 2 extracts the actual workload information 5 at the end of each sub-task 4 by using compiler assisted profiling and stores the actual workload information 5 into the memory device 7.
  • the actual workload information 5 so stored is used in re-computing of the predicted workload.
  • One of the ways to calculate the feedback is based on re ⁇ computing a probability density function in relation to the predicted workload information 6 for each of the sub-tasks 4.
  • the processor 2 increases a count value, if the error 8 in the predicted workload is exceeding a threshold error and if the count value becomes greater than a threshold count, the feedback is provided by the processor 2 to re-compute the probability density function in respect to the predicted workload information 6 for each of the sub-tasks 4.
  • the processor 2 is adapted to notify the error 8 for providing the feedback to re-compute the predicted workload if the error 8 is greater than a threshold value .
  • Wher L 1 J is the average of square of error 8 computed for frame [ k] .
  • T represents the number of sub-tasks 4,
  • o pt '' is the predicted workload remaining before executing a sub-task ( i ) ,
  • a c ,l is the actual workload remaining before executing sub- task ( i ) ,
  • i denotes the sub-task 4 going to be executed by the
  • runtime average error 8 is computed for fixed sub- tasks 4 at runtime.
  • the runtime average error 8 will be almost constant. So, the threshold error is chosen to be average (rae(l)) + average ( ⁇ ' ) over the entire workload information 5, 6.
  • the values of threshold error, threshold count etc. can be adaptively changed at runtime depending on the required accuracy.
  • FIG 2 illustrates a block diagram for the system 1 having a processor 2 with two parts, i.e., a first part 9 and a second part 10, wherein the first executes the task 3 and runs the resource allocation application 11, and the second part 10 receives the actual workload information 5 from the memory device 7, processes the actual workload information 5 and the predicted workload information 6 to compute the error 8 for making the feedback for re-computing the predicted workload information 6 for each of the sub-tasks 4, re-computes the predicted workload and provides the predicted workload information 6 to the memory device 7 after re-computing.
  • a processor 2 with two parts, i.e., a first part 9 and a second part 10, wherein the first executes the task 3 and runs the resource allocation application 11, and the second part 10 receives the actual workload information 5 from the memory device 7, processes the actual workload information 5 and the predicted workload information 6 to compute the error 8 for making the feedback for re-computing the predicted workload information 6 for each of the sub-tasks 4, re-computes the predicted workload and
  • the system 1 can have multiple parts wherein one of the part receives the actual workload information 5 from the memory device 7, processes the actual workload information 5 and the predicted workload information 6 to compute the error 8 for making the feedback for re-computing the predicted workload information 6 for each of the sub- tasks 4, re-computes the predicted workload and provides the predicted workload information 6 to the memory device 7 after re-computing, while other remaining parts of the processor 2 executes the task 3 and runs the resource allocation
  • FIG 3 illustrates a flow chart showing step-by-step method to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-task.
  • step 31 allocating a predicted workload to the task according to predicted workload information.
  • step 32 extracting actual workload information of a sub-task and storing the actual workload information in a memory device.
  • step 33 calculating remaining workload after executing the sub-task and on a basis of remaining workload, re- estimating a required power resource to executed remaining of the sub-tasks. Repeating step 32 and 33, till all sub-tasks of the task are executed.
  • step 34 process the actual workload information by the processor and the predicted workload information to compute error.
  • step 35 if the error is greater then a threshold error then increasing a counter value. Repeat the steps from 32 to 35 for
  • step 36 the counter value is checked against a threshold counter value and if the counter value is greater then the threshold counter value, then a feedback is made at run time for re-computing the predicted workload information for each of the sub-tasks.

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)

Abstract

A system (1) for managing power consumption of a processor (2) at run time while executing a task (3) divisible into a set of executable sub-tasks (4), such that, the processor (2) receives an actual workload information (5) of each of the sub-tasks (4) from a memory device (7), processes the actual workload information (5) and a predicted workload information (6) to compute error (8) for making a feedback at run time, re-computes the predicted workload (6) for each of the sub- tasks (4), and runs a resource allocation application (11) based on the predicted workload information (6) for 15 allocating resources to the sub-tasks (4) while executing the task (3).

Description

Description
A system to manage power consumption of a processor at run time
The invention relates to a system to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-tasks. In current times, the computational requirements has become quite complex, where many tasks are required to be run synchronously on a processor. This leads to requirement of processor with high efficiency to process each of tasks at same time. To make the processor efficient, one of the key sources is proper management of power consumption required by the processor while executing each of the tasks.
One way to manage power consumption is to predict power required by various tasks and sub-tasks at different times and on the basis of such prediction the power resources can be allocated to the processor variably as per the
requirement. But, due to the complex computational
requirement, the power consumption requirement doesn't remain static as predicted and changes at real time.
One way for tracking and accordingly maintaining power consumption requirement changes for the processor at real time is suggested by M. Najibi and others in "Dynamic Voltage and Frequency Management Based on Variable Update Intervals for Frequency Setting", by performing dynamic voltage and frequency management (DVFM) for optimizing the energy
consumption of the processor, so as to rapidly track workload changes of the processor so as to meet soft real-time
deadlines. But this method doesn't take care of the power management within the task at sub-task level.
It is an object of the invention is to manage power consumed by a processor at run time while executing a task divisible into a set of executable sub-tasks. The object of the invention is achieved by a system of claim 1 and a method of claim 10. The underlying idea of the invention is to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-tasks by enabling the processor to compute an error between an actual workload and a predicted workload and further enabling the processor to run a resource allocation application allocating resources to the sub-tasks while executing the task on a basis of re- computation of the predicted workload calculated by using the error as feedback. According to one embodiment of the invention, the workload information comprises information about frequency and
electrical potential to be provided or used by the processor while executing the task. The frequency and electrical potential provides parameters for quantifying the workload easily.
According to another embodiment of the invention, the system includes a dynamic voltage and frequency scaling (DVFS ) application processor for managing the power consumption of the processor at run time. Such application can easily manipulate the electrical potential and the frequency
requirements of the processor by varying both of the
electrical potential the frequency together as a function of each other or individually.
According to yet another embodiment, the system includes an operating system inside the processor, wherein the operating system is adapted to receive the actual workload information from the memory device, to process the actual workload information and the predicted workload information to compute error for making a feedback for re-computing the predicted workload information for each of the sub-tasks, to re-compute the predicted workload and to provide the predicted workload information after re-computing to the memory device. Such a system reduces power consumption of the processor, as power used to run the system is reduced because substantial functions of the system are implemented within the operating system.
According to an exemplary embodiment, the resource allocation application is adapted to allocate resources to processor for executing each of the sub-tasks before beginning the
execution of each of the sub-tasks on a basis of the
predicted workload information for executing remaining sub- tasks to be executed. Such a system manages the power
consumption at run-time and compensates power requirement of remaining sub-tasks by providing additional power for running the task and sub-tasks efficiently.
According to one embodiment of the invention, the processor comprises a first part and a second part, wherein the first part is adapted to execute the task and to run the resource allocation application, and the second part is adapted to receive the actual workload information from the memory device, to process the actual workload information and the predicted workload information to compute error for making a feedback for re-computing the predicted workload information for each of the sub-tasks, to re-compute the predicted workload and to provide the predicted workload information after re-computing to the memory device. This provides a structured implementation of the system, where the power requirement of processor can be pre-divided for the first part and the second part due to pre-knowledge of power requirements of the first part and it need not be re-computed again and again.
According to another embodiment of the invention, the
processor is further adapted to extract the actual workload information at the end of each sub-task and adapted to store the actual workload information into the memory device. This helps to store the actual workload information for future retrieval to re-compute the predicted workload.
According to yet another embodiment of the invention, the processor is adapted to notify the error for providing the feedback to re-compute the predicted workload if the error is greater than a threshold value. This helps to notify error to a human or the processor to either manually or automatically provide the feedback for re-computing the predicted workload.
According to an exemplary embodiment, the processor is adapted increase a counter value of a counter on every notification of the error and, adapted to provide the
feedback to re-compute the predicted workload, if the counter value is greater then a threshold counter value. This helps to optimize fluctuating of the predicted workload due to too many re-computation of the predicted workload by notifying the error only when the error have re-occurred a decided number of times.
FIG 1 illustrates a block diagram for a system to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-tasks.
FIG 2 depicts a block diagram for the system having processor with two parts, i.e., a first part and a second part.
FIG 3 illustrates a flow chart for a method to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-task.
Various embodiments are described with reference to the drawing, wherein like reference numerals are used to refer to single elements throughout. In the following description, for purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. It may be evident that such embodiments may be practiced without these specific details. FIG 1 shows a system 1 having a processor 2 coupled with a memory device 7 to manage power consumption of the processor
2 at run time while executing a task 3 divisible into a set of executable sub-tasks 4.
The processor 2 receives actual workload information 5 of each of the sub-tasks 4 from the memory device 7 and
processes the actual workload information 5 and predicted workload information 6 to compute error 8 for making a feedback at run time for re-computing the predicted workload information 6 for each of the sub-tasks 4. In furtherance, the processor 2 re-computes the predicted workload, and runs a resource allocation application 11 based on the predicted workload information 6 for allocating resources to the sub- tasks 4 while executing the task 3.
In an alternate embodiment, the processor 2 includes an operating system consisting of programs and data that runs on computers and manages the computer hardware and provides common services for efficient execution of application software . The operating system can be proprietary software like Windows from Microsoft, Solaris from Sun Microsystems or any customized open source software like Linux. In
furtherance, the operating system is further designed to receive the actual workload information 5 from the memory device 7, to process the actual workload information 5 and the predicted workload information 6 to compute error 8 for making the feedback for re-computing the predicted workload information 6 for each of the sub-tasks 4, to re-compute the predicted workload and to provide the predicted workload information 6 after re-computing to the memory device 7.
The memory device 7 is a external data storing device like USB data card, Compact Disk, Optical Compact Disk, floppy, etc adapted to store data after receiving data from the processor 2 through external data coupling like USB ports, or a floppy reader or Compact Disk reader etc. The memory device 7 can also be an internal storage device like hard disk which can store data after receiving from the processor 2 through internal data bus connections. The processor 2 is a readily available central processing unit of a computer, which is further designed to receive and process the workload information 5, 6 and on the basis of processing runs the resource allocation application 11. The workload information 5, 6 comprises information about frequency and electrical potential to be provided or used by the processor 2 while executing the task 3. In an alternate embodiment, the workload information 5, 6 includes
information about clock cycles of the processor 2. The power consumption (P) of the processor 2 can be determined by:
P = a - Ceff - V2 - f ( I )
Wherein, ^ represents the switching factor,
^represents an effective capacitance,
^ represents voltage during operation of the processor, f represents frequency during operation of the processor.
Using equation (I), workload (E) required for executing any task 3 is given by:
E = P - T oc V2 (assuming V∞ f,T∞ f~v) ( n )
Thus, using equation (II), by lowering voltage and frequency being provided to the processor 2, the power consumption of the processor 2 can be reduced.
A DVFS application is an effective way of reducing the power consumption of processor 2 by providing just enough
computation power to execute the task 3. DVFS application is further classified into inter-task and intra-task based on the instants when frequency and voltage are adjusted. In inter-task DVFS the voltage and frequency are scaled down at beginning of each task 3 based on the predicted workload. Alternatively, the voltage and frequency are scaled down at beginning of each task 3 based on maximum workload requirement of the task 3. This frequency voltage pair is maintained till the end of the task 3 execution. In intra-task DVFS the voltage and frequency are scaled down even within the task 3 at sub-task level. This (frequency, voltage) pair is maintained till the completion of the sub- task 4. Hence the intra-task DVFS utilizes the slack more aggressively by further adjustments of performance levels in the middle of the execution of the task 3.
But, as at the run-time the workload varies while executing various sub-tasks 4 of the task 3, which means resource allocation is required to be varied dynamically at run-time, such that the resource allocation application 11 allocates resources to processor 2 for executing each of the sub-tasks 4 before beginning the execution of each of the sub-tasks 4 on a basis of the predicted workload information 6 for executing remaining sub-tasks 4 to be executed. The resource allocation application 11 varies the resources being allocated to the processor 2 for executing the task 3 and its sub-tasks 4 on a basis of re-computed predicted workload. The predicted workload is re-computed on a basis of the feedback generated due to the error 8 between the actual workload and the predicted workload for each of the sub-tasks 4 notified by the processor 2. The processor 2 extracts the actual workload information 5 at the end of each sub-task 4 by using compiler assisted profiling and stores the actual workload information 5 into the memory device 7. The
extraction of the actual workload information is a clock function. The actual workload information 5 so stored is used in re-computing of the predicted workload. One of the ways to calculate the feedback is based on re¬ computing a probability density function in relation to the predicted workload information 6 for each of the sub-tasks 4. The processor 2 increases a count value, if the error 8 in the predicted workload is exceeding a threshold error and if the count value becomes greater than a threshold count, the feedback is provided by the processor 2 to re-compute the probability density function in respect to the predicted workload information 6 for each of the sub-tasks 4. In an alternate embodiment, the processor 2 is adapted to notify the error 8 for providing the feedback to re-compute the predicted workload if the error 8 is greater than a threshold value .
For providing the feedback, firstly, calculating an average of square of the error 8 between predicted and actual
workload based on equation (III) ase w opt,i
T i=l HI: e aSB K
Wher L 1J is the average of square of error 8 computed for frame [ k] ,
T represents the number of sub-tasks 4, and
w
opt'' is the predicted workload remaining before executing a sub-task ( i ) ,
W .
ac ,l is the actual workload remaining before executing sub- task ( i ) ,
i denotes the sub-task 4 going to be executed by the
processor 2.
Secondly, runtime average error 8 is computed for fixed sub- tasks 4 at runtime. Consider a sample of P sub-tasks 4 to compute the runtime average error 8
Figure imgf000011_0001
7 represents the runtime average error 8 computed for a window of P frames between 1 *P and (1+1) *P - 1. The stacLniidu.aci.r-Ldu. dueevviiatLiiuonn ouf±. aavveeriaayget square error 8 is given by
Figure imgf000011_0002
Since the processing of the workload information 5, 6 has been done for a set of probability density functions of the sub-tasks 4, if the newly received actual workload
information 5 and re-computed predicted workload information 6 follows the same set of probability density functions, the runtime average error 8 will be almost constant. So, the threshold error is chosen to be average (rae(l)) + average ( σ' ) over the entire workload information 5, 6. The values of threshold error, threshold count etc., can be adaptively changed at runtime depending on the required accuracy.
FIG 2 illustrates a block diagram for the system 1 having a processor 2 with two parts, i.e., a first part 9 and a second part 10, wherein the first executes the task 3 and runs the resource allocation application 11, and the second part 10 receives the actual workload information 5 from the memory device 7, processes the actual workload information 5 and the predicted workload information 6 to compute the error 8 for making the feedback for re-computing the predicted workload information 6 for each of the sub-tasks 4, re-computes the predicted workload and provides the predicted workload information 6 to the memory device 7 after re-computing.
Alternatively, the system 1 can have multiple parts wherein one of the part receives the actual workload information 5 from the memory device 7, processes the actual workload information 5 and the predicted workload information 6 to compute the error 8 for making the feedback for re-computing the predicted workload information 6 for each of the sub- tasks 4, re-computes the predicted workload and provides the predicted workload information 6 to the memory device 7 after re-computing, while other remaining parts of the processor 2 executes the task 3 and runs the resource allocation
application 11.
FIG 3 illustrates a flow chart showing step-by-step method to manage power consumption of a processor at run time while executing a task divisible into a set of executable sub-task.
In step 31, allocating a predicted workload to the task according to predicted workload information. In step 32, extracting actual workload information of a sub-task and storing the actual workload information in a memory device. In step 33, calculating remaining workload after executing the sub-task and on a basis of remaining workload, re- estimating a required power resource to executed remaining of the sub-tasks. Repeating step 32 and 33, till all sub-tasks of the task are executed. In step 34, process the actual workload information by the processor and the predicted workload information to compute error. In step 35, if the error is greater then a threshold error then increasing a counter value. Repeat the steps from 32 to 35 for
repetitively executing the task. In step 36, the counter value is checked against a threshold counter value and if the counter value is greater then the threshold counter value, then a feedback is made at run time for re-computing the predicted workload information for each of the sub-tasks.

Claims

Patent Claims
1. A system (1) to manage power consumption of a processor (2) at run time while executing a task (3) divisible into a set of executable sub-tasks (4) comprising:
- the processor (2) adapted to receive an actual workload information (5) of each of the sub-tasks (4) from a memory device (7), to process the actual workload information (5) and a predicted workload information (6) to compute error (8) for making a feedback at run time for re-computing the predicted workload information (6) for each of the sub-tasks
(4) , to re-compute the predicted workload (6), and to run a resource allocation application (11) based on the predicted workload information (6) for allocating resources to the sub- tasks (4) while executing the task (3),
- the memory adapted to store the actual workload information
(5) of each of the sub-tasks (4) and adapted to provide the actual workload to the processor (2) for computing the error (8) .
2. The system (1) according to claim 1, wherein the workload information (5, 6) comprises information about frequency and electrical potential to be provided or used by the processor (2) while executing the task (3) .
3. The system (1) according to the claim 2, wherein the system (1) is adapted to manage power consumption of the processor (2) at run time by using a dynamic voltage and frequency scaling (DVFS ) application.
4. The system (1) according to any of the claims from 1 to 3, wherein the processor (2) comprising an operating system adapted to receive the actual workload information (5) from the memory device (7), to process the actual workload
information (5) and the predicted workload information (6) to compute error (8) for making a feedback for re-computing the predicted workload information (6) for each of the sub-tasks (4), to re-compute the predicted workload and to provide the predicted workload information (6) after re-computing to the memory device (7) .
5. The system (1) according to any of the claims 1 to 4, wherein the resource allocation application (11) is adapted to allocate resources to the processor (2) for executing each of the sub-tasks (4) before beginning the execution of each of the sub-tasks (4) on a basis of the predicted workload information (6) for executing remaining sub-tasks (4) to be executed.
6. The system (1) according to any of the claims from 1 to 5, wherein the processor (2) comprises a first part (9) and a second part (10), wherein
- the first part (9) is adapted to execute the task (3) and to run the resource allocation application (11), and
- the second part (10) is adapted to receive the actual workload information (5) from the memory device (7), to process the actual workload information (5) and the predicted workload information (6) to compute error (8) for making a feedback for re-computing the predicted workload information (6) for each of the sub-tasks (4), to re-compute the
predicted workload and to provide the predicted workload information (6) after re-computing to the memory device (7) .
7. The system (1) according to any of the claims from 1 to 6 wherein the processor (2) is further adapted to extract the actual workload information (5) at the end of each sub-task (4) and adapted to store the actual workload information (5) into the memory device (7) .
8. The system (1) according to any of the claims 1 to 7, wherein the processor (2) is adapted to notify the error (8) for providing the feedback to re-compute the predicted workload if the error (8) is greater than a threshold value.
9. The system (1) according to claim 8, wherein the processor (2) is adapted increase a counter value of a counter on every notification of the error (8) and, adapted to provide the feedback to re-compute the predicted workload, if the counter value is greater then a threshold counter value.
10. A method to manage power consumption of a processor (2) at run time while executing a task (3) divisible into a set of executable sub-tasks (4) comprising:
- to store an actual workload information (5) for each of the sub-task (4) after executing of each of the sub-task (4) inside a memory device (7),
- to receive the actual workload information (5) of each of the sub-tasks (4) from a memory device (7) by a processor (2) ,
- to process the actual workload information (5) by the processor (2) and a predicted workload information (6) to compute error (8) for making a feedback at run time for recomputing the predicted workload information (6) for each of the sub-tasks (4),
- to re-compute the predicted workload by the processor (2), - to run a resource allocation application (11) inside the processor (2) based on the predicted workload information (6) for allocating resources to the sub-tasks (4) while executing the task ( 3 ) ,
11. The method according to claim 10, wherein the workload information (5, 6) comprises information about frequency and electrical potential to be provided or used by the processor (2) while executing the task (3) .
12. The method according to claim 11, wherein the resource allocation application (11) is a dynamic voltage and
frequency scaling (DVFS ) application.
13. The system according to any of the claims 10 to 12, wherein allocating resources to the processor (2) by the resource allocator for executing each of the sub-tasks (4) before beginning the execution of each of the sub-tasks (4) on a basis of the predicted workload information (6) for executing remaining sub-tasks (4) to be executed.
14. The method according to any of the claims from 10 to 13 comprising:
- extracting the actual workload information (5) by the processor (2) at the end of each sub-task (4) before storing the actual workload information (5) into the memory device (7) .
15. The method according to any of the claims 10 to 14 comprising :
- notifying the error (8) by the processor (2) for providing the feedback to re-compute the predicted workload if the error (8) is greater than a threshold value.
16. The method according to claim 15 comprising:
- increasing a counter value of a counter by the processor (2) on every notification of the error (8) and,
- providing the feedback to re-compute the predicted
workload, if the counter value is greater then a threshold counter value.
PCT/EP2011/061833 2010-09-09 2011-07-12 A system to manage power consumption of a processor at run time WO2012031799A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN999/KOL/2010 2010-09-09
IN999KO2010 2010-09-09

Publications (1)

Publication Number Publication Date
WO2012031799A1 true WO2012031799A1 (en) 2012-03-15

Family

ID=44628821

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/061833 WO2012031799A1 (en) 2010-09-09 2011-07-12 A system to manage power consumption of a processor at run time

Country Status (1)

Country Link
WO (1) WO2012031799A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015138152A1 (en) * 2014-03-10 2015-09-17 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005078580A1 (en) * 2004-02-06 2005-08-25 Intel Corporation Method for reducing energy consumption of buffered applications using simultaneous multi-threaded processor
US20100011366A1 (en) * 2008-07-10 2010-01-14 Blackwave Inc. Dynamic Resource Allocation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005078580A1 (en) * 2004-02-06 2005-08-25 Intel Corporation Method for reducing energy consumption of buffered applications using simultaneous multi-threaded processor
US20100011366A1 (en) * 2008-07-10 2010-01-14 Blackwave Inc. Dynamic Resource Allocation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEE B ET AL: "Dynamic voltage scaling techniques for power efficient video decoding", JOURNAL OF SYSTEMS ARCHITECTURE, ELSEVIER BV, NL, vol. 51, no. 10-11, 1 October 2005 (2005-10-01), pages 633 - 652, XP027702553, ISSN: 1383-7621, [retrieved on 20051001] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015138152A1 (en) * 2014-03-10 2015-09-17 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles
US9871741B2 (en) 2014-03-10 2018-01-16 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles
US10182018B2 (en) 2014-03-10 2019-01-15 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles

Similar Documents

Publication Publication Date Title
Xie et al. Energy-efficient fault-tolerant scheduling of reliable parallel applications on heterogeneous distributed embedded systems
US11720408B2 (en) Method and system for assigning a virtual machine in virtual GPU enabled systems
Mejia-Alvarez et al. Adaptive scheduling server for power-aware real-time tasks
US20230035451A1 (en) Resource usage prediction for deep learning model
US8689220B2 (en) Job scheduling to balance energy consumption and schedule performance
US9152443B2 (en) System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing
US8291411B2 (en) Dynamic placement of virtual machines for managing violations of service level agreements (SLAs)
US9043787B2 (en) System and method for automated assignment of virtual machines and physical machines to hosts
US8752059B2 (en) Computer data processing capacity planning using dependency relationships from a configuration management database
US20130339972A1 (en) Determining an allocation of resources to a program having concurrent jobs
CN111373372B (en) Assigning priorities to applications for diagonal scaling in a distributed computing environment
CN112801331B (en) Shaping of computational loads with virtual capacity and preferred location real-time scheduling
US9983907B2 (en) Resource-aware backfill job scheduling
US20220391253A1 (en) Method of resource management of virtualized system, electronic device and computer program product
CN112925587A (en) Method and apparatus for initializing applications
Quan et al. Scenario-based run-time adaptive MPSoC systems
US10162679B2 (en) Method and system for assigning a computational block of a software program to cores of a multi-processor system
CN108139929B (en) Task scheduling apparatus and method for scheduling a plurality of tasks
US10503548B2 (en) Resource and latency estimation-based scheduling in a distributed computing environment
WO2012031799A1 (en) A system to manage power consumption of a processor at run time
CN116962532A (en) Cluster task scheduling method and device, computer equipment and storage medium
US9766932B2 (en) Energy efficient job scheduling
Mariani et al. Arte: An application-specific run-time management framework for multi-core systems
US11665106B2 (en) Network-aware resource allocation
KR102022972B1 (en) Runtime management apparatus for heterogeneous multi-processing system and method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11735412

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11735412

Country of ref document: EP

Kind code of ref document: A1