CSCE 990 Real-Time Systems
Fall 2007
Steve Goddard
Homework 2, September 25
(Total of 100 points)
1. (10 points) A system consists of three periodic tasks: (3,1), (5,2), and (8,3).
(a) What is the total utilization?
(b) Construct an EDF schedule for this system in the interval (0,32). Label any missed deadlines.
(c) Construct a RM schedule for this system in the interval (0,32). Label any missed deadlines.
(d) Suppose we want to reduce the execution time of the task with period 3 to make the task set schedulable with the EDF algorithm. What is the minimum amount of reduction necessary?
2. (10 points) Consider the periodic task set {(7, 10, 1, 10), (12, 2), (25, 9)}. Its total utilization is 0.63.
(a) Is the task set schedulable with the RM algorithm? Explain how you reached your conclusion.
Now consider the task set {(7, 10, 1, 10), (12, 6), (25, 9)}. Its total utilization is 0.96.
(b) Is the task set schedulable with the RM algorithm? Explain how you reached your conclusion.
Finally, consider the task set {(7, 10, 2, 10), (12, 6), (25, 9, 20)}. This task set is not schedulable with the RM algorithm. We want to reduce the execution time of the task with period 12 to make the task system schedulable with the RM algorithm.
(c) What is the minimum amount of reduction necessary? Write a brief description of the method you used to find this amount.
3. (10 points) Show that there exist an infinite number of optimal dynamic-priority scheduling algorithms. (Hint: Show that one can arbitrarily and indefinitely alternate between an EDF and an LLF priority assignment.)
An incentive to alternate between strategies may be to minimize scheduling overhead. Although in the Liu & Layland model we ignore context-switching overheads, in real life they may be of great concern. So we should dynamically pick the scheduling strategy that allows the currently executing task to continue execution.
4. (10 points) Let the function D[i, j] represent processor demand in the time interval (i, j). Prove the following theorem.
Theorem: For the EDF and RM priority assignment schemes, a set of periodic tasks will be schedulable if and only if for all L ³ 0, D[0, L] £ L.
5. (10 points) Show by example (or otherwise) that under an EDF priority assignment, there can exist a point in time t and an integer L during the execution of a schedulable task set, such that
D[t, t+L] >
.
That is, show that equation (1) need not hold under an EDF priority assignment for all intervals.
|
|
D[t, t+L] £ |
(1) |
6. (50 points) Consider the synchronous task set shown in Table 1. This is the same synchronous task set we analyzed in HW1. You can retrieve a text file containing the task parameters in 4-tuple form from http://www.cse.unl.edu/~goddard/Courses/RealTimeSystems/Assignments/HW1table1.txt.
(a) (5 pts) Is this task set schedulable under preemptive EDF?
(b) (10 pts) For 1 £ i £ 40, what is the maximum response time of any job of task Ti under preemptive EDF?
(c) (5 pts) Is this task set schedulable under non-preemptive EDF?
(d) (10 pts) For 1 £ i £ 40, what is the maximum response time of any job of task Ti under non-preemptive EDF?
(e) (5 pts) Is this task set schedulable under preemptive RM?
(f) (10 pts) For 1 £ i £ 40, what is the maximum response time of any job of task Ti under preemptive RM?
(g) (5 pts) Which of the three scheduling algorithms is best? Explain your answer.
Task |
Phase |
Period |
Time/Exec |
Relative |
|
Processing |
|
ID |
in
ms |
in
ms |
in
ms |
Deadline |
|
Primitive |
|
1 |
0 |
250 |
6.4545 |
250 |
|
FLW |
|
2 |
0 |
250 |
30.1303 |
250 |
|
BDFC |
|
3 |
0 |
250 |
0.3437 |
250 |
|
MASTERMCS |
|
4 |
0 |
250 |
0.1022 |
250 |
|
SLAVEMCS |
|
5 |
0 |
250 |
5.7349 |
250 |
|
DIFARDAD |
|
6 |
0 |
250 |
5.7557 |
250 |
|
DIFARDAD |
|
7 |
0 |
250 |
5.7974 |
250 |
|
DIFARDAD |
|
8 |
0 |
250 |
5.8807 |
250 |
|
DIFARDAD |
|
9 |
0 |
250 |
6.0472 |
250 |
|
DIFARDAD |
|
10 |
0 |
250 |
4.3071 |
250 |
|
DIFARDAD |
|
11 |
0 |
250 |
7.7672 |
250 |
|
DIFARDAD |
|
12 |
0 |
250 |
14.6875 |
250 |
|
DIFARDAD |
|
13 |
0 |
250 |
7.183 |
250 |
|
CRFIL |
|
14 |
0 |
250 |
7.3999 |
250 |
|
CRFIL |
|
15 |
0 |
250 |
7.8337 |
250 |
|
CRFIL |
|
16 |
0 |
250 |
8.7012 |
250 |
|
CRFIL |
|
17 |
0 |
250 |
8.7012 |
250 |
|
CRFIL |
|
18 |
0 |
250 |
8.1264 |
250 |
|
CRSPECANAL |
|
19 |
0 |
250 |
8.1264 |
250 |
|
CRSPECANAL |
|
20 |
0 |
250 |
8.4815 |
250 |
|
CRSPECANAL |
|
21 |
0 |
250 |
9.1918 |
250 |
|
CRSPECANAL |
|
22 |
0 |
250 |
9.1918 |
250 |
|
CRSPECANAL |
|
23 |
0 |
250 |
3.217 |
250 |
|
ALLBANDMERGE |
|
24 |
0 |
250 |
3.5179 |
250 |
|
SAD |
|
25 |
0 |
250 |
3.6363 |
250 |
|
GRM |
|
26 |
0 |
250 |
5.1914 |
250 |
|
BBC |
|
27 |
0 |
250 |
0.1496 |
250 |
|
GRAMMERGE |
|
28 |
0 |
500 |
3.3671 |
500 |
|
CRDETECT |
|
29 |
0 |
500 |
3.3671 |
500 |
|
CRDETECT |
|
30 |
0 |
500 |
3.3671 |
500 |
|
CRDETECT |
|
31 |
0 |
500 |
3.3671 |
500 |
|
CRDETECT |
|
32 |
0 |
500 |
3.3671 |
500 |
|
CRDETECT |
|
33 |
0 |
2000 |
3.1913 |
2000 |
|
ALI |
|
34 |
0 |
2000 |
5.1122 |
2000 |
|
BRG |
|
35 |
0 |
2000 |
0.5047 |
2000 |
|
ALIMERGE |
|
36 |
0 |
2000 |
0.5906 |
2000 |
|
BEARMERGE |
|
37 |
0 |
6000 |
2.4799 |
6000 |
|
AUTODETECT |
|
38 |
0 |
6000 |
0.199 |
6000 |
|
BINMERGE |
|
39 |
0 |
6000 |
0.6898 |
6000 |
|
AUTODETECTMERGE |
|
40 |
0 |
6000 |
40.823 |
6000 |
|
EXTRAMERGE |
Table 1: Synchronous signal processing task set for a 200MHz 603e PowerPC.