fa6aa012283f639f3fd36b80f2d76e9d.ppt
- Количество слайдов: 28
High-level System Modeling and Power Management Techniques Jinfeng Liu Dept. of ECE, UC Irvine Sep. 2000
Background q X 2000 Avionics System Architecture 6 COTS – based building blocks for system integration èLow cost component with strong commercial support èWidely accepted specification, design, application and testing èReduced development cost 6 Dual system bus architecture èIEEE 1394 bus u Hi performance on fast data rate u Moderate power u Reconfigurable structure èI 2 C bus u Low power u Adequate data rate for low-speed communication
Power Aware vs. Low Power q Low power design – as low as possible 6 Minimize power consumption at circuit/gate level 6 No system-level and application specific knowledge 6 Limited reconfiguration space to meet multiple mission requirement q Power aware computation – use power wisely 6 Power model built on application-specific knowledge 6 Reconfigurable system architecture to meet multiple mission requirement 6 Adaptive adjustment to run-time power supply 6 Optimize power usage on system level èManage all power consumers – electronics, mechanics, thermal èRegulate power surge to protect battery èShorten execution time to save energy
Examples – Mars Rover q Power supply 6 Non-rechargeable battery and solar panel q Power consumption 6 Electronics – computation, imaging, communication, control 6 Mechanic – driving, steering 6 Thermal – motors must be heated in low-temperature environment q Power management 6 Low-power electronics cannot make significant power saving 6 No system-level management tool available 6 Manual schedule must remain conservative èSerialize all operations to suppress power surge èLong execution time èSolar power not efficiently used
Our Approach q High-level system modeling techniques 6 Describe the system in high-level abstractions 6 Employ application specific knowledge in system models 6 Apply power aware management techniques on different power consumers – electronics, mechanics, thermal 6 System modeling èBehavioral modeling – software architecture, application specific knowledge èArchitectural modeling – hardware platform built on top of parameterized components èPartitioning – mapping behavioral objects to architectural structures èScheduling – a valid sequence of concurrent/parallel operations on multiple processors that satisfies real-time requirement
Our Approach q Power management and optimization 6 Behavioral modeling èExtract power related attributes of all objects 6 Architecture modeling èUse low-power devices or devices that can operate on low-power mode 6 Partitioning èMigration – merge computations on under-utilized processors on one processor to improve utilization èSegmentation – separate tightly coupled computations into clusters to localize communication 6 Scheduling èArrange operation sequences on multi-processor / multiple power consumer to meet both performance and power requirement
Behavioral Model q Application specific knowledge 6 Input, output and function 6 Dependency and precedence 6 Control and data flow 6 Timing and sequence q Software architecture 6 Operating system features – real-time, centralized, distributed, and etc. 6 Execution model – event driven, interrupt, distributed agent, client-server, and etc. 6 Communication model – protocol stack and specification q Power related attributes 6 Data rate, execution time, CPU speed, memory size, communication path, and etc.
Architectural Model q Component – parameterized COTS 6 Type – processor, memory, I/O, DSP, bus, and etc. 6 Interface – how the components can be connected to each other 6 Modes – operation modes parameters, voltage, clock speed, bandwidth, power consumption, and etc. q Package – a bundle of connected components that performs certain operation 6 Components – a set of connected components 6 Internal/external interface – how components are connected 6 Modes – configuration space of the collected components specified by each component’s working mode and collective attributes, e. g. , voltage, speed, power and etc.
Partitioning q Mapping – map behavioral objects to hardware 6 Group related OS, communication, control and application objects into processing nodes 6 Extract data objects into storage nodes 6 Allocate components/packages for each processing node 6 Arrange data storage for data nodes and optimize storage location to reduce communication 6 Establish communication paths among nodes that comply with the communication model 6 Setup working mode of each component/package to fit the behavioral requirement 6 Extract attribute of each structure èFunction – computation, control, communication èCPU utilization èBus traffic èPower consumption
Partitioning q Migration – combine multiple nodes to one node to improve utilization 6 Examine the utilization of each node 6 Migrate computation on under-utilized processing nodes and merge corresponding storage nodes if necessary 6 Balance power consumption and CPU utilization q Segmentation – arrange nodes in tight communication in a bus segmentation 6 Group nodes by communication localities 6 Settle each group in a bus segment (a feature of IEEE 1394) 6 Extract attributes of localized communication mode in a segmented bus èImproved performance èReduced bus traffic èReduced power consumption
Scheduling – Techniques q Deadline based real-time scheduling on multiprocessors 6 Rate-monotonic scheduling – extend existing RM scheduling to multiprocessors 6 Timing constraint graph scheduling – multiple serializable sequences in a single heart beat
Scheduling – Techniques q Constraint logic solving 6 Transfer all constraints into a pure mathematical form 6 Use tools to solve the problem in mathematical domain 6 Example – CLPR èConstraints u C 1 > 3, C 1 < 5, C 2 > 2, C 2 < 4 u C 1 + C 2 < S, S > 6, S < 12 èInputs u C 1 = 4. 5, S = 7 èResults u C 2 < 2. 5 u 2 < C 2 # two power consumers # one power source
Scheduling – Objectives q Our power-aware scheduling tool 6 A novel graphical tool that visualizes timing and power constraint and transforms them into graph problems 6 Manage all power sources and power consumers in systemlevel 6 Power-aware scheduling – schedule operations based on power source output 6 Automated schedule to meet both performance requirement and power constraint 6 Regulate power surge 6 Use power efficiently to reduce execution time 6 Management and optimization tool to give designers a vision to the power surge at run-time
Scheduling Tool q Extended Gantt-chart in real-time scheduling for single processor 6 Event – bins èTiming – horizontal size èPower – vertical size èEnergy – area of the bin 6 Power surge – compacting bins downward Power level Starting time Energy consumption Ending time Time
Scheduling Tool q Scheduling chart for multi-processor and multiple power consumers 6 Events can overlap vertically èMulti-processor èMultiple power consumer – electronics, mechanic, thermal 6 Power awareness – min and max power supply Power Task D follows B D Periodic task C Periodic task B Constant task A C B D C B C B A Time
Scheduling Tool q Timing constraints – bin packing problem to satisfy horizontal constraints 6 Independent tasks – moving bins horizontally 6 Dependent tasks – moving grouped bins horizontally 6 Power/voltage/clock scaling – extending/squeezing bins Power Slide bin within timing space Min timing constraint of D C C D C Max timing constraint of D Scheduling space of D Squeeze/extend bin to available time slot C B B A Deadline of B (scheduling space) Deadline of C (scheduling space) Deadline of B Deadline of C Time
Scheduling Tool q Power constraints – bin packing problem to satisfy vertical constraints 6 Automatic optimization – let tool do everything 6 Manual optimization – visualizing power in manual scheduling Attack spike Power Automated global scheduling to meet min-max power Improve utilization C Max B B C Min D C A Time Power C Manual scheduling while monitoring power surge D B C B A Time
Example – Mars Rover q System specification 6 Six wheel motors 6 Four steering motors 6 System health check 6 Hazard detection q Timing constraints 6 System health check 10 s/10 min 6 Heating motor for 5 s, 100 s prior to driving 6 Hazard detection 10 s – steering 5 s – driving 10 s
Example – Mars Rover q Power constraints 6 Solar panel: 14. 9 W peak power @ noon, 11 W for 6 hr/sol 6 Battery: 10 W max power output. 150 W-hr energy storage 6 CPU: 3. 7 W, constant for 4 h/sol 6 Health check: 6. 3 W, 10 s 6 Hazard detection: 7. 3 W, 10 s 6 Heating: 7. 5 W (1 motor) or 11. 3 W (2 motors), 5 s 6 Steering: 6. 8 W, 5 s (7º/s) 6 Driving: 12. 4 W, 10 s (7 cm) q Existing solution 6 Serialize each operation to satisfy power constraint 6 Conservative – longer execution time and under utilization of solar power 6 No scheduling tool is used
Scheduling Method q Constraint graph construction 6 Nodes: operations 6 Edges: precedence relationship between operations q Channel specification 6 Channels: resources that can perform operations independently è Six wheels heating channels, four steer motor heating channels è One driving channel, one steering channel è One computation channel 6 Operations on one channel must be serialized q Scheduling 6 Primary channel selection 6 Schedule primary channel by applying graph algorithms 6 Auxiliary channels and power requirement are considered as scheduling constraints
Constraint Graph Hazard detection / Thd System health check / Thc thc Heat steer 1 / Ths -(thc + Thc) Heat steer 2 / Ths Heat steer 3 / Ths Heat steer 4 / Ths Steer / Ts -ths System health check / Thc Heat wheel 1 / Thw Heat wheel 2 / Thw Heat wheel 3 / Thw Heat wheel 4 / Thw Heat wheel 5 / Thw Heat wheel 6 / Thw - thw Drive / Td
Channel Specification Hazard detection (C) / Thc / Phc_C Health check (C) / Thc / Phc_C thc -(thc + Thc) Heat steer i (C) / Ths_C / Phs_C Health check (C) / Thc / Phc_C Computation Mechanic Thermal Heat wheel i (C) / Thw_C / Phw_C Heat steer i (T) / Ths_T / Phs_T Heat wheel i (T) / Thw_T / Phw_T Steer (C) / Ts_C / Ps_C -ths + Ths_E Steer (M) / Ts_M / Ps_M Drive (C) / Td_C / Pd_C -thw + Thw_E Drive (M) / Td_M / Pd_M
Scheduling Primary channel: Computation Auxiliary channel: Thermal Auxiliary channel: Mechanic Health check (C) / Thc / Phc_C thc -(thc + Thc) Heat steer i (C) / Ths_E / Phs_E Heat steer i (T) / Ths_T / Phs_T Hazard detection (C) / Thc / Phc_C -ths Steer (C) / Ts_C / Ps_C Steer (M) / Ts_M / Ps_M -ths + Ths_E -Ts_C + Ts_M Heat wheel i (T) / Thw_T / Phw_T -thw + Thw_E Heat wheel i (C) / Thw_E / Phw_E -thw Drive (C) / Td_C / Pd_C Drive (M) / Td_M / Pd_M
Existing Results q JPL solution 6 Over constraint – serialize every operation to satisfy power constraint 6 Conservative – longer execution time and under-utilization of solar power 6 No scheduling tool is used – manual scheduling 6 Not power-aware – scheduling without considering solar power output CPU Health check Heat steer Heat wheel Hazard detection steer Drive Power 20 15 10 5 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 Time
Our Solution q Power-aware scheduling – high solar power 6 Max solar power output – 14 W at noon 6 Relaxed constraint – heating motors while doing other operations 6 Aggressive – do as much as possible èFastest moving speed – no waiting on heating èImproved utilization of solar power 6 Automated scheduling – use scheduling tools CPU Health check Power Heat steer Heat wheel Hazard detection steer Drive 20 15 10 5 Time 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160
Our Solution q Power-aware scheduling – typical solar power 6 Typical solar power output – 11 W for 6 hr/sol 6 Relaxed constraint –heating motors while doing other operations 6 Moderately aggressive – avoid exceeding power limit èFaster moving speed – some waiting time on heating èImproved utilization of solar power 6 Automated scheduling – use scheduling tools CPU Health check Power Heat steer Heat wheel Hazard detection steer Drive 20 15 10 5 Time 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160
Our Solution q Power-aware scheduling – low solar power 6 Typical solar power output – 8 W at operation threshold 6 Restricted constraint – serialize operations 6 Conservative – save as JPL solution èSlow moving speed èFull utilization of low solar power 6 Automated scheduling – use scheduling tools CPU Health check Power Heat steer Heat wheel Hazard detection steer Drive 20 15 10 5 Time 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160
Comparison q Existing solution 6 Conservative – long execution time, low resource utilization 6 Not power aware – same schedule for all conditions 6 Not intend to use battery energy q Our solution 6 Adaptive – speedup when power supply is high 6 Power-aware – adaptive scheduling on different power supply 6 Use battery energy when needed


