CSCE 990 Real-Time Systems

Fall 2007
Steve Goddard

    Homework 2, September 25

(Total of 100 points)

Due: 2:00 pm, Tuesday, October 9

_________________________________________________________________________

 

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.