Task Management Techniques for Enforcing ED Scheduling on Periodic Task Set

This paper appeared in the Proceedings of the Fifth IEEE Workshop on Real-Time Soft-wareand Operating Systems, May 12-13, 1988, Washington, D.C., pp. 42-46Task Management Techniques for Enforcing ED Scheduling on Periodic Task SetAloysius K. Mok†Department of Computer ScienceUniversity of Texas at AustinAustin, TX 78712Extended AbstractIntroductionAwell known algorithm for enforcing hard deadline constraints on tasks is the ED(Earliest Deadline) policy. Inthis policy, the task with the nearest deadline is alwaysselected for execution wheneverascheduling decision is made. A classical result in [Liu&Layland 73] showed that for the case of independent periodic tasks, the ED policycanachieve 100% CPU utilization on a single processor without missing anydeadline. (Intheindependent periodic tasks model,every task is parameterized by an ordered pair (c,p)wherec,andpare respectively the computation time and period of the task, and everytask can preempt anyother task at anytime. The CPU utilization is the sum of the ratiosc/p of the tasks.) In [Mok 84], the ED policywas extended and shown to be optimal forthe case where both task synchonization (in the style of theADA‡rendezvous)andmutual exclusion (under certain restrictions) are allowed. In[Mok et al 87], another vari-ation of the ED policywas shown to be optimal also for a dataflowmodel with data-driventiming constraints. Hence, there is practical interest in the efficient implementationof the ED policy. For periodic tasks, however, the method of using a heap (e.g., see [Aho,Hopcroft & Ullman 74]) to organize task control blocks will in the worst case requireO(n) operations to select the task with the nearest deadline where n is the number oftasks. Inthis note, we shall describe a O(log n) solution to the task management prob-lem.The Problem and a O(n) SolutionForthe purpose of enforcing the ED policy, there are twoparameters that the operat-ing system keeps track of in a task control block: the current deadlinedand the readytimer(the start of the current period). Wesay that a task is not ready if it has completedits execution for the current period and the next period has not yet started.Suppose thetask control blocks are organized and stored in a data structure D. The relevant task