Title: Designing Real-Time Software
1Designing Real-Time Software
Ph. D. candidate Scuola Superiore S.Anna Pisa -
Italy
visiting prof. Baruah Univ. of North
Carolina Chapel Hill - NC
2Designing is optimizing
The designer has to find the application x, such
that
- where
- the application is represented by a tuple of
design variables x - x is in a design space F
- the reward function f express our goal.
3Application model
- Application model tasks set t1, t2, , tn.
- ti (Ci, Ti, Di), where
- Ci is the max computation time of ti (WCET).
- Ti is the min interarrival time (or period).
- Di is the relative deadline.
- Ui Ci / Ti is the utilization factor of ti.
Di Ti.
Task tx (2, 4, 3)
4Design variables/Reward function
- The designer of RT software can select among
- many implementations of an algorithm (Ci)
- different periods on the programmable timers
(Ti) - different task deadlines (Di).
- The reward function f(x) typically
- pushes against the schedulability
- increases for bigger Ci (better algorithm),
smaller Ti (the task is run more often), smaller
Di (greater responsiveness).
5The design space F
- There may be some external constraint
- task activation periods depend on external
events - only a bunch of implementation is available.
The selected tasks set needs to be schedulable!
6Attempt 1 Response Time
An iterative algorithm applied to the task
set/application x
- It does not provide informative result
- distance to the boundary.
7Using Response Time for optimizing
NO
A YES/NO test is not well suited for
optimization algorithms!!
8Attempt 2 Simpler Formulation
The RT literature offers many simpler only
sufficient test
Liu Layland test
Hyperbolic Bound
9Attempt 3 Closed formulation iff
The goal
a closed (OK for optimization) necessary and
sufficient (no suboptimum) formulation of the
schedulable application domain F
the good one
10First little break
11The time demand Yi(t)
Time Demand Yi (t0 , t1)
Max computation time required by the first i
higher priority tasks in the interval t0 , t1
12iff schedulability condition
- When the tasks from 1 to i-1 are running, the
task ti is schedulable iff
13Shrinking the points set
Checking the
on the infinity of points in 0, Di is not
feasible!
By arbitrarily eliminating points in the set,
results in more stringent condition ONLY
SUFFICIENT!
What is the smallest set of points, such that the
condition keeps being necessary and sufficient?
14Previous result
?
1989. Lehoczky, Sha, Ding
15Our result
2002. Bini, Buttazzo
16Comparing the results
17Applying BB
Task periods are T1 3, T28, T320, Di Ti.
18Applying BB (contd)
Schedulability of t3
19Drawing the Schedulability Region
t3 condition
t1 condition
t2 condition
20Second little break
21Hyperplanes Exact Test
Given the tasks set
the Hyperplanes Exact Test
22Performance of the HET
We compared the number of steps of the test with
respect to
Response Time Analysis (by Audsley et al., Dec.
1993)
Response Time analysis Improved (by Sjödin,
Hansson, Dec. 1995)
23Performance of the HET
RTAResponse Time Analysis
RTIResponse Time analysis Improved
HETHyperplanes Exact Test
24Putting everything together
When the design variables are
The design problem is so formulated
25Max performance on Ci the 2 tasks case
C1
C2
26Future work
- Implementing the optimization algorithm by
Branch Bound.
- To find the schedulability region in the
periods/deadlines domain.
- Developing a complete tool for the tuning of RT
systems.
27The End