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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
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
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
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.
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)
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)
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 |
-
2011
- 2011-07-12 WO PCT/EP2011/061833 patent/WO2012031799A1/en active Application Filing
Patent Citations (2)
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)
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)
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 |