Priority Driven Scheduling
Background
Introduction
• Scheduling decisions are made when a new task (instance) is released
or a task (instance) is completed
• Online scheduling, and decisions are made at runtime
• Priority is assigned to each task
• Priority assignment can be done statically or dynamically
• Static-priority or fixed-priority algorithm
• Dynamic-priority algorithm
Fixed-Priority Algorithms
• Rate-monotonic (RM) algorithm
• Assigns priorities based on the period of tasks
• If
• RM algorithm is relatively easy
• When a new task instance is released
• if the processor is idle,
• executes the task
• if the processor is busy
• compares their priorities
Time Demand Analysis (TDA)
• TDA test is performed at critical instants
• whether a system can be scheduled by the RM algorithm
• A critical instant of a task T_i if,
• instance in T_i released at the instant has the maximum response time of all
instances in T_i
• response time of every instance in T_i is equal to or less than the relative
deadline D_i of T_i
• response time of the instance released at the instant is greater than D_i if the
response time of some instances in T_i is greater than D_i
Dynamic-Priority Algorithms
• Different instances in a task may be assigned with different priorities
• The most widely used dynamic-priority scheduling algorithm is the
earliest-deadline-first (EDF) algorithm
• Always schedules the task whose absolute deadline is the earliest for
execution
• A task’s priority is not fixed
• It is decided at runtime based on how close it is to its absolute deadline
EDF Scheduling of One-Shot Tasks