Download T i

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Wireless power transfer wikipedia , lookup

Electric power system wikipedia , lookup

Electrification wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Pulse-width modulation wikipedia , lookup

Electrical ballast wikipedia , lookup

Power inverter wikipedia , lookup

Three-phase electric power wikipedia , lookup

Islanding wikipedia , lookup

Electrical substation wikipedia , lookup

Current source wikipedia , lookup

Ohm's law wikipedia , lookup

Resistive opto-isolator wikipedia , lookup

Rectifier wikipedia , lookup

Metadyne wikipedia , lookup

Triode wikipedia , lookup

History of electric power transmission wikipedia , lookup

Variable-frequency drive wikipedia , lookup

Power MOSFET wikipedia , lookup

Time-to-digital converter wikipedia , lookup

Voltage regulator wikipedia , lookup

Power engineering wikipedia , lookup

Distribution management system wikipedia , lookup

Opto-isolator wikipedia , lookup

Power electronics wikipedia , lookup

Buck converter wikipedia , lookup

Stray voltage wikipedia , lookup

Switched-mode power supply wikipedia , lookup

Surge protector wikipedia , lookup

Voltage optimisation wikipedia , lookup

Alternating current wikipedia , lookup

Mains electricity wikipedia , lookup

Transcript
Dynamic Voltage Scaling
CPU can run at different clock frequencies/voltage:
• Voltage scalable processors
• StrongARM SA-2
(500mW at 600MHz; 40mW at 150MHz)
• Intel Xscale
• AMD Mobile K6 Plus
• Transmeta
• Power is proportional to V2 x F
• Energy will be affected
(+) by lower power,
(-) by increased time
Dynamic Voltage Scheduling
Questions addressed by the scheduler:
• Which process to run
• When to run it
• How long to run it for
• How fast to run the CPU while it runs
Intuitive goal - fill “soft idle” times with slow computation
Background Work in DVS
• Interval scheduling
• Based on observed processor utilization
• “general purpose” -- no deadlines assumed by the
system
• Predicting patterns of behavior to squeeze out idle
times.
• Worst-case real-time schedulers (Earliest Deadline
First)
• Stretch the work to smoothly fill the period without
missing deadlines (without inordinate transitioning).
Interval Scheduling
(adjust clock based on past window,
no process reordering involved)
Weiser et. al.
• Algorithms (when):
• Past
Clock speed
• AVGN
• Stepping (how much)
• One
• Double
• Peg – min or max
• Based on unfinished
work during previous
interval
time
Implementation of Interval
Scheduling Algorithms
Issues:
• Capturing utilization measure
• Start with no a priori information about applications and
need to dynamically infer / predict behavior
(patterns / “deadlines” / constraints?)
• Idle process or “real” process – usually each quantum is
either 100% idle or busy
• AVGN: weighted utilization at time t
Wt = (NWt-1 + Ut-1) / (N+1)
• Inelastic performance constraints – don’t want to allow
user to see any performance degradation
Results
• It is hard to find any discernible patterns in “real”
applications
• Better at larger time scales (corresponding to larger windows
in AVGN ) but then systems becomes unresponsive
• Poor coupling between adaptive decisions of applications
themselves and system decision-making (example: MPEG
player that can either block or spin)
• NEED application-supplied information
• Simple averaging shows asymmetric behavior – clock
rate drops faster than ramps up
• AVGN may not stabilize on the “right” clock speed Oscillations
Earliest Deadline First
Dynamic algorithm
Priorities are assigned to tasks according to the deadlines
of their current request
With EDF there is no idle time prior to an overflow
For a given set of m tasks, EDF is feasible iff
C1/T1 + C2/T2 + … + Cm/Tm [ 1
If a set of tasks can be scheduled by any algorithm, it can
be scheduled by EDF
Intuition
C1 = 1
t1
Ti
Ti
t2
T2
time
C2 = 1
Intuition
C1 = 1
t1
Ti
Ti
t2
T2
time
C2 = 1
EDF-based DVS Algorithm
S
workj
j<=i
speed = MAX
i<=n
Exponential
moving average
deadlinei-currenttime
Sort in EDF order
Invoked when thread added or removed or deadline
reached
Includes non-runnable in scheduling decision
Relationships
Power (watts) = Voltage (volts) * Current (amps)
Power (watts) = Energy (Joules) / Time (sec)
Energy (Joules) = Power (watts) * Time (sec)
Energy (Joules) = Voltage (volts) * Charge (coulombs)
Current (amps) = Voltage (volts) / Resistance (ohms)