Page 101 - DCAP103_Principle of operating system
P. 101

Principles of Operating Systems



                   Notes         3.6.11 Monotonic Absolute Deadlines
                                 A task requesting service is guaranteed to have a deadline that is at least as late as all other
                                 tasks that have previously requested service. This is essentially a first-come, first-served system,
                                 such as might occur in a process control system where the processing steps are strictly ordered.
                                 3.6.12 Equal Relative Deadlines
                                 All tasks in this model have the same relative deadlines. This is similar to the offer by a well
                                 known pizza delivery company that your pizza will be there in 30 minutes or it is free.
                                 3.6.13 Equal Absolute Deadlines

                                 In this case, all tasks have the same absolute deadline. An example is a banking system in which
                                 transactions occur at random times during the day and require varying amounts of processing
                                 but must all be completed by the end of the business day. Algorithms of this class have the
                                 advantage of being very flexible in dealing with a varying system environment and being able
                                 to deal with overload conditions without total failure. In fact, except for the condition of Equal
                                 Request Times and Equal Absolute Deadlines, the efficiency of the schedule generated by a
                                 Dynamic  Best  Effort scheduling algorithm is  only one half to two-thirds that of an optimal
                                 scheduler. In the most general terms, the Dynamic Best Effort scheduling algorithms differ only
                                 in the way they assign priorities. For example, the Earliest Deadline First algorithm attempts to
                                 minimize  task  failures  by  scheduling  the  task  with  the  earliest  deadline  to  execute  first.
                                 Unfortunately,  this  algorithm  suffers  from  the  domino  effect,  where  the  failure  of  one  task
                                 dominos and causes other tasks further down the line to also miss their deadline. Because of
                                 this,  its  performance  rapidly  degrades  under  overload  conditions.  Another  approach  is  to
                                 schedule the task with the highest value first. In this case, the task that has the most importance
                                 to the system is the first to run. A third approach is to prioritize task dispatching by task density,
                                 where density is the importance value of the task divided by the cost to execute the task. This
                                 approach tends to maximize the cumulative value of the tasks that complete by their deadlines.
                                 A mixed approach has also been used. Here the importance value of a task and its deadline are
                                 both used to compute a weighted sum of the importance and the deadline which is then used
                                 to determine the task’s priority. Unfortunately, none of these algorithms as presented provide
                                 any form of guarantee of task completion. Because of this, they are all prone to the domino
                                 effect described  earlier since they have no awareness of the current processor loading  and
                                 therefore if scheduling a new task will cause a problem. Buttazzo, et al. have proposed and
                                 characterized a class of extensions to the previous algorithms they refer to as guaranteed. These
                                 extensions perform an acceptance test before accepting a new task for execution. If a processor
                                 overload  will  occur  by  accepting  the  newly  arrived  task,  it  is  rejected.  Unfortunately,  this
                                 extension does not consider the importance of the task so an extremely important task may be
                                 rejected so that a task of low importance can run. To counter this problem they have proposed
                                 a robust extension. This extension performs by applying the acceptance test to each arriving
                                 task similar to the guaranteed extension. However, if an overload condition is detected, the least
                                 valued task that will remove the overload is rejected rather than blindly rejecting the newest
                                 task. Additionally, rejected tasks are temporarily maintained in a reject queue from which they
                                 can possibly be executed at a later point in time. Another Dynamic Best Effort algorithm, for
                                 situations such as voice or video, where m of n tasks must complete by their deadline has been
                                 proposed by Hamdaoui and Ramanathan. This system model is more m restrictive than a system
                                 in which percent of the tasks must complete by n their deadline. The latter model allows failing
                                 tasks to group together which still meets the percentage of task completion criteria but can
                                 severely degrade system performance. As an example, consider live video. Missing two frames
                                 out of every 20 may only cause a little static or jerkiness in the picture. However, missing the
                                 middle 40 frames out of a 400 frame sequence is clearly unacceptable. In the former model,
                                 where the errors are required to be spread out, the Distance Based Priority (DBP) algorithm


        94                                LOVELY PROFESSIONAL UNIVERSITY
   96   97   98   99   100   101   102   103   104   105   106