Title: An On-line Approach to Reduce Delay Variations on Real-Time Operating Systems
1An On-line Approach to Reduce Delay Variations on
Real-Time Operating Systems
2Problem
- Reduce Delay Variations of Tasks
3Why Important?
- Delay Variations degrade hardware performance,
e.g. sluggish response, erroneous behavior.
4Task Model
- Original Task Model (Ci, Di, Pi)
- IMF Task Model
- initial subtask (Cii, Dii, Pi, Oii0)
- mandatory subtask (Cim, Dim, Pi, Oim0)
- final subtask (Cif, Dif, Pi, Oif)
- ADR Task Model
- initial subtask (Cii, Diinew, PiinewPi/Mi)
- mandatory subtask (Cimnew, Dimnew, Pi)
- C represents execution time, D represents
deadline, P represents period, O represents
release time.
5A Trick in Problem
- Suppose we have a task in original model, how to
split mandatory subtask in IMF model to form ADR
model? - Example, a task (Ci5000,Di27000,Pi27000), and
Cii and Cif consumes 10 of Ci, - The optimal scheme is to cut 8 splits from the
mandatory subtask in IMF model.
The constraints (1), (2) and (3) help us get it.
(1)
(2)
(3)
6Quadratic Programming Problem
Objective Function
(4)
,where each term is an approximation of
.
(5)
Schedulability Constraint
or
Constraints (5), (6), (7) guarantees the correct
running of Real-Time Operating Systems.
(6)
Deadline Constraints
(7)
7ADR Algorithm Flow
Adjust deadlines of mandatory subtasks, and
search a new solution, and the process is
repeated until the algorithm converges.
Search an initial feasible solution with optimal
model transformation.
For any fixed deadlines of mandatory subtasks,
compute an updated feasible solution, i.e.
deadlines of initial subtasks.
8Initial Results
- A custom simulator by C running on Linux
- A task set with first two tasks decomposable
- Compare results with original Delay Variations,
and two representative methods - The smaller DV, the better the method is.
- When workload changes, see which method can adapt
to it.
Task Name Decomp. Exec. Time Deadline Period
Speed Yes 5000 27000 27000
Strength Yes 8000 30000 32000
Position No 10000 45000 500000
Sense No 13000 60000 70000
Task Name Decomp. Exec. Time Deadline Period
Speed Yes 5000 27000 27000
Strength Yes 8000 30000 32000
Position No 10000 45000 50000
Sense No 13000 60000 70000
Task Name Delay Variations of Orig/DRB/TBB/ADR
Speed 33.33/41.48/16.67/ 2.96
Strength 28.13/31.25/22.50/ 0.08
Position 4.40/ 3.40/02.60/06.28
Sense 48.57/32.86/33.57/15.57
Task Name Delay Variations of Orig/DRB/TBB/ADR
Speed 33.33/41.48/16.67/ 2.96
Strength 28.13/31.25/22.50/ 0.08
Position 44.00/34.00/26.00/62.80
Sense 48.57/32.86/33.57/15.57
Task Name Delay Variations of Orig/DRB/TBB/ADR
Speed 33.33/41.48/16.67/ 7.7
Strength 28.13/31.25/22.50/ 0.87
Position 44.00/34.00/26.00/22.09
Sense 48.57/32.86/33.57/39.86
9The Road Ahead
- If initial subtask and final subtask do not have
the same execution time, what to do? - If mandatory subtask can not be divided, what to
do? - Test more task sets in the simulator.
- Show the performance of the proposed approach and
the existing methods.
10Questions?
11Second Trick in Problem
(6)
(7)
- Deadline constraints (6) and (7) incorporate the
subtask dependencies to schedulability test
without being overly pessimistic. - From (6), we can derive another constraint for Mi
.
(8)