Earliest deadline first scheduling

Earliest deadline first scheduling

Earliest deadline first (EDF) scheduling is a dynamic scheduling algorithm used in real-time operating systems. It places processes in a priority queue. Whenever a scheduling event occurs (task finishes, new task released, etc.) the queue will be searched for the process closest to its deadline. This process will then be scheduled for execution next.

EDF is an "optimal" scheduling algorithm on preemptive uniprocessors, in the following sense: if a collection of independent "jobs," each characterized by an arrival time, an execution requirement, and a deadline, can be scheduled (by any algorithm) such that all the jobs complete by their deadlines, the EDF will schedule this collection of jobs such that they all complete by their deadlines.

With scheduling periodic processes that have deadlines equal to their periods, EDF has a utilization bound of 100%. That is, EDF can guarantee that all deadlines are met provided that the total CPU utilization is not more than 100%. So, compared to fixed priority scheduling techniques like rate-monotonic scheduling, EDF can guarantee all the deadlines in the system at higher loading.

However, when the system is overloaded, the set of processes that will miss deadlines is largely unpredictable (it will be a function of the exact deadlines and time at which the overload occurs.) This is a considerable disadvantage to a real time systems designer. The algorithm is also difficult to implement in hardware and there is a tricky issue of representing deadlines in different ranges (deadlines must be rounded to finite amounts, typically a few bytes at most). Therefore EDF is not commonly found in industrial real-time computer systems.

Instead, most real-time computer systems use fixed priority scheduling (usually rate-monotonic scheduling). With fixed priorities, it is easy to predict that overload conditions will cause the low-priority processes to miss deadlines, while the highest-priority process will still meet its deadline.

There is a significant body of research dealing with EDF scheduling in real-time computing; it is possible to calculate worst case response times of processes in EDF, to deal with other types of processes than periodic processes and to use servers to regulate overloads.

Example

Consider 3 periodic processes scheduled using EDF, the following acceptance test shows that all deadlines will be met.

The utilization will be: frac{1}{8} + frac{2}{5} + frac{4}{10} = 0.925 = 92.5%

The theoretical limit for any number of processes is 100% and so the system is schedulable.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Earliest Deadline First Scheduling — Pour les articles homonymes, voir EDF (homonymie). Algorithmes d ordonnancement EDF • Rate monotonic …   Wikipédia en Français

  • Earliest deadline first scheduling — Pour les articles homonymes, voir EDF (homonymie). Earliest deadline first scheduling ( échéance proche = préparation en premier ) est un algorithme d ordonnancement préemptif, à priorité dynamique, utilisé dans les systèmes temps réel. Il… …   Wikipédia en Français

  • Earliest Deadline First — scheduling Pour les articles homonymes, voir EDF (homonymie). Algorithmes d ordonnancement EDF • Rate monotonic …   Wikipédia en Français

  • Earliest Deadline First — (EDF) ist ein Scheduling Verfahren des Betriebssystems, mit dessen Hilfe es den Prozessen (Tasks) Prozessor Zeit zuteilt. Es gehört zu den zeitbasierten Verfahren, denn es trifft seine Entscheidungen so, dass Fertigstellungstermine (Deadlines)… …   Deutsch Wikipedia

  • Scheduling algorithm — In computer science, a scheduling algorithm is the method by which threads, processes or data flows are given access to system resources (e.g. processor time, communications bandwidth). This is usually done to load balance a system effectively or …   Wikipedia

  • Scheduling (Informatik) — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Rate-monotonic scheduling — In computer science, rate monotonic scheduling [citation|first1=C. L.|last1=Liu|authorlink1=Chung Laung Liu|first2=J.|last2=Layland|title=Scheduling algorithms for multiprogramming in a hard real time environment|journal=Journal of the ACM|volume …   Wikipedia

  • Interval scheduling — is a class of problems in computer science, particularly in the area of algorithm design. A list of tasks is given as a set of time intervals; for instance, one task might run from 2:00 to 5:00 and another task might run from 6:00 to 8:00. Posed… …   Wikipedia

  • Dynamic priority scheduling — is a type of scheduling algorithm in which the priorities are calculated during the execution of the system. The goal of dynamic priority scheduling is to adapt to dynamically changing progress and form an optimal configuration in self sustained… …   Wikipedia

  • Least slack time scheduling — Least Slack Time (LST) scheduling is a scheduling algorithm. It assigns priority based on the slack time of a process. Slack time is the amount of time left after a job if the job was started now. This algorithm is also known as Least Laxity… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”