Title: CprE 458558: RealTime Systems
1CprE 458/558 Real-Time Systems
2Problem 1 (precedence task graph)
- Do the following in each 1/80 second cycle
- Validate sensor data (Tv)
- Do the 30-Hz avionics tasks, once every six
seconds (Ta) - Keyboard input and mode selection (Ta1)
- Data normalization and coordinate transformation
(Ta2) - Tracking reference update (Ta3)
- Do the 30-Hz computations, once every six seconds
(T30c) - Control laws of the outer pitch-control loop
(T30c1) - Control laws of the outer roll-control loop
(T30c2) - Control laws of the outer yaw- and
collective-control loop (T30c3) - Do the 90-Hz computations once every two cycles,
using outputs produced by 30-Hz computations and
avionics tasks as inputs (T90c) - Control laws of the inner pitch-control loop
(T90c1) - Control laws of the inner roll- and
collective-control loop (T90c2) - Compute the control laws of the inner yaw-control
loop, using outputs produced by 90-Hz control-law
computations as input. (Ty) - Output commands (To)
- Carry out built-in-test (Tt)
- Wait until the beginning of the next cycle (Tw)
3Solution 1
Tv
Every 6 cycles
Every 6 cycles
Ta1
Ta1
Ta1
T30c1
T30c2
T30c3
Every 2 cycles
Every 2 cycles
T90c1
T90c2
Ty
To
Tt
Tw
4Problem 2 Table driven Vs. Static priority
5Problem 3 Task-set schedulable by EDF and not by
RMS
- One possible solution
- T1 (30, 60) and T2 (45, 100)
- EDF schedules the task set as the utilization is
0.95 (lt 1) - Here is the RMS schedule
T2 misses its deadline
T1
T2
T1
T2
0
30
60
90
105
6Problem 4 Modify task parameters to reflect
application specific priorities in RMS (without
value)
- RMS assigns priorities based on the periods,
therefore an important task should have lesser
period. In other words, split an important task
into a set of sub tasks with each with smaller
period and smaller computation time
T21T28 each equal to (0.5, 2)
Split into 8 sub-tasks
T2 (2, 8)
T31T316 each equal to (1/16, 1)
Split into 16 sub-tasks
T3 (4, 16)
Now, according to RMS the priority order is T1
lt ( T21.T28 ) lt ( T31T316 ) Effectively T1 lt
T2 lt T3
7Problem 5 Response time order
Background
Increasing Response time
Polling server
Deferrable server
PE server
8Problem 6 Value Based Schedule
EDF Schedule
T1
T2
T1
T3
T1
T2
T1
T3
Value V(T1) V(T2) V(T3) 25
Clairvoyant Schedule
T1
T2
T1
T5
T1
T2
T1
T5
Value V(T1) V(T2) V(T5) 70
Value ratio 25 / 70
9Problem 7 Construct RMS schedule recognize
blocking times
Direct blocking of T3 by T2
RMS Schedule
T3
T1
T2
T3
T2
T1
T2
T3
T3
T2
10
11
12
0
2
4
6
7
8
14
16
Priority inversion between T1 by T3
RMS Schedule with Priority Inheritance Protocol
Direct blocking of T3 by T2
T3
T1
T2
T3
T2
T3
T1
T3
T2
0
Inheritance blocking of T1 by T2
10Problem 8 Best values of K and W
- When U E (case 1)
- K 1 and W 0
- There is no flexibility, therefore having large K
and W does not help much - When U S and N (cases 2 and 3)
- K 1 and W 0
- There is no possibility of hole creation anyways,
therefore is no need of going for larger values - When there are two instances of the resources
- Answers do not change for any of the three cases
11Problem 9 Resource Reclaiming (1)
- Two situations in which no reclaiming is better
than all the four resource reclaiming algorithms
studied in the class - When aw-ratio 1, there is no hole to reclaim.
The no-reclaiming scheme will avoid unnecessary
overhead - When there are a lot of constraints. For example
every task needs a single resource in exclusive
mode. In this case there will be no holes and
hence no-reclaiming will avoid unnecessary
over-head
12Problem 9 Resource Reclaiming (2)
- Do Basic and Early start algorithms produce a
valid post-run schedule? - Yes they do
- Basic algorithm exploits only simultaneous holes.
Therefore, it cannot result in any violations. - Early algorithm carefully maintains the relative
ordering of the tasks and hence cannot result in
any violations - Both the algorithms are very conservative in
nature. RV algorithm is more exact and also
results in a valid post-run schedule