DARPA Meeting - University of California, Irvine
Download
Report
Transcript DARPA Meeting - University of California, Irvine
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
Starting time
Energy
consumption
Ending time
Demo
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
Power
Task D follows B
D
Periodic task C
Periodic task B
C
B
D
C
D
C
B
Constant task A
C
B
C
B
A
Time
Demo
Scheduling Tool
constraints – bin packing
problem to satisfy horizontal constraints
Timing
tasks – moving bins horizontally
Dependent tasks – moving grouped bins horizontally
Power/voltage/clock scaling – extending/squeezing bins
Independent
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 B
Deadline of C (scheduling
space)
Deadline of C
Demo
Time
Scheduling Tool
constraints – bin packing problem
to satisfy vertical constraints
Power
optimization – let the tool do everything
Manual optimization – visualizing power in manual scheduling
Automatic
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
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
Operation
Health check
Heating steering motors
Heating wheel motors
Hazard detection
Steering
Driving
Duration Timing constrains
10 s
5s
5s
10 s
5s
10 s
Once in every 10-minute interval
Before steering
Before driving
ALL four steering motors must be heated
during the 50-second period prior to
steering.
ALL six wheel motors must be heated
during the 50-second period prior to
driving.
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
thc
Heat
steer
1 / Ths
Heat
steer
2 / Ths
Heat
steer
3 / Ths
Heat
steer
4 / Ths
Steer / Ts
-ths
-(thc + Thc)
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
Resource Specification
Hazard
Hazard
detection (C) /
detection
Health
Health
check (C) /
check
Thc / Phc_C
Thc / Phc_C
thc
-(thc + Thc)
Health
Health
check (C) /
Tcheck
P
hc /
Heat
steer i
Heat
(C) / Heat steer
steer
i (T)
Ths_C /
i / Ths_T /
Phs_C
Phs_T
Steer (C)
/ Ts_C /
Ps_C
Steer
-ths +
Ths_E
Steer (M)
/ Ts_M /
Ps_M
hc_C
Computation
Mechanical
Thermal
Heat
wheel j
(C) /
Thw_C /
Phw_C
Heat wheel
Heat
j wheel j
(T) / Thw_T
/ Phw_T
Drive (C)
/ Td_C /
Pd_C
-thw +
Thw_E
Drive
Drive (M)
/ Td_M /
Pd_M
Scheduling
Primary resource:
Computation
Auxiliary resource:
Thermal
Auxiliary resource:
Mechanical
Health
check (C) /
Thc / Phc_C
thc
Heat
steer i (T)
/ Ths_T /
Phs_T
Hazard
detection (C) /
Thc / Phc_C
-(thc + Thc)
Heat
steer i
(C) / Ths_E
/ Phs_E
-ths
Steer (C)
/ Ts_C /
Ps_C
-ths + Ths_E
Steer (M)
/ Ts_M /
Ps_M
-Ts_C + Ts_M
Heat
wheel j
(T) / Thw_T
/ Phw_T
-thw + Thw_E
Heat
wheel j
(C) /
Thw_E /
Phw_E
-thw
Drive (C)
/ Td_C /
Pd_C
Drive (M)
/ Td_M /
Pd_M
Scheduling Example – Mars Rover
Solar Pow er Chart on Mars
Power constraints
Different
16
14
solar power supply over
time
Different power consumption over
temperature/time
Solar Pow er
12
10
8
6
4
2
0
7
8
9
10
11
12
13
14
15
16
Time
Resource
Duration
Power
-40 degC
Solar power
Battery
-60 degC -80 degC
14.9
10 max
12
10 max
9
10 max
Heat one motor
5
5.1
6.2
7.5
Heat two motors
5
7.6
9.5
11.3
Drive
10
7.5
10.9
13.8
Steer
5
4.3
6.5
8.1
10
5.1
6.7
7.3
10
Constant
4.7
2.5
5.7
3.5
6.3
3.7
Hazard detection
Health check
CPU
17
Previous Solution by JPL
JPL Solution - High Solar Power (a)
Heat steer
25
Over-constrained,
conservative
Serialize
every operation to satisfy
power constraint
Longer execution time and underutilization of solar power
No scheduling tool is used –
manual scheduling
Drive
15
Steer
Hazard detection
10
Health check
5
CPU
0
5
15 20
25
30
35
40
45 50
55
60
65
70 75
80
85
JPL Solution - High Solar Power (b)
Heat steer
25
Not power-aware
without considering
power sources and consumers
10
Time
Heat wheel
20
Scheduling
Drive
Pow er
Heat wheel
20
Power
15
Steer
10
Hazard detection
5
CPU
0
5
10 15 20 25 30 35 40 45 50 55 60 65 70 75
Time
System heart-beat - moving two steps
(a) Begin with health check (b) no health check
Solution 1: High Solar Power (14.9W)
Our Solution - High Solar Power (a)
25
Heat steer
Max solar power: 14.9W at
noon
Improved
utilization of solar
power
Automated scheduling – use
scheduling tools
Drive
15
Steer
Hazard detection
10
Health check
5
CPU
0
5
10
Aggressive – do as much as
possible
motors while doing other
operations
Fastest moving speed – no
waiting on heating
15
20
25
30
35
40
45
50
55
60
Time
Our Solution - High Solar Power (b)
25
Heat steer
heating
20
Power
Heat wheel
20
Power
Heat wheel
Drive
15
Steer
10
Hazard detection
5
CPU
0
5
10
15
20
25
30
35
40
45
50
Time
System heart-beat - moving two steps
(a) Begin with health check (b) no health check
Solution 2: Typical Solar Power (12W)
Our Solution - Typical Solar Power (a)
Moderate solar power output
– 12W
Improved
utilization of solar
power
Automated scheduling – use
scheduling tools
Heat steer
20
18
Heat wheel
16
Drive
14
Power
22
12
Steer
10
Hazard detection
8
Health check
6
CPU
4
2
0
Moderately aggressive –
avoid exceeding power limit
constraint –heating
motors while doing other
operations
Faster moving speed – some
waiting time on heating
10
15
20
25
30
35
40
45
50
55
60
65
70
Time
Our Solution - Typical Solar Power (b)
Relaxed
Power
5
Heat steer
22
20
18
16
14
12
10
8
6
4
2
0
Heat wheel
Drive
Steer
Hazard detection
CPU
5
10
15
20
25
30
35
40
45
50
55
60
Time
System heart-beat - moving two steps
(a) Begin with health check (b) no health check
Solution 3: Low Solar Power (9W)
Our Solution - Low Solar Power (a)
Minimum solar power output –
9W
Restricted
constraint – serialize
operations
Automated scheduling – use
scheduling tools
Heat steer
Heat wheel
16
Drive
Power
20
12
Steer
Hazard detection
8
Health check
4
CPU
0
Conservative – same as JPL
solution
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
Time
Our Solution - Low Solar Power (b)
Heat steer
20
Slow
moving speed
Full utilization of low solar power
Heat wheel
16
Drive
Power
5
12
Steer
8
Hazard detection
4
CPU
0
5
10
15 20
25 30
35
40 45
50 55
60
65 70
75
Time
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
Solar power output Battery energy
14.9
0
12
55
9
388
Solar energy
672.5
817
675
% of solar energy
60%
91%
100%
Time
75
75
75
Moving distance
2 steps - 14cm
2 steps - 14cm
2 steps - 14cm
Our solution
Adaptive – speedup when solar power supply is high
Power-aware – smart scheduling on different power supply/consumption
Use battery energy when necessary
Solar power output Battery energy
14.9
6
12
149
9
388
Solar energy
604
720
675
% of solar energy
81%
100%
100%
Time
50
60
75
Moving distance
2 steps - 14cm
2 steps - 14cm
2 steps - 14cm
Evaluation
What is the value of our tool?
Shorter
Is this valuable?
More
execution time
energy consumption from battery
Is this bad?
How to evaluate the tool?
Application
Heart-beat is not the correct level to evaluate
Map schedules to applications
Power
level evaluation
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
JPL
Time frame Solar Power
0-610
611-1220
1221Total
14.9
12
9
Travel
Distance
16
16
16
48
Time
610
610
610
1830
IMPACCT
Energy
Cost
0
440
3114
3554
Travel
Distance
24
20
4
48
Improve
ment
610
610
160
1380
Energy
Cost
72
1569.5
786
2427.5
24.6%
31.7%
Time
Application-level Evaluation
Power-awareness
Execution
speed scales with
power condition adaptively
Adaptive Scheduling by IMPACCT
Pow er
16
Solar
Pow er
14
Speed
JPL
12
Smart schedule
Maximize
best case
Avoid worst case
Tradeoff: cost vs. efficiency
Use
Speed
IMPAC
CT
10
8
6
10
Tim e
20
30
Power
16
energy wisely
Solar
Power
12
Application-specific
knowledge
Working mode parameters of
components
Battery
Power JPL
8
Application-level
Battery
Power IMPAC
CT
4
0
10
Time
20
30