GB2446830A - Voltage frequency profile for a processing resource - Google Patents

Voltage frequency profile for a processing resource Download PDF

Info

Publication number
GB2446830A
GB2446830A GB0703484A GB0703484A GB2446830A GB 2446830 A GB2446830 A GB 2446830A GB 0703484 A GB0703484 A GB 0703484A GB 0703484 A GB0703484 A GB 0703484A GB 2446830 A GB2446830 A GB 2446830A
Authority
GB
United Kingdom
Prior art keywords
profile
frequency
processing resource
accordance
voltage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0703484A
Other versions
GB0703484D0 (en
GB2446830B (en
Inventor
Anthony Craig Dolwin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Europe Ltd
Original Assignee
Toshiba Research Europe Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Research Europe Ltd filed Critical Toshiba Research Europe Ltd
Priority to GB0703484A priority Critical patent/GB2446830B/en
Publication of GB0703484D0 publication Critical patent/GB0703484D0/en
Priority to US11/955,846 priority patent/US20080209238A1/en
Priority to JP2008040776A priority patent/JP2008234638A/en
Publication of GB2446830A publication Critical patent/GB2446830A/en
Application granted granted Critical
Publication of GB2446830B publication Critical patent/GB2446830B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable 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
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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
    • 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

Abstract

DVS or Dynamic Voltage Scaling control is established by determining a voltage frequency profile for a processing resource completing a task within a timing deadline. The voltage frequency profile is determined by way of constraining the available operating frequency to a number of discrete permitted predetermined operating frequencies. In one embodiment, acceptance of the voltage frequency profile is carried out by determining if the processing resource will carry out a task within an acceptable time period. In one embodiment, this is assessed by reference to a worst case cycle count for the task concerned. In one embodiment the length of each phase is determined by way of a cycle count vector representing the probability distribution function (PDF) for the number of cycles required for the function to complete.

Description

Controller for Processing ADparatuS The present invention is concerned
with control of processing apparatus, and is particularly, but not exclusively, concerned with control of a CMOS based integrated circuit.
It is well known that the maximum operating frequency of CMOS technology increases generally with supply voltage. Using this, power consumption of a CMOS device can be controlled by operating the device at the lowest clock frequency permitted for a particular operating requirement and taking the opportunity arising from this to limit supply voltage. This has been achieved in the prior art by fixing the supply voltage and clock frequency at the time of designing a circuit incorporating a CMOS device.
More recently, the concept of dynamically adjusting the voltage and frequency has been introduced, for instance in "Hard Real-Time Scheduling for Low-Energy Using Stochastic Data and DVS Processors" (Flavius Gruiari, International Symposium on Low Power Electronics and Design, Huntington Beach (CA), US, August 6-7, 2001 (revised Sept 2001)) and "PACE: A new approach to dynamic voltage scaling" (Jacob R. Lorch, Alan Jay Smith, IEEE Transactions on Computers, Vol. 53, No. 7, July 2004).
This is known as Dynamic Voltage Scaling (DVS). DVS has been used in applications such as a PC where real-time deadlines are not required, for instance in "System level adaptive framework for power and performance scaling on Intellspl regl PXA27x processor" (Vaidya, P.N.; Khan, M.H.; Morgan, B.; Sakarda, P., Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing, 18-23 March 2005, Vol. 5, Page(s):v/657-v1660).
A particular area of interest is the implementation of DVS techniques in real-time applications. An example application would be a handheld telecommunication device such as a 3G mobile phone.
The signal processing required by telecommunication equipment can often be defined as a sequence of operations on one or more blocks of data. In the past, these operations were relatively simple but more recently the algorithms associated with these operations have become more complicated and tend to have variable complexity. In addition, with the introduction of software defined radio and cognitive radio into such equipment, operations can also change dynamically to match prevailing conditions.
This level of variability introduces a number of difficulties when designing such a system especially when hard real time deadlines must be met while still achieving low power consumption. Traditionally, the designer of a CMOS ASIC would specif' the components to implement the maximum complexity envisaged. To do this, the worst case complexity would be estimated and then clock frequencies and supply voltages would be specified to match. This approach can be more power hungry than the ideal, because average complexities in use of the device over time may be significantly lower than the worst case.
Adaptive Dynamic Voltage Scaling addresses this problem by monitoring the complexity of an operation and then altering the supply voltage and frequency during future executions of the operation to ensure power consumption is kept under control while still achieving the required timing deadlines.
The concept of adjusting the operating frequency and voltage has been outlined by Lorch and Smith (see above). In that paper, the technique used to do this is known as the PACE (Processor Acceleration to Conserve Energy) algorithm. Gruian (see above) also describes a similar idea.
UK Patent Application GB24 I 0344A describes a specific method for calculating the voltage profile where a discrete number of frequency steps (or phases) are supported but with no constraint on the granularity of the frequency value.
In patent US20050132238A1 a range of metrics (including cycle count) is described.
These metrics are used to determine the future setting of the clock frequency. The calculation of the clock frequency is achieved using a look up table. However, this method does not describe how, in a real-time system, hard deadlines can be met; further, it does not discuss altering the clock frequency during execution of a task to ensure that deadlines are met.
US713 1015 is a high level description of technology termed "Intelligent Energy Manager" by the applicant thereof. That document describes how an operating system can be used to determine performance requirements in a system where asynchronous processing requests occur, for instance the depression of a mouse button to initiate a function in a program. It then describes how, in general, these performance requirements can be interpreted into a generic performance request on the processor. A more detailed implementation description is given in "Automatic Performance-setting for Dynamic Voltage Scaling" (Flautner et al., Proceedings of the International Conference on Mobile Computing and Networking, July 2001).
As an example of the type of arrangement known from the prior art, Figure 1 illustrates schematically a controller 10 for a processor (not shown). The controller comprises a cycle count store 12, which monitors processor activity in connection with tasks assigned to the processor, in accordance with voltage frequency profiles established by the controller 10. A statistics module 14 records this activity. The statistics module also receives as an input the worst case cycle count (wccc), which is provided for the task in question by the computer programmer. Statistics (Cl, C2) are passed to a voltage profile calculator 16, which calculates an appropriate voltage frequency profile with respect to a timing deadline Td also supplied by the computer program, and the input statistics (Cl,C2).
The voltage profile calculator 16 outputs frequency and time profile criteria which are passed to a clock frequency dispatcher 18. The clock frequency dispatcher converts the frequency and time profile information into clock frequency information to configure a DVS control unit 20. The DVS control unit 20 finally converts the clock frequency information into a supply voltage VCC and a system clock signal. These are then used to drive the processor.
Earlier work assumed the clock frequency could be controlled accurately while in practise some platforms may only offer as little as 4 clock frequencies. If the methods described in the prior art are used in a system using quantised VF values the calculated VF would have to be directly quantised and this would result in an inefficient profile.
An aspect of the present invention provides a method of controlling a processing resource, said processing resource being controllable by way of supply voltage and clock frequency, the method comprising defining an operating profile comprising one or more operating phases, each phase being defined by way of operation of said processing resource for a selected period at an operating frequency being a member of a set of permitted operating frequencies and setting operating voltage during each phase corresponding to said selected operating frequency.
In general terms, an aspect of the invention concerns controlling a processing resource such that said processing resource is operated at an operating frequency selected from a constrained set of pre-determined values.
Another aspect of the invention provides a method of determining an operation profile for a processing resource, comprising recording history of operational complexity and, on the basis of said history, calculating said operation profile, said profile being determined from a finite set of available clock frequencies. Preferably, said operation profile defines maximum durations allowed at each frequency.
Another aspect of the invention provides a method of determining a voltage frequency profile for performance of a function at a processing resource in accordance with dynamic voltage scaling, the profile comprising a plurality of phases, wherein in each phase the profile defines a frequency value, selected from a set of pre-determined frequency values, at which said processing resource is to operate for that phase.
In one embodiment of this aspect of the invention, the length in time of each phase is determined by way of a cycle count vector representing the probability distribution function (PDF) for the number of cycles required for the function to complete. The PDF may be calculated from monitoring the number of cycles required to complete the function in the past and incrementing a counter associated with a range of values. The counters may be scaled according to the number of times the function has executed to get a probability density value for each range.
In one embodiment of this aspect of the invention, in each phase the profile defines an operation voltage at which the processing resource is to be driven. The voltage may be a supply voltage and/or a bias voltage.
In another embodiment of this aspect of the invention, the cycle count is transformed into a duration by multiplying the length of each phase in cycle counts by the clock period associated with that phase.
Another aspect of the invention provides DVS control by determining a voltage frequency profile for a processing resource completing a task within a timing deadline.
In this aspect of the invention, the voltage frequency profile is determined by way of constraining the available operating frequency to a number of discrete permitted operating frequencies. In one embodiment, acceptance of the voltage frequency profile is carried out by determining if the processing resource will carry out a task within an acceptable time period. In one embodiment, this is assessed by reference to a worst case cycle count for the task concerned.
Aspects of the present invention can be incorporated into any low power equipment supporting reconfigurable functionality or functions with variable complexity and hard timing constraints. These can include embedded processors, system-on-a-chip (SoC), laptop computers, and communication equipment. Further, the invention can be implemented by way of software, for instance as a reconfiguration of an existing DVS hardware based controller. This can be provided as a download such as on a signal, or as a product introduced on a storage medium.
A specific embodiment of the invention will now be described, with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram of a DVS controller in accordance with a prior art
example;
Figure 2 is a schematic diagram of a processing apparatus in accordance with a specific embodiment of the invention, including a DVS controller; Figure 3 is a schematic diagram of a DVS controller in accordance with a specific embodiment of the invention; Figure 4 is a schematic diagram of a voltage profile calculator of the DVS controller illustrated in figure 3; Figure 5 is a phase diagram illustrating a voltage frequency profile for the specific embodiment of the invention; Figure 6 is a graph illustrating calculation of the voltage frequency profile in comparison with an ideal voltage frequency profile for a given exemplary task; and Figure 7 is a schematic diagram of a processing apparatus in accordance with a further specific embodiment of the invention.
The specific embodiment of the invention now described illustrates how the voltage-frequency (VF) profile for a task or function executing on platform supporting DVS can be calculated for quantised voltage-frequencies. This approach assumes only a limited number of operating frequencies can be used and then the algorithm described below calculates the duration for which the circuit stays in each frequency phase.
In this disclosure, "VF profile" refers to the maimer in which the frequency of the clock supplied to a processing module, and therefore the associated supply voltage, is altered during the execution of a function. In practical implementations, the profile always starts at a low frequency (and low voltage) and increases with time. "Frequency Phase" refers to a period in time during which the circuit is operating at a fixed clock frequency and an associated supply voltage. Phase 1 uses TQ(1), phase 2 uses TQ(2) and phase N uses TQ(N), where there are N phases and TQ(X)> TQ(X+l), and where TQO refers to the clock period of the clock of the processing module.
A typical computer hardware apparatus 100 is illustrated in Figure 2. This apparatus could be provided on a mobile telephone handset, or any other hardware device in which in which power consumption is an important issue for user acceptability and operability. The hardware apparatus 100 comprises a processor 110, which is illustrated in the present example as being configured by the number of software components. It would be appreciated by the reader that this is for illustrative purposes, and that memory means of various types will inevitably be provided in order to allow this to happen. The processor is configured by an operating system kernel 112, which supports a scheduler 114, a voltage profile calculator 116, a statistics module 118 and a dispatcher 120. A task 130 is also to be executed by the processor 110. Use of the scheduler 114, the voltage profile calculator 116, the statistics module 118 and the dispatcher 120 will be further described in due course with reference to the DVS controller to be described.
The hardware apparatus further comprises a counter 140, configurable by a clock signal generated by DVS controller 142, and further a timer 144. The timer 144 is operable to generate an interrupt to the processor 110 as required.
Figure 3 illustrates implementation of the DVS controller 142, in conjunction with various of the software modules indicated in Figure 2. As appropriate, these are given the same reference numerals to aid correspondence between the two figures. These are given the corresponding reference numerals in Figure 3.
The example in figure 2 is merely one example of use of a DVS in accordance with the specific embodiment of the invention as described above. In the arrangement illustrated in figure 2, a suitable processor is the ARM1 176 processor, developed by ARM Ltd. of Cambridge, U.K. This is an example of a processor which supports a real-time multitasking operating system. The product is suitable for incorporation into a mobile telephone handset and so, one of the tasks it would support would be a voice codec (namely a vocoder).
A vocoder is normally implemented by way of a software module, and in this example is downloaded as required by the service supplier, and so vocoders of varying complexity can be available. The OS platform would supply a cycle counter which could be read at the start and end of execution of a task so that the number of cycles required to complete a given task can be calculated. Using this information as well as the following data embedded into the software module by the programmer: The worst case cycle count (wccc), and The timing deadline (Td), the Operating System would calculate, after the vocoder is executed, the voltage -frequency (VF) profile for the next time the task is executed. When the OS next schedules the vocoder task it would first read the VF profile and configure a low level interrupt routine to interrupt at the appropriate intervals corresponding to each phase and modif' the operating frequency (and hence the supply voltage). The vocoder would then be loaded onto the processor and executed (Figure 2).
It will be appreciated that the wccc measure is a characteristic of the specific vocoder being implemented, and different vocoders can have different wccc values.
The VPC 116 calculates when to switch from one phase to the next, where each phase corresponds to a fixed clock period (frequency). Each phase operates at a smaller clock period (i.e. higher frequency) than the previous phase. The VPC takes a probability
F
distribution function, H (pdf) as its input. The pdf can be calculated dynamically based on past cycle counts or can be derived from the known characteristics of the function.
F
The H is a vector where each element corresponds to the probability that the cycle count will be in the range of the associated bin. From this pdf, the cumulative
F
distribution function (cdt) is calculated, and then a Normalized Profile (P): cdfF(j)=HF(i) () P?=3jl-cdf1 (2)
F F
A scaling factor, T max' is then calculated based on the profile (P), the bin sizes (b) and the timing deadline I deadline -TdCQd/.
max -j..N "pF(J) x (b(j) -b(j -1)) j=2
F
max is the ideal maximum cycle penod for this profile. The actual clock penod that will be used is then calculated, based on the quantised values in TQ. The index into TQ which identifies the cycle period, IFm is found by testing each valu: in TQ. starting at the largest value, to find a cycle period that is equal to or less than T max: ax = findlndexfrQ = (4) (5) The remainder of the actual clock cycle values (TQ) are then transformed into a Normalized Profile Value by the following algorithm: repeal: c=o N=O (6) Ta=O T(k) C(k)= (7) N(k) = cinverse(C(k),pb') (8) 7' -7(k)xN(k) (9) for:s=k+1:l:steps (10) C(s-1)xT (s) C(s)= (11) TQ(S-l) N(s) = cinverse(C(s),pF) (12) T (s)=7'Q(s_l)+TQ(s)x(N(s)_N(s_l)) (13) end k=k+l (14) until: worstCycle(7., 7) = wccc In the above algorithm: N is the number of cycle count values per frame bO) is the upper limit of bin rangej steps is the number of discrete operating frequencies (cycle periods) supported by the silicon device concerned; TQ (1)..(steps) is a vector of all possible cycle period values supported by the silicon device concerned; Tdeadline is a scalar value representing a timing deadline for a task to be completed by the silicon device; H'(1)..(nbin-l) is a pdf vector of cycle counts for frame F; cdf Fi1) (nbin-1) is the cumulative distribution function (cdl) vector for cycle counts for frame F; pF(1) (nbin-l) is the calculated normalized cycle period profile vector following frame F; T is the ideal maximum cycle period value calculated after frame F; Jindlndex(TQ = r,) returns an index for a value in the TQ vector which is closest to T but which is smaller than or equal in value. max
i is the index into the TQ vector to the cycle period closest to the calculated maximum value; C(l)..(steps) is a vector of profile values calculated from I (see figure 5); N(1)..(steps) is a vector of cycle counts corresponding to the maximum cycle count (from the start) for each phase, where each phase corresponds to a cycle period in TQ (see figure 5); TQ (1). .(steps) is a vector of completion times for each phase, where each phase corresponds to a cycle period in TQ (see figure 5); nbin is the number of bins; cinverse(C(s), PF) returns cycle count associated with bin in that has a value that is closest to C(s). When C(s) is between two bins, the one with the lowest cycle count is returned.
worstCycle(T, TQ) calculates the maximum number of cycles that will be executed in the time deadline, (Tdeadline)
F
By this algonthm, the cycle count vector H (pdf) is transformed into a Normalized
F
Profile (P) vector. The Normalized Profile defines the clock period relative to the maximum value used at the start of the execution. A normalized clock profile value is derived from a list of quantised clock frequencies, TQ and the timing deadline Tdeaciline
F
(equations 3 and 7). This value is then used with the Normalized Profile vector P to calculate the number of cycles (N) from the start when the circuit must switch from this clock period to the next smaller clock period (equations 8 & 12). This is in essence calculating the inverse, that is the maximum number of cycles for which the Circuit can operate at this clock frequency. The quantised clock periods are ordered, so they start at the longest and progressively get smaller.
F
The algorithm is used to search through the profile data structure (P) to ascertain the maximum number of cycles for which the system clock can stay in the present clock period (which is the inverse of clock frequency). This is depicted in Figure 5 and is represented mathematically in equations 6 to 14 above. The calculated cycle count is the latest count, following the start, at which the circuit must switch to the next shortest clock period. Using the cycle Counts for previous clock periods as well as the cycle period itself, the transition time between successive quantised clock periods can be calculated, as in equation 13.
After the profile has been calculated, it is tested to determine if sufficient cycles will be executed (i.e. wccc) in the time deadline specified Tdeadline It is possible in some implementations this will not happen. If this is the case, the calculation is repeated, but starting with the next lowest quantised clock period in TQ as the value for the first phase.
Figure 7 illustrates a further example of use of this specific embodiment of dynamic voltage scaling. This approach, similar to that used in figure 2, can be used where the task in question is implemented by a hardware accelerator. For example, a DSP can be used to implement a vocoder, to use the same example. The control processor illustrated then monitors the cycles used by the accelerator to complete the task and then subsequently modifies the operating frequency and voltage of the hardware accelerator only.
The illustrated hardware apparatus 200, as for the apparatus 100 in figure 2, comprises a processor 210 executing an operating system kernel 220 on which are supported scheduler 214, voltage profile calculator 216 and statistical module 218 software modules, cooperating with a DVS controller 242. The DVS controller 242 operates in conjunction with a counter 240 and a timer 244 as previously, with the timer 244 sending interrupts to the processor 210 as required in order to cause execution of the various aforementioned software modules.
The vocoder, in accordance with the previous example, is in this embodiment implemented in hardware, specifically a hardware accelerator 250, in conjunction with a level converter 252, to ensure interoperability between the hardware accelerator 250 (which may be a digital signal processor) and the aforementioned processor 210.
In this embodiment, the DVS controller 242 sends CLK and VCC signals to the hardware accelerator 250, on the basis of monitoring, by the control processor 210 of the operation of the hardware accelerator 250. The monitoring is carried out by the processor 210 on the basis of the STATMOD' or statistical module 218 executed thereby.
The invention has been illustrated by means of two examples of implementation of a vocoder, one by means of an application specific hardware arrangement (figure 7) and the other by way of a software enabled configuration of a more general purpose hardware apparatus (figure 2). However, it will be appreciated that the invention is not constrained or limited to specific features of the described embodiments and that other implementations, in hardware, software or a mixture of both, could also be provided.
Moreover, the invention should not be considered as limited to apparatus, or a method for performance on such apparatus, and can be considered as relating to a method in general terms, for performance on any suitable apparatus. It can also be considered to relate to software products, such as would be implemented on a storage medium or a signal, for reception by and execution on suitable processing apparatus.
The scope of protection should, in the first instance, be considered as defined in the appended claims which are to be read in conjunction with, but not limited by, the above
description and accompanying drawings.

Claims (16)

  1. CLAIMS: 1. A method of controlling a processing resource, said
    processing resource being controllable by way of supply voltage and clock frequency, the method comprising defining an operating profile comprising one or more operating phases, each phase being defined by way of operation of said processing resource for a selected period of time at an operating frequency being a member of a set of permitted operating frequencies and setting operating voltage during each phase corresponding to said selected operating frequency.
  2. 2. A method of controlling in accordance with claim 1, wherein said method comprises operating said processing resource an operating frequency selected from a constrained set of pre-determined values.
  3. 3. A method of determining an operation profile for a processing resource, comprising recording history of operational complexity and, on the basis of said history, calculating said operation profile, said profile being determined from a finite set of available clock frequencies.
  4. 4. A method in accordance with claim 3 wherein said operation profile defines maximum durations allowed at each frequency.
  5. 5. A method of determining a voltage frequency profile for performance of a function at a processing resource in accordance with dynamic voltage scaling, the profile comprising a plurality of phases, wherein in each phase the profile defines a frequency value, selected from a set of pre-determined frequency values, at which said processing resource is to operate for that phase.
  6. 6. A method in accordance with claim 5, wherein the length in time of each phase is determined by way of a cycle count vector representing the probability distribution function (PDF) for the number of cycles required for the function to complete.
  7. 7. A method in accordance with claim 6 wherein the PDF is calculated from monitoring the number of cycles required to complete the function in the past and incrementing a counter associated with a range of values.
  8. 8. A method in accordance with claim 6 or claim 7 wherein the step of determining the length of time in each phase comprises a profile calculation step in which it is determined whether execution of a worst case cycle count can be completed within a specified timing deadline and, if it is determined that said execution cannot be completed, repeating said calculation step over a reduced subset of permitted operating frequencies.
  9. 9. A method in accordance with claim 8 wherein said reduced subset includes all permitted operating frequencies considered in the preceding performance of the calculation step except for the lowest frequency considered in the preceding performance of the calculation step.
  10. 10. A method in accordance with claim 8 or claim 9 wherein said calculation step is repeated until said worst case cycle count is capable of being performed in accordance with the calculated voltage frequency profile within the specified timing deadline.
  11. 11. A method in accordance with any of claims 6 to 10 including transforming the cycle count vector into a duration by multiplying the length of each phase in cycle counts by the clock period.
  12. 12. A method in accordance with any one of the preceding claims wherein, in each phase, the profile defines an operation voltage at which the processing resource is to be driven.
  13. 13. A method in accordance with claim 12 wherein the voltage is a supply voltage and/or a bias voltage.
  14. 14. A DVS controller for controlling a processing resource, said processing resource being controllable by way of supply voltage and clock frequency, the controller comprising profile definition means operable to define an operating profile comprising one or more operating phases, each phase being defined by way of operation of said processing resource for a selected period of time at an operating frequency being a member of a set of permitted operating frequencies and voltage setting means operable to set operating voltage of a processing resource during each phase corresponding to said selected operating frequency.
  15. 15. A computer comprising a processor means and a DVS controller, the DVS controller being operable to control the processor means by way of operating frequency and/or supply voltage, the controller being operable in accordance with any one of claims ito 13.
  16. 16. A computer program product for configuring a general purpose computer with a DVS facility, to configure said DVS facility to operate in accordance with any one of claims Ito 13.
GB0703484A 2007-02-22 2007-02-22 Controller for processing apparatus Expired - Fee Related GB2446830B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB0703484A GB2446830B (en) 2007-02-22 2007-02-22 Controller for processing apparatus
US11/955,846 US20080209238A1 (en) 2007-02-22 2007-12-13 Controller for processing apparatus
JP2008040776A JP2008234638A (en) 2007-02-22 2008-02-22 Controller for processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0703484A GB2446830B (en) 2007-02-22 2007-02-22 Controller for processing apparatus

Publications (3)

Publication Number Publication Date
GB0703484D0 GB0703484D0 (en) 2007-04-04
GB2446830A true GB2446830A (en) 2008-08-27
GB2446830B GB2446830B (en) 2009-08-26

Family

ID=37945572

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0703484A Expired - Fee Related GB2446830B (en) 2007-02-22 2007-02-22 Controller for processing apparatus

Country Status (3)

Country Link
US (1) US20080209238A1 (en)
JP (1) JP2008234638A (en)
GB (1) GB2446830B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014173631A1 (en) * 2013-04-26 2014-10-30 Siemens Aktiengesellschaft A method and a system for reducing power consumption in a processing device

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4582466B2 (en) 2008-09-12 2010-11-17 アルプス電気株式会社 Motor control device
FR2943806A1 (en) * 2009-03-31 2010-10-01 Inst Nat Rech Inf Automat DEVICE FOR CONTROLLING POWER SUPPLY OF A COMPUTER
US8423799B2 (en) * 2009-11-30 2013-04-16 International Business Machines Corporation Managing accelerators of a computing environment
US8776066B2 (en) * 2009-11-30 2014-07-08 International Business Machines Corporation Managing task execution on accelerators
FR2989797B1 (en) 2012-04-24 2014-12-26 Kalray REDUCING THE ELECTRICAL CONSUMPTION OF A PROCESSOR MATRIX
CN103685541B (en) * 2013-12-23 2016-10-05 重庆广播电视大学 IaaS cloud system operating rate device for controlling dynamically, system and method
CN103744502B (en) * 2013-12-31 2016-01-27 东软集团股份有限公司 Determine method and the device of the threshold frequency of embedded system
KR102278475B1 (en) 2014-10-14 2021-07-19 삼성전자주식회사 Electronic apparatus and controlling method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2410344A (en) * 2004-01-26 2005-07-27 Toshiba Res Europ Ltd Power saving in a processor by controlling the voltage or clock in dependence on the distribution of cycle times

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2410344A (en) * 2004-01-26 2005-07-27 Toshiba Res Europ Ltd Power saving in a processor by controlling the voltage or clock in dependence on the distribution of cycle times

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE Transactions on Industrial Informatics, Vol 3, No 1, posted online 12/02/07, Marinoni and Buttazzo, "Elastic DVS Management in Processors With Discrete Voltage/Frequency Modes", pages 51-62, see section entitled 'Algorithm Description *
International Symposium on Low Power Electronics and Design, 2001, Flavius Gruian, "Hard Real-Time Scheduling for Low-Energy Using Stochastic Data and DVS Processors", pages 46-51, see page 48 paragraph 3 and section 2.3 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014173631A1 (en) * 2013-04-26 2014-10-30 Siemens Aktiengesellschaft A method and a system for reducing power consumption in a processing device

Also Published As

Publication number Publication date
GB0703484D0 (en) 2007-04-04
JP2008234638A (en) 2008-10-02
US20080209238A1 (en) 2008-08-28
GB2446830B (en) 2009-08-26

Similar Documents

Publication Publication Date Title
GB2446830A (en) Voltage frequency profile for a processing resource
Mejia-Alvarez et al. Adaptive scheduling server for power-aware real-time tasks
Buttazzo et al. Adaptive workload management through elastic scheduling
Lorch et al. Improving dynamic voltage scaling algorithms with PACE
JP4123640B2 (en) Information processing system and control method thereof, task allocation control method and control apparatus, and program providing medium
CN103890694A (en) System and method for managing clock speed based on task urgency
US9678529B2 (en) Efficiency-based clock frequency adjustment
Raghunathan et al. Adaptive power-fidelity in energy-aware wireless embedded systems
US7360216B2 (en) Method and system for real-time multitasking
Mochocki et al. A unified approach to variable voltage scheduling for nonideal DVS processors
EP1557743A2 (en) Dynamic voltage controller
Bassiri et al. Mitigating reconfiguration overhead in on-line task scheduling for reconfigurable computing systems
Ali et al. A dynamic power-aware scheduling of mixed-criticality real-time systems
Liu et al. An integrated approach for applying dynamic voltage scaling to hard real-time systems
Quan et al. Energy efficient dvs schedule for fixed-priority real-time systems
Melhem et al. Power management points in power-aware real-time systems
Kohútka et al. ASIC architecture and implementation of RED scheduler for mixed-criticality real-time systems
EP3935502A1 (en) Virtual machines scheduling
Wu et al. CPU scheduling for statistically-assured real-time performance and improved energy efficiency
Huang et al. Bi-directional timing-power optimisation on heterogeneous multi-core architectures
Hua et al. Exploring the probabilistic design space of multimedia systems
US9092263B2 (en) Method for generating an optimised hardware/software partitioning of embedded systems using a plurality of control appliances
KR100956639B1 (en) Power reducing system for computing device and the method thereof
Schmitz et al. Synthesizing energy-efficient embedded systems with LOPOCOS
Zhang et al. Power-aware processor scheduling under average delay constraints

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20140222