
Global Fixed Priority Scheduling with Deferred Pre-emption R.I. Davis, A. Burns J. Marinho, V. Nelis, S.M. Petters M. Bertogna University of York, UK. CISTER/INESC-TEC, ISEP, Porto, Portugal. University of Modena, Italy. {rob.davis, alan.burns}@york.ac.uk {jmsm, nelis, smp}@isep.ipp.pt [email protected] Abstract— This paper introduces schedulability analysis for emption (gFPDS). gFPDS can be viewed as a superset of global fixed priority scheduling with deferred pre-emption both global fixed priority pre-emptive scheduling (gFPPS) (gFPDS) for homogeneous multiprocessor systems. gFPDS is a and global fixed priority non-pre-emptive scheduling superset of global fixed priority pre-emptive scheduling (gFPPS) (gFPNS) and strictly dominates both. With gFPDS, there are and global fixed priority non-pre-emptive scheduling (gFPNS). two key parameters that affect schedulability: the priority We show how schedulability can be improved via appropriate choice of priority assignment and final non-pre-emptive region assigned to each task, and the length of each task’s final non- lengths, and we provide algorithms which optimize schedulability pre-emptive region (FNR). The FNR length affects both the in this way. An experimental evaluation shows that gFPDS schedulability of the task itself, and the schedulability of significantly outperforms both gFPPS and gFPNS. tasks with higher priorities. This is a trade-off as increasing the FNR length can improve schedulability for the task itself I. INTRODUCTION by reducing the number of times it can be pre-empted, but A common misconception with regard to fixed priority potentially increases the blocking effect on higher priority scheduling of sporadic tasks is that fully pre-emptive tasks which may reduce their schedulability. scheduling is more effective in terms of schedulability than In 2012, Davis and Bertogna [27] introduced an optimal non-pre-emptive scheduling. The two are however algorithm for fixed priority scheduling with deferred pre- incomparable; there are tasksets that are schedulable under emption on a single processor. This algorithm finds a fixed priority non-pre-emptive scheduling that are not schedulable priority assignment and set of FNR lengths schedulable under fixed priority pre-emptive scheduling and whenever such a schedulable combination exists. In this vice-versa. This is the case for uniprocessor scheduling [27] paper we also build upon this work, extending it to the and also the case for global multiprocessor scheduling [30], multiprocessor case. For a given priority ordering, we show which is the focus of this paper. how to find an assignment of FNR lengths that result in a While the blocking effect, due to long non-pre-emptive system that is deemed schedulable under gFPDS according regions of low priority tasks degrades schedulability for to our sufficient schedulability tests, whenever such an single processor systems that have a wide range of task assignment exists of FNR lengths exists. We also show that execution times and periods (as illustrated by Figure 7 in the Final Non-pre-emptive Region and Priority Assignment [27]), Guan et al. [30] showed that the same is not (FNR-PA) algorithm from [27] is not optimal in the necessarily true for multiprocessor systems. With m multiprocessor case, but nevertheless can be used as a processors rather than one, long non-pre-emptive regions can heuristic for determining both priority ordering and final be accommodated without necessarily compromising the non-pre-emptive region lengths. schedulability of higher priority tasks. However, this advantage only extends so far; with m processors then m II. BACKGROUND RESEARCH long non-pre-emptive regions are enough to significantly A. Deferred pre-emption compromise schedulability. In this context, limited non-pre- Two different models of fixed priority scheduling with emptive execution has the advantage of reducing the number deferred pre-emption have been developed in the literature. of pre-emptions, and potentially improving the worst-case In the fixed model, introduced by Burns in 1994 [19], the response time of tasks, while also keeping blocking effects location of each non-pre-emptive region is statically on higher priority tasks within tolerable limits. determined prior to execution. Pre-emption is only permitted In the literature, the term fixed priority scheduling with at pre-defined locations in the code of each task, referred to deferred pre-emption has been used to refer to a variety of as pre-emption points. This method is also referred to as co- different techniques by which pre-emptions may be deferred operative scheduling, as tasks co-operate, providing re- for some interval of time after a higher priority task becomes scheduling / pre-emption points to improve schedulability. ready. These are described in a survey by Buttazzo et al. [21] In the floating model [7], [32], an upper bound is given and briefly discussed in Section II. In this paper, we assume on the length of the longest non-pre-emptive region of each a simple form of fixed priority scheduling with deferred pre- task. However, the location of each non-pre-emptive region emption where each task has a single non-pre-emptive region is not known a priori and may vary at run-time, for example at the end of its execution. If this region is of the minimum under the control of the operating system. possible length for all tasks, then we have fully pre-emptive For uniprocessor systems: Exact schedulability analysis scheduling, whereas if it constitutes all of the task’s for the fixed model was derived by Bril et al. in 2009 [18]. execution time then we have non-pre-emptive scheduling. Subsequently, Bertogna et al. integrated pre-emption costs In this paper, we introduce sufficient schedulability tests and cache related pre-emption delays (CRPD) into analysis for global fixed priority scheduling with deferred pre- of the fixed model, considering both fixed [14] and variable [15] pre-emption costs. In 2011, Bertogna et al. [16] derived Tasks are assumed to comply with the sporadic task a method for computing the optimal FNR length of each task model. In this model, each task gives rise to a potentially in order to maximize schedulability assuming a given unbounded sequence of jobs. Each job may arrive at any priority assignment. In 2012, Davis and Bertogna [27] time once a minimum inter-arrival time has elapsed since the introduced an optimal algorithm that is able to find a arrival of the previous job of the same task. τ schedulable combination of priority assignment and FNR Each task i is characterised by its relative deadline Di , ≤ lengths whenever such a schedulable combination exists. worst-case execution time Ci ( Ci Di ), and minimum B. Global fixed priority scheduling inter-arrival time or period Ti . It is assumed that all tasks have constrained deadlines ( D ≤ T ). The utilisation U of In 2003, Baker [5] developed a strategy that underpins an i i i each task is given by Ci /Ti . Under gFPDS, each task is extensive thread of subsequent research into schedulability assumed to have a final non-pre-emptive region of length F tests for gFPPS [9], [11], [12], [13], [29], [31], and gFPNS i in the range [1,Ci ] (Here, the minimum value is 1 rather [30]. (For a comprehensive survey of multiprocessor real- than 0 as a task can only be pre-empted at discrete times time scheduling, the reader is referred to [26]). Baker’s work corresponding to processor clock cycles). Finding an was subsequently built upon by Bertogna et al. [11] [13]. appropriate FNR length for each task is assumed to be part of They developed sufficient schedulability tests for gFPPS the scheduling problem. based on bounding the maximum workload in a given The worst-case response time Ri of a task is the longest interval. In 2007, Bertogna and Cirinei [12] adapted this possible time from the release of the task until it completes approach to iteratively compute an upper bound on the τ ≤ execution. Thus task i is schedulable if and only if Ri Di response time of each task, using the upper bound response ∀ ≤ and a taskset is schedulable if and only if i Ri Di . We times of other tasks to limit the amount of interference UB use Ri to indicate an upper bound on the worst-case considered. In 2009, Guan et al. [31] extended this approach τ response time of task i . using ideas from [8] to limit the amount of carry-in Under gFPDS, at any given time, the m ready tasks with interference. the highest priorities are selected for execution. Final non- In 2009 and 2010, Davis and Burns [22], [23] showed pre-emptive regions are assumed to be implemented by that priority assignment is fundamental to the effectiveness manipulating task priorities, thus a task executing its FNR of gFPPS. They proved that Audsley’s optimal priority has the highest priority and will not be pre-empted. assignment algorithm [3], [4] is applicable to some of the The tasks are assumed to be independent and so cannot sufficient tests developed for gFPPS, including the deadline- be blocked from executing by another task, other than due to based test of Bertogna et al. [13], but not to others such as contention for the processors. Further, it is assumed that once the later response time tests [12], [31]. a job starts to execute it will not voluntarily suspend itself. In 2011, Guan et al. [30] provided schedulability analysis Job parallelism is not permitted; hence, at any given time, for gFPNS based on the approach of Baker [5], and the each job may execute on at most one processor. As a result techniques introduced by Bertogna et al. in [11]. of pre-emption and subsequent resumption, a job may gFPDS is broadly similar to the dynamic algorithm FPZL migrate from one processor to another.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages11 Page
-
File Size-