Saturday, February 16, 2013
WIRELESS AND PORTABLE DEVICES DEPEND ON???
Many wireless and portable devices depend on the limited power supplied by the battery. Dynamic voltage scaling
(DVS) is an effective method to increase battery life by reducing the power consumption of a processor. Specifically,
DVS reduces the energy consumption of a CMOS processor
by dynamically controlling its supply voltage. The power
consumed per CPU cycle can be expressed as P = kCV
2
f,
where k is a constant, C the total capacitance of wires and
transistor gates, V the supply voltage, and f the clock frequency. DVS technology has already been incorporated into
many processors produced by companies including Transmeta, AMD, and Intel.
Changing a processor’s supply voltage also changes its
speed, since the relationship between clock frequency and
supply voltage is f ∝ (V − Vt)
2
/V , where Vt is the
threshold voltage. As a result, DVS may hurt the performance of some systems in a significant way, in particular, real-time systems where some deadlines are hard. In
past work, many algorithms have been proposed to apply
DVS to general purpose and soft real-time systems only,
Applying DVS to hard real-time systems is more diffi-
cult. When a DVS algorithm reduces CPU speed to save
energy, it must guarantee that all jobs still meet their deadlines. In the past few years, a large number of algorithms are
proposed, e.g., [23, 8, 9, 10, 21, 1, 11, 5, 6, 18, 19, 25, 12,
20, 24]. Although these algorithms have demonstrated the
benefits of applying DVS to hard real-time systems, they
generally only apply to some specific real-time scheduler.
There has not been any algorithm designed to work with
different real-time schedulers.
The objective of this paper is to propose an integrated
approach for applying DVS to hard real-time systems. Using this approach, we derive unified algorithms that work
with different real-time schedulers. We illustrate the generality of the approach by applying it to RM and EDF schedulers; we shall derive the optimal off-line DVS algorithms
for these real-time scheduling policies.
Specifically, we shall propose the definition of two functions: the available cycle function (ACF) and the required
cycle function (RCF). The values of these two functions are
derived from the parameters of the task set and the scheduling policy used to dispatch the tasks of the system. These
functions help us to capture the workload of a real-time system by characterizing an envelope: they constrain the range
of a speed function so that if the CPU executes at the speed
defined by the function, then there is no idle cycle and no
job misses its deadline.
Using ACF and RCF, we formulate the energy minimization problem as a constrained nonlinear optimization problem. We prove that for strictly convex power functions,
which are the case for all known power models, we can
simplify the formulation of the problem. We propose an
algorithm to solve the problem and to derive the optimal
speed function that minimizes energy consumption. The algorithm is shown to work with both EDF and RM.
Since the static algorithm is based on the worst-case budget, we also propose a novel, online, dynamic algorithm to
reclaim slack cycles which are generated by early completion of jobs; by a job, we mean an instance of a recurring
task (periodic or otherwise) in a schedule. The dynamic algorithm lowers CPU speed whenever slack cycles are available; the new speed will not cause any missed deadline or
extra idle cycles. The time complexity of the algorithm is
O(1). Furthermore, the algorithm may trade runtime cost
for energy savings. It can be improved, with added complexity so that an optimal CPU speed solution is always
found at any time. Again, the dynamic algorithm works
with both EDF and RM.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment