Suppose one is given a set of simple independent periodic tasks
, where each task
has minimum
interrelease time (called period for short)
,
worst case compute time
, and relative deadline
, where
. Each task generates a sequence of jobs,
each of whose release time is separated from that of its predecessor
by at least
. (No special assumptions are made about the first
release time of each task.) Time is represented by rational numbers.
A time interval
,
, is said to be of length
and contains the time values greater than or equal to
and less than
.
What we call a periodic task here is sometimes called a sporadic task. In this regard we follow Jane Liu[14], who observed that defining periodic tasks to have interrelease times exactly equal to the period ``has led to the common misconception that scheduling and validation algorithms based on the periodic task model are applicable only when every periodic task is truly periodic ... in fact most existing results remain correct as long as interrelease times of jobs in each task are bounded from below by the period of the task''.
Assume that the jobs of a set of periodic tasks are scheduled on
processors preemptively according to an EDF or DM scheduling
policy, with dynamic processor assignment. That is, whenever
there are
or fewer jobs ready they will all be executing, and
whenever there are more than
jobs ready there will be
jobs
executing, all with deadlines (absolute job deadlines for EDF,
and relative task deadlines for DM) earlier than or equal to the
jobs that are not executing.
Our objective is to formulate a simple test for schedulability expressed in terms of the periods, deadlines, and worst-case compute times of the tasks, such that if the test is passed one can rest assured that no deadlines will be missed.
Our approach is to analyze what happens when a deadline is missed.
Consider a first failure of scheduling for a given task set, i.e., a sequence of job release times and compute times
consistent with the interrelease and worst-case compute time
constraints that produces a schedule with the earliest possible
missed deadline. Find the first point in this schedule at which a
deadline is missed. Let be the task of a job that misses
its deadline at this first point. Let
be the release time of
this job of
. We call
a problem task, the
job of
released at time
a problem job, and the
time interval
a problem window.
If we can find a lower bound on the load of a problem window that is necessary for a job to miss its deadline, and we can show that a given set of tasks could not possibly generate so much load in the problem window, that would be sufficient to serve as a schedulability condition.