View
95
Download
0
Category
Preview:
DESCRIPTION
ASE 2013 presentation - Research project with Delphi on embedded software integration and minimizing risk of CPU shortage
Citation preview
Minimizing CPU Time Shortage Risks in Integrated Embedded Software!
Shiva Nejati, Morayo Adedjouma, Lionel C. Briand!SnT Centre, University of Luxembourg!
!Jonathan Hellebaut, Julien Begey, and Yves Clement!
Delphi Automotive, Luxembourg!!
November 14, 2013!
Today’s cars are developed in a distributed way
2
Software integration is essential in distributed development
3
Software integration involves multiple stakeholders
4
• Develop software optimized for their specific hardware
• Provide part suppliers with
runnables (exe)
• Integrate car makers software with their own platform
• Deploy final software on ECUs and send them to car makers
Car Makers Part Suppliers
Stakeholders have different objectives
5
• Objective: Effective execution and synchronization of runnables
• Some runnables should execute simultaneously or in a certain order
• Objective: Effective usage of CPU time
• The CPU time used by all
the runnables should remain as low as possible over time
Car Makers Part Suppliers
0ms 5ms 10ms 15ms 20ms 25ms 30ms
0ms 5ms 10ms 15ms 20ms 25ms 30ms
0ms 5ms 10ms 15ms 20ms 25ms 30ms
It is challenging to satisfy all objectives
6
4ms
3ms
2ms
✔
✗
Car Makers Part Suppliers r0 r1 r2 r3
Execute r0 to r2 together Minimize CPU time usage
7
Our approach to minimization of CPU time usage
Optimization
while satisfying synchronization/temporal constraints
Explicit Time
Model for real-time embedded systems
Search
meta-heuristic single objective search algorithms
10^27
an industrial case study with a large search space
8
Problem Formulation
0ms 5ms 10ms 15ms 20ms 25ms 30ms
9
Scheduling mechanism in automotive systems
AUTOSAR scheduling also known as static cyclic scheduling
period = 5ms period = 10ms
10
How to minimize CPU time usage?
4ms
3ms
By setting offsets (i.e., initial delays) for runnables
0ms 5ms 10ms 15ms 20ms 25ms 30ms
0ms 5ms 10ms 15ms 20ms 25ms 30ms
o0=0, o1=0, o2=0, o3=0
o0=0, o1=5, o2=5, o3=0
r0 r1 r2 r3
0ms 5ms 10ms 15ms 20ms 25ms 30ms
11
How to satisfy synchronization constraints?
Runnables r0, r1, and r2 should run in the same time slot infinitely often
r0 r1 r2 r3o0=0, o1=5, o2=5, o3=0
oi ⌘ oj mod(gcd(periodi, periodj))for ri, rj 2 {r0, r1, r2}
0ms 5ms 10ms 15ms 20ms 25ms 30ms
o0=0, o1=5, o2=10, o3=0 ✗
Classical number theory (Chinese remainder theorem)
Runnables r0, r1, and r2 run in the same time slot infinitely often iff
12
Solution Overview
13
Single-objective Search algorithms hill Climbing and tabu Search and their variations
Solution Representation
a vector of offset values: o0=0, o1=5, o2=5, o3=0 Tweak operator
o0=0, o1=5, o2=5, o3=0 à o0=0, o1=5, o2=10, o3=0
Synchronization Constraints offset values are modified to satisfy constraints
Fitness Function max CPU time usage per time slot
14
Case Study and Experiments
An automotive software project with 430 runnables
15
5.34ms 5.34ms5 ms
Time
CPU
tim
e us
age
(ms)
CPU time usage exceeds the size of the slot (5ms)
Without optimization
16
CPU time usage always remains less than 2.13ms, so more than half of each slot is guaranteed to be free
2.13ms
5 ms
Time
CPU
tim
e us
age
(ms)
After applying our work
(ms)
(s)
Best CPU usage
Time to find Best CPU usage
17
Experiment Results (Sanity Check) Our algorithms were better than random search
Tabu C
PU ti
me
usag
e (m
s)
Only Tabu search was not better than random search
Random
Hill Climbing
18
Experiment Results (Effectiveness) Hill Climbing performed best compared to other algorithms Running Hill Climbing for three times, it hits the best result with a probability of 87.5% Our results were better than some existing (deterministic) algorithms based on real-time scheduling theory
• Feasibility analysis
– Schedulable or not? v We perform optimization by finding the best solutions among all
the feasible ones
• Logical models – Correct/incorrect?
v We provide an explicit time model enabling us to perform a quantitative analysis
• Symbolically represent the model and rely on model-checkers or
constraint solvers – State explosion problem
v We scale to very large search spaces: 10^27
Related Work
19
20
Summary
Optimization
while satisfying synchronization/temporal constraints
Explicit Time
Model for real-time embedded systems
Search
meta-heuristic single objective search algorithms
10^27
an industrial case study with a large search space
Recommended