An Analysis of Fixed-Priority Schedulability on a Multiprocessor

Theodore P. Baker
2006 Real-time systems  
A new feasibility test for preemptive scheduling of periodic or sporadic real-time tasks on a single-queue m-server system allows for arbitrary fixed task priorities and arbitrary deadlines. For the special case when deadline equals period and priorities are rate monotonic, any set of tasks with maximum individual task utilization umax and minimum individual task utilization umin is feasible if the total utilization does not exceed m(1 − umax)/2 + umin. Much of the analysis of multiprocessor
more » ... eduling that has been done has focussed on a partitioned model, in which tasks are assigned statically to processors (Dhall and Liu, 1978; Oh and Baker, 1998; Lopez et al., 2001; Lopez et al., 2000) . The alternative, global scheduling, was shown by Dhall and Liu to have very poor worst-case performance. A task set may have processor utilization arbitrarily close to 1 and still not be schedulable on m processors using rate monotonic or earliest-deadline-first scheduling. By comparison, even though optimal partitioning is NP complete, heuristic partitioning algorithms can guarantee schedulability to a much higher processor utilization level than 1. For example, using rate monotonic local scheduling and a simple first-fit-decreasing partitioning heuristic, a utilization level of at least m(2 1/2 − 1) is always feasible for an m-processor system (Oh and Baker, 1998) . This is not only much better than the worst case for global scheduling; it is not far from the limit of (m + 1)/2 that applies to all fixed-job-priority multiprocessor scheduling algorithms, partitioned or not (Andersson et al., 2001) . Recently, progress has been made in understanding global multiprocessor scheduling, based on a reevaluation of the result of Dhall and Liu. Their worst-case example has two kinds of tasks: "heavy" ones, with high ratio of computation time to deadline, and "light" ones, with low ratio of computation time to deadline. It is the mixing of those two kinds of tasks that causes a problem. A scheduling policy that segregates the heavy tasks from the light ones, on disjoint sets of CPU's, would have no problem with Dhall's example. Examination of further examples leads one to conjecture that such a hybrid scheduling policy would not miss any deadlines until a fairly high level of CPU utilization is achieved, and might even permit the use of simple utilization-based schedulability tests. The preemptive scheduling of periodic tasks on multiprocessors was examined in (Andersson et al., 2001) , and it was shown that any system of independent periodic tasks for which the utilization of every individual task is at most m/(3m − 2) can be scheduled successfully on m processors using rate monotonic scheduling if the total utilization is at most m 2 /(3m − 1). In (Baruah and Goossens, 2003) there is a similar result, showing that a total utilization of at least m/3 can be achieved if the individual task utilizations do not exceed 1/3. Andersson, Baruah, and Johnsson proposed a hybrid scheduling algorithm, called RM-US[m/(3m − 2)], which gives higher priority to tasks with utilizations above m/(3m − 2), that is able to successfully schedule any set of independent periodic tasks with total utilization up to m 2 /(3m − 1). This paper further advances the understanding of global fixed-priority multiprocessor schedulability. The main contribution is a new analysis concept, called the (µ, k − 1) busy interval. By analyzing the
doi:10.1007/s11241-005-4686-1 fatcat:td7bl3vqefacppnciynigzxcim