CS452 - Real-Time Programming - Spring 2008

Lecture 31 - Practical Control and Calibration


Questions & Comments

  1. Anything else that would be useful

Real-time Scheduling

Much real-time computing operates in an environment like the following

  1. Groups of sensors that provide polling with fixed periodicity
  2. Sensor input triggers tasks which also run with fixed periodicity

Typical example, a group of sensors that returns

and a set of tasks that

Each time a sensor returns a new datum a scheduler runs

  1. makes ready any task that the data makes ready to run
  2. decides which of the ready tasks to schedule, and
  3. starts it running.

This is a hard real-time appoication.

Academic research on real-time programming divided the universe of programs into three categories.

  1. Hard real-time: the controlled system self-destructs if a deadline is ever missed.
  2. Soft real-time: the controlled system is incorrect is a deadline is missed.
  3. Not real-time: it doesn't matter when the results are ready.

(By this classification pretty well all real applications are soft real-time.)

The deadlines of the example discussed above are the next scheduling of the task.

Why are we discussing this particular case?

The theorem applies to the important question,

And the answer is,

which is

How it's proved.

Consider all possible collections of tasks,

Show that, if the set of tasks can be scheduled successfully by any scheduling algorithm, then

Proof

Definitions

Overflow at t. A task cannot be scheduled at t because its previous execution is not complete.

Feasible. A set of tasks that can be successfully scheduled.

Response time. The time between the the readying of a task and its completion. If a set of tasks is feasible then for every execution of every task RT < Ti.

Critical instant for a task. The scheduling time at which it has the longest response time.

Results

  1. The critical instant for a task occurs when it is readied at the same time as all other tasks.
  2. When there are exactly two tasks, then rate monotone works.

Return to: