blocks and rechargeable package

download report

Transcript blocks and rechargeable package

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
Examples

X2000 Power Requirement
 Computing performance
10 – 20 times increase
 Power consumption
10 times decrease in digital electronics
2 times decrease in analog electronics

Mars Rover Power management
 Mission requirement
Image and scientific experiment
 Power supply
Non-rechargeable battery and solar panel
 Power management solution
Serialize all operations to avoid exceeding power supply
margin
What is PACC?

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
Use power efficiently to complete computation
Regulate power surge to protect battery
Shorten execution time to save energy
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 methodologies in different
levels
 System models
Behavioral modeling – software architecture, application
specific knowledge
Architectural modeling – hardware platform
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 – merge computations on under-utilized
processors on one processor to improve utilization
 Partitioning – separate tightly coupled computations into
clusters to localize communication
 Scheduling – arrange operation sequence to satisfy power
apply limitation and regulate power consumption within a
stable range
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 – available 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 processor
 Migrate computation on under-utilized processors and merge
corresponding storage 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

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 single heart beat
 Constraint logic solving
Transfer all constraints into a pure mathematical form
Use tools to solve the problem in mathematical domain
 Power constraint scheduling
Schedule events to meet power requirement
Regulate power surge
Use power efficiently to reduce execution time
Use graphic tool to visualize power consumption
Scheduling

Our scheduling tool
 A novel graphical tool that visualize timing and power
constraint and transforms them into simple graph problems
 Event – bins
Timing – horizontal size
Power – vertical size
Energy – area of the bin
 Power surge – compacting bins downward
 Timing constraints – bin packing problem to satisfy
horizontal constraints
 Power constraints – bin packing problem to satisfy vertical
constraints
 Powerful management and optimization tool to give
designers a vision to the power surge on run-time
Power Scheduling Graph
Power
Processor 2
Task D follows B
D
Periodic task C
C
B
Periodic task B
C
D
C
B
Power level
Constant task A
Processor 1
D
C
B
C
B
Energy
consumption
A
Starting time
Ending time
Extended Gantt chart to describe parallel operations on
multiprocessors with power consumption attributes
Time
Timing Constraint
Min timing
constraint
of D
Power
C
D
Max timing
constraint
of D
Scheduling
space of D
B
C
B
A
Deadline of B
(scheduling space)
Deadline of C
(scheduling space)
Time
Deadline
of B
Deadline
of C
Timing constraints defined by deadline, min and max timing
constraint limit the horizontal position of each bin
Power Constraint
Power
D
D
C
D
C
B
C
B
C
C
B
B
A
Time
Power
Max power
B
Max power
C
C
B
C
D
C
D
D C
C
B
B
C
D
C
A
Time
Compacting bin downward makes the curve of power surge
Scheduling
Slide bin within timing
space to meet power
constraint
D
Power
D
C
Squeeze/extend
bin to available
time slot to meet
power constraint.
Max timing
constraint of
D
C
C
Min timing
constraint of
D
B
B
C
This may require
changing clock
speed of the
processor, and
power
consumption
should be also
changed.
A
Deadline
of B
Deadline
of C
Deadline
of B
Deadline
of C
Scheduling becomes a bin-packing problem
Time
How it works
Power
C
C
Max power
B
C
Min power
D
B
D
C
C
B
B
D C
C
D
C
A
Power constraint graph
Time
Power
D
C
B
D
C
D
C
B
C
B
C
B
A
Timing constraint graph
Designers can slide the bins on timing constraint graph while
monitoring power surge on power constraint graph
Time
Examples

Mars Rover Power Management – walking mode
 System specifications
Six driving motors for wheels
Four steering motors
Heaters for each motor
System health check
Hazard detection
 Timing constraints
 Power constraints
 Solutions
Serialize each operation to satisfy power constraint
Too conservative usage of power
No scheduling tool is used
Scheduling Results

To be continued
 Under construction