Homework 1

COSC6384 Real-Time Systems
Assignment 1 (Fall 2006)
Does a random scheduler obey the Queue discipline?
Does a random scheduler obey the Stack discipline?
Justify your answer with an example for each of them.
Suppose a task consists of n subtasks, Ji each of which has computation time Ci, i=1,..., n.
This task requests service at time T and has absolute deadline D. Summarize a formula to
compute the latest deadline for completing each subtask such that the deadline of the
entire task can be satisfied.
A system T contains four period tasks, (8,1), (15,3), (20,4), and (22,6). Its total utilization
is 0.87. Construct the initial segment in the time interval (0,50) of a rate-monotonic
schedule of the system. All tasks arrive at time 0.
A system T contains three tasks, (8, 3) arriving at time 0, (9, 3) arriving at time 2 and (15,
3) arriving at time 1, is the system schedulable by the rate-monotonic algorithm? By the
EDF algorithm? What about T = {(8, 2), (10, 2) and (12, 3)} with the same arriving times?
Explain your answer.
Which of the following fixed-priority task(s) is not schedulable? Explain your answer.
T1 = (5, 1), T2 = (3, 1), T3 = (7, 2.5) and T4 = (16, 1).
Give two different explanations of why the periodic tasks (2, 1), (4, 1), and (8, 2) are
schedulable by the rate-monotonic algorithm.
Construct a task set that can be scheduled by the RM, EDF and LLF algorithms.
Given a task set which is rate monotonic schedulable, will the rate monotonic and earliest
deadline first schedule be the same or different? Adjust your answer with examples.
Give an LLF schedule for the following task set in the time interval (0, 50).
Explain instances where the static and dynamic scheduler would be equivalent and when
they would differ. Which is more suitable for an operating system? Justify your answer in
Prove the following theorem:
A system T of independent, preemptable periodic tasks that are in phase and have relative
deadlines equal to or less than their respective periods can be feasibly scheduled on one
processor according to the deadline-monotonic algorithm whenever it can be feasibly
scheduled according to any fixed-priority algorithm. (hint: this theorem is true because
we can always transform a feasible fixed-priority schedule that is not a DM schedule into
one that is.)
We have assumed in lectures that context-switching due to preemption incurs no
overhead. Now suppose context-switching (from one task to another) requires 'x' time
units. Consider a system with n tasks with computation times C1,C2,...,Cn and periods P1,
P2,...,Pn (which are equal to their deadlines and Pi < Pi+1). Derive the maximum value of
'x' for which this task set is EDF-schedulable. Show calculations steps.
(a) The term priority-driven algorithms refers to a large class of scheduling algorithms
that never leave any resource idle intentionally. Stated in another way, a resource idles
only when no job requiring the resource is ready for execution. For scheduling tasks on a
single processor, are EDF (Earliest-Deadline-First), FIFO (First-In-First-Out), LRT
(Latest release time) all priority-driven algorithms? Explain your answer with simple
(b) Do you think under what situation(s) we have benefits by using LRT algorithm to
schedule hard real-time tasks?
Note: LRT or reverse EDF algorithm, treats release times as deadlines and deadlines as
release times and schedules the jobs backwards, starting from the latest deadline of all
jobs, in “priority-driven” manner, to the current time. In particular, the “priorities” are
based on the release times of jobs: the later the release time, the higher the “priority”. In
fact, the algorithm postpones the execution of tasks.
A periodic process must be executed once in every period of the process. Suppose our
system has five processes with periods 30, 50, 80, 200 and 280 milliseconds each. These
five processes require 5, 10, 15, 40 and 100 msec of CPU time, respectively. It is
obviously that the system is overloaded. To make the system EDF-schedulable, suppose
we can either reduce the execution time of the task with period 280 or prolong the period
of the task with execution time 40. What is the minimum amount of reduction on the
execution time and of increase on the period respectively?
Determine whether there is a feasible schedule for the following set of periodic processes.
If yes, show the schedule and the steps used to derive it.
T1: c1 = 1, d1 = p1 = 12
T2: c21 = 1, c22 = 2, d2 = 5, p2 = 6
T3: c31 = 2, c32 = 3, d3 = 12, p3 = 12
T2 must rendezvous with T3 after the first scheduling block.
T3 must rendezvous with T2 after the first and second scheduling block.