CS452 - Real-Time Programming - Spring 2010

Lecture 30 - Cyclic Execution

Public Service Announcements

  1. Due date for Tracking 2
  2. Project plan

Real-time Scheduling

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

  1. Groups of sensors that are polled 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.

Your kernel can handle problems like this one pretty efficiently,

Cyclic Execution

Let's make a schedule

                                               A                                       A
  AC  BA    A C  A    A  C A    A B CA    A    C    A    AC B A    A C  A    A  C A    B
  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
      |                           |                         |                          |
   |          |          |          |          |          |          |          |
________________________________________________________________________________________________________ time

Because the times are integers the pattern repeats after a while.

Make it a little easier

  1. Make the complete pattern short by making sensor periods multiples of one another. If you can control sensor periods.
  2. Standardize the processing at each point
  3. Minimize the interaction between tasks
  4. Simple procedure
    1. Processing needed by task i is pi
    2. Share of CPU needed by pi is si = pi/ni
    3. s1 + s2 + s3 + ... < 1. Otherwise you must,
      • get a bigger processor, or
      • reduce the amount of computing needed
    4. Deadline for task i is di after the sensor report. si < di : otherwise
      • you always miss that deadline.
  5. Prove some theorems, such as Liu & Layland


Important assumptions


Main idea

Proof strategy


  1. Call the bottleneck the critical instant
  2. Any schedule that satisfies all deadlines is called feasible.


  1. Assume that there exists a feasible schedule
  2. Find transformations of the form
  3. Provide a sequence of transformations that starts with any feasible schedule and ends at the goal.
  4. Show that the transformation applied to the goal gives only the goal.

Main result

Subsidiary result

Is this of any practical value?

This is left as an exercise for the reader.

Return to: