190 likes | 291 Views
Power. Power level. Energy consumption. Time. Starting time. Ending time. Scheduling Tool. Extended Gantt-chart in real-time scheduling for single processor Event – bins Timing – horizontal size Power – vertical size Energy – area of the bin Power surge – compacting bins downward.
E N D
Power Power level Energy consumption Time Starting time Ending time Scheduling Tool • Extended Gantt-chart in real-time scheduling for single processor • Event – bins • Timing – horizontal size • Power – vertical size • Energy – area of the bin • Power surge – compacting bins downward Demo
Power Task D follows B D D D Periodic task C C C C C C B B B B Periodic task B Constant task A A Time Scheduling Tool • Scheduling chart for multi-processor and multiple power consumers • Events can overlap vertically • Multi-processor • Multiple power consumer – electronics, mechanical, thermal • Power awareness – min and max power supply Demo
Squeeze/extend bin to available time slot Slide bin within timing space Min timing constraint of D D Power C Max timing constraint of D Scheduling space of D C C C B B A Deadline of B (scheduling space) Time Deadline of B Deadline of C (scheduling space) Deadline of C Scheduling Tool • Timing constraints – bin packing problem to satisfy horizontal constraints • Independent tasks – moving bins horizontally • Dependent tasks – moving grouped bins horizontally • Power/voltage/clock scaling – extending/squeezing bins Demo
Automated global scheduling to meet min-max power Power Attack spike Improve utilization C Max B B D C C Min A Time Manual scheduling while monitoring power surge Power D C C B B A Time Scheduling Tool • Power constraints – bin packing problem to satisfy vertical constraints • Automatic optimization – let the tool do everything • Manual optimization – visualizing power in manual scheduling Demo
Example – Mars Rover • System specification • 6 wheel motors • 4 steering motors • System health check • Hazard detection • Power supply • Battery (non-rechargeable) • Solar panel • Power consumption • Digital • computation, imaging, communication, control • Mechanical • driving, steering • Thermal • motors must be heated in low-temperature environment
Scheduling Example – Mars Rover Timing constraints
Scheduling Method • Constraint graph construction • Nodes: operations • Edges: precedence relationship between operations • Resource specification • Resource: an executing unit that can perform operations independently • Six thermal resources for wheel heating • Four thermal resources for steer motor heating • One mechanical resource for driving • One mechanical resource for steering • One computation resource for control • Operations on one resource must be serialized • Scheduling • Primary resource selection • Schedule primary resource by applying graph algorithms • Auxiliary resources and power requirement are considered as scheduling constraints
Constraint Graph Hazard detection / Thd System health check / Thc Heat steer 1 / Ths Heat steer 2 / Ths Heat steer 3 / Ths Heat steer 4 / Ths Steer / Ts thc -ths -(thc + Thc) System health check / Thc Heat wheel 2 / Thw Heat wheel 3 / Thw Heat wheel 5 / Thw Heat wheel 6 / Thw Heat wheel 1 / Thw Heat wheel 4 / Thw Drive / Td - thw
Hazard detection (C) / Thc / Phc_C Hazard detection Health check (C) / Thc / Phc_C Health check Steer (C) / Ts_C / Ps_C Heat steer i (C) / Ths_C / Phs_C thc Heat steer i (T) / Ths_T / Phs_T Steer (M) / Ts_M / Ps_M -(thc + Thc) Heat steer i Steer Health check (C) / Thc / Phc_C -ths + Ths_E Health check Heat wheel j (C) / Thw_C / Phw_C Drive (C) / Td_C / Pd_C Heat wheel j Heat wheel j (T) / Thw_T / Phw_T Drive (M) / Td_M / Pd_M Drive Computation Mechanical -thw + Thw_E Thermal Resource Specification
Primary resource: Computation Auxiliary resource: Thermal Auxiliary resource: Mechanical Health check (C) / Thc / Phc_C Hazard detection (C) / Thc / Phc_C thc -(thc + Thc) Steer (C) / Ts_C / Ps_C Heat steer i (C) / Ths_E / Phs_E Heat steer i (T) / Ths_T / Phs_T Steer (M) / Ts_M / Ps_M -ths -ths + Ths_E -Ts_C + Ts_M Heat wheel j (C) / Thw_E / Phw_E Drive (C) / Td_C / Pd_C Heat wheel j (T) / Thw_T / Phw_T Drive (M) / Td_M / Pd_M -thw -thw + Thw_E Scheduling
Scheduling Example – Mars Rover • Power constraints • Different solar power supply over time • Different power consumption over temperature/time
Previous Solution by JPL • Over-constrained, conservative • Serialize every operation to satisfy power constraint • Longer execution time and under-utilization of solar power • No scheduling tool is used – manual scheduling • Not power-aware • Scheduling without considering power sources and consumers System heart-beat - moving two steps (a) Begin with health check (b) no health check
Solution 1: High Solar Power (14.9W) • Max solar power: 14.9W at noon • Improved utilization of solar power • Automated scheduling – use scheduling tools • Aggressive – do as much as possible • heating motors while doing other operations • Fastest moving speed – no waiting on heating System heart-beat - moving two steps (a) Begin with health check (b) no health check
Solution 2: Typical Solar Power (12W) • Moderate solar power output – 12W • Improved utilization of solar power • Automated scheduling – use scheduling tools • Moderately aggressive – avoid exceeding power limit • Relaxed constraint –heating motors while doing other operations • Faster moving speed – some waiting time on heating System heart-beat - moving two steps (a) Begin with health check (b) no health check
Solution 3: Low Solar Power (9W) • Minimum solar power output – 9W • Restricted constraint – serialize operations • Automated scheduling – use scheduling tools • Conservative – same as JPL solution • Slow moving speed • Full utilization of low solar power System heart-beat - moving two steps (a) Begin with health check (b) no health check
Comparison • Existing solution • Conservative – long execution time, low solar power utilization • Not power aware – same schedule for all cases • Not intend to use battery energy • Our solution • Adaptive – speedup when solar power supply is high • Power-aware – smart scheduling on different power supply/consumption • Use battery energy when necessary
Evaluation • What is the value of our tool? • Shorter execution time • Is this valuable? • More energy consumption from battery • Is this bad? • How to evaluate the tool? • Application level evaluation • Heart-beat is not the correct level to evaluate • Map schedules to applications • Power related scenario • Various power constraint (supply/consumption) over different stages of application • Power-aware adaptive scheduling for different stages • Evaluate overall performance of the whole mission
Application-level Evaluation • Mission description • Target location – 48 steps from current location • Power condition • 14.9W for first 10 minutes, 12W for next 10 minutes, 9W thereafter • Performance metrics • Execution time • Total energy drown from battery
Application-level Evaluation • Power-awareness • Execution speed scales with power condition adaptively • Smart schedule • Maximize best case • Avoid worst case • Tradeoff: cost vs. efficiency • Use energy wisely • Application-specific • Application-level knowledge • Working mode parameters of components