290 likes | 422 Views
Power-aware scheduling. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 321 DK2800 Lyngby, Denmark Jan@imm.dtu.dk. Mission critical embedded systems. Based on work by J. Liu, P.H. Chou, N. Bagherzadeh, F. Kurdahi
E N D
Power-aware scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 321 DK2800 Lyngby, Denmark Jan@imm.dtu.dk
Mission critical embedded systems • Based on work by • J. Liu, • P.H. Chou, • N. Bagherzadeh, • F. Kurdahi • University of California, Irvine • CODES’01 & DAC’01 Jan Madsen
Mars Rover – Mission • Perform experiments • Autonomous mobile vehicle • Alpha proton X-ray spectrometer • Imaging • Travel between different target locations Jan Madsen
Mars Rover – Conditions • Surface temperature [-40 oC; -80 oC] • Communication ~ 11 minute • No real-time control • Supervised autonomous control Jan Madsen
Mars Rover - System composition • CPU • 3 images per day • Motors • 60 cm per min • Hazard detection • Heaters • -80 oC requires motors to be heathed Jan Madsen
Mars Rover – Power? • Power sources • Battery (non-rechargeable) • Solar panel (free) • Power consumers • Digital: imaging, communication, control • Mechanical: driving, steering • Thermal: heating motors in the low-temperature environment Jan Madsen
System-level power manager • Amdalhs’ law applies to power • Power savings of a component is scaled to its contribution to power usage of the whole system • If a component draws 2% of the power in a system, a 50% power reduction amounts to 1% saving to the system • The power manager must consider all power consumers in the entire system and identify the major power consumers Jan Madsen
System-level power manager • System-level power consumers • (Digital) computation domain • Processors, memory, I/O, ASIC • Non-computation domains • Mechanical: motors • Thermal: heaters • Major power consumers: mechanical and thermal Jan Madsen
Power-aware vs. low-power • Low-power • Minimize power usage • Just enough power to meet performance requirement • No distinction between costly power and free power • Component-level power managers • Power-aware • Best use of available power • Minimize power usage with low power budget • Deliver high performance with high power budget • Distinguish different models of power sources • Battery, solar, nuclear, etc. • Track variant power availability • System-level power managers Jan Madsen
Low-power scheduling • Shutting down subsystems • Variable-voltage processor scheduling • Limited applicability to power-aware designs • Timing constraints are not strongly guaranteed • Power usage is handled as a by-product • No tracking to power availability • No distinction to different energy sources Jan Madsen
p1 r1 r1 p2 r1 p3 r1 idle r1 idle p1 p2 p3 r1 idle Low-power scheduling - Example r1 r1 r1 Jan Madsen
Power-aware scheduling • Min/max timing constraints on tasks • Min timing constraint • Subsumes precedence as special cases • Max timing constraint • Subsumes deadline as special cases • Min/max power constraints on the system • Max power constraint • Total power budget from the available sources • Hard constraint, must be guaranteed • Min power • Free power (solar), minimize power jitter • soft constraint, best effort Jan Madsen
Vertices V: tasks d(v), execution delay p(v), power consumption r(v), resource mapping Edges E: timing constraints Forward edge: min constraint Backward edge: max constraint Constraint graph G(V, E) Jan Madsen
Schedule Time assignments to tasks Finish time Timing-valid schedule Timing constraints satisfied No resource conflict Constraint graph G(V, E) Jan Madsen
Time view Bins – tasks Horizontal axis – start time, duration Vertical axis – power Tracks – parallel resources Power view Power profile Power constraints Power properties Spikes, gaps Energy cost Utilization Power-aware Gantt chart Jan Madsen
Mars Rover - Exercise Jan Madsen
Power sources & tasks Duration (sec.) Power @ -40 oC Power @ -60 oC Power @ -80 oC Solar panel 17 14 11 Battery pack 8 max 8 max 8 max CPU Constant 2 3 4 Heating two motors 5 8 10 12 Driving 10 8 11 14 Steering 5 4 6 8 Hazard detection 10 3 4 5 Mars Rover - Exercise Jan Madsen
Hd St Dr HW12 HW34 HW56 HS12 HS34 CPU Power 9 9 16 16 16 16 16 12 18 18 9 9 12 18 18 Mars Rover - Solution Worst case at –80 oC Jan Madsen
Power profile P(t) System-level power consumption curve Power constraints Max power constraint Pmax Power Spike: max power constraint violation Min power constraint Pmin Power Gap: min power constraint violation Power-validity A timing-valid schedule with no power spikes Enforce max power budget Min power utilization (Pmin) Energy utilization from free sources Energy cost Ec(Pmin) Energy drawn from expensive (non-free) sources Power-aware trade-off Performance vs. Energy cost Ec(Pmin) Power properties Jan Madsen
Pmax P(t) Pmin (11 x 75) – (2 x 2 x 10) (11 x 75) 5x25+5x1+10x7+5x1+10x7 75 Mars Rover – Power profile 20 10 (Pmin) = = 95.2 % Ec(Pmin) = = 3.4 Jan Madsen
Mars Rover – the real thing! • Timing constraints • Three cases w/ different power constraints • Max power: • solar + 10W • Min power • solar, free • Best: 14.9W • Typical: 12W • Worst: 9W Jan Madsen
Best case Fast, low cost Typical case Slower, increased cost Worst case Slower, high cost Same as the existing serial schedule Scheduling results Jan Madsen
Existing low-power schedule Low performance Low energy cost Under-utilized free solar power Does not track power sources Full serialization by hand-crafting Power-aware schedules High performance High energy cost Improved utilization of solar power Tracks available power from different sources Fully constraint-driven by an automated design tool Comparisons to schedules Jan Madsen
Scenario Mission: travel to a target 48 steps away Existing low-power schedule Fixed slow speed Low energy cost in each phase, but high energy cost in worst case Low performance, high energy cost 3 phases: best, typical, worst, 10 min each Power-aware schedules Accelerated speed by tracking available power Finish earlier before working in the worst case High performance, low energy cost Comparisons in a scenario Jan Madsen
Conclusion • Power-aware design • Different from low-power • Deliver high performance by tracking power sources • Power-aware schedulers • Incremental scheduling by constraint classification • Potentials on performance speedup and energy saving • System-level design tools • Power manager for the entire system • Aggressive design space exploration Jan Madsen
Incremental scheduling (1) • (1) Timing scheduling • Topological traversal of the constraint graph • Selective serialize tasks that share the same resource • Prohibit positive cycles • Proven to find a timing-valid schedule Jan Madsen
Incremental scheduling (2) • (2) Max power scheduling • Begin with a timing-valid schedule from (1) • Enforce max power constraint • Reorder tasks to eliminate power spikes • Redo (1) for timing violation • Heuristics applied Jan Madsen
Incremental scheduling (3) • (3) Min power scheduling • Begin with a power-valid schedule from (2) • Reorder tasks to reduce power gaps in best-effort • Deliver same performance with less energy cost • Heuristics applied • Results applicable to different constraints Jan Madsen