Title: Period Optimization for Hard Realtime Distributed Automotive Systems
1Period Optimization for Hard Real-time
Distributed Automotive Systems
- Abhijit Davare1, Qi Zhu1, Marco Di Natale2,
Claudio Pinello3, Sri Kanajan2, Alberto
Sangiovanni-Vincentelli1
1 EECS, UC Berkeley 2 General Motors Research 3
Cadence Research Labs
2Motivation Active Safety Applications
3Design Flow
Application
Architecture
Mapping
Implementation
4Contributions
- In industry today, all stages in mapping are
typically carried out manually - Capture the period assignment problem with
mathematical programming - Flexibility to add additional constraints for
system-specific situations - Construct an approximation to efficiently solve
the problem - Iterative approach to reduce approx. error
5System Model
- Tasks allocated to ECUs
- Preemptive execution
- Scheduling static priorities
- Messages allocated to buses
- Non-preemptive transmission
- Scheduling static priorities
- Periodic task/message activation
- No synchronization between ECUs/buses
- Communication
- Read latest data value from buffer
- Overwrite old data values
6Problem Inputs
- System Directed Graph
- Nodes are objects (EITHER tasks or messages)
- Edges are communication links (1-place buffers)
- Resource assignment
- Worst case processing time (not shown)
- Priority
- Utilization bounds
- End-to-End latency constraints
T1
M1
T2
M2
T3
T5
M3
T4
T6
M4
T7
M5
T8
7Problem Statement
Assign activation periods for all tasks and
messages such that
1. Set of objects must be schedulable
2. Stay within utilization bounds
3. Satisfy end-to-end latency constraints
81. Object Schedulability
- Ensure that all objects are processed before
their subsequent activations
92. Utilization Bounds
- Resource utilization
- Fraction of time the resource (either ECU or bus)
spends processing its objects (either tasks or
messages) - Utilization bounds less than 100
- To allow for future extensibility
- Intuition Larger periods ? lower utilization
103. End-to-End Latency
R1
R2
R3
o1
o2
o3
t1
t2
t3
o1
o2
o3
- For each object in the path, add
- Period (ti)
- Worst case response time (ri)
11Worst Case Response Times
Response time (ri) Processing time (ci)
Interference time (wi)
12Periods and Response Times
Tasks
Messages
- Intuition decreasing the period of an object
- Decreases its own contribution to path latency
- Increases the response times of lower priority
objects on the same resource
13Approach Mathematical Programming
- What?
- Problem represented with
- Set of decision variables
- Constraints
- Objective function
- Why?
- Modifying an object period affects
- Schedulability of the object
- Utilization of the resource
- Latencies of other paths passing through same
resource - Additional constraints due to legacy tasks and
messages - Challenge
- Capture the problem and obtain efficient runtimes
14Geometric Programming
- Standard Form
- x (x1, x2, , xn) are positive
- g is a set of monomial functions
- f is a set of posynomial functions
- Sum of monomials
- Variables
- Integer real-valued ? Intractable
- Real-valued ? Efficiently solvable (convex
programming)
15Approximation
- Rationale
- Exact formulation needs integer variables
(ceiling function) - MIGP gives no solution even after 6 hours for
case study - Approximate the ceiling function
- Constant parameter 0 ai 1
- Approximated worst case response time si
16Approximation Example
- Impact on r3 as t1 changes
- Lower bound
- ? 0
- Upper bound
- ? 1
- If all ai 1, si ri
r3
t1
17Geometric Programming Formulation
- Sets
- Paths?
- Objects
- Resources
- Parameters
- Computation time c
- Variables
- Periods t
- Approx. response times s
18Iterative Procedure to Reduce Error
- Iteratively change ai
- Parameters
- maxIt max. iterations
- errLim max. permissible relative error between
r and s
(GP)
(Fixpoint)
19Case Study GM Experimental Vehicle
- Functionality
- 92 tasks
- 196 messages
- Architecture
- 38 ECUs
- 4 buses
- End-to-end latency constraints
- 12 source-sink task pairs
- 222 total paths
- Deadlines range from 100ms to 300ms
20Experiments Manual vs. Period Opt.
- GP feasible with all a 1 in 1st iteration
- Solution time 24s
21Experiments Iterative Procedure
- Max. error reduced from 58 to 0.56 in 15
iterations - Avg. error (not shown) reduced from 6.98 to
0.009
22Conclusions
- Problem
- Period assignment for the design of distributed
automotive applications - Approach
- Flexible Approximate period assignment with GP
- Effective Iterate to reduce approximation error
- Results for industrial case studies
- Experimental vehicle 0.56 max. error after 6
minutes - Fault tolerant vehicle 45 reduction in average
path latency
23