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