Global Multiprocessor Scheduling of Aperiodic Tasks using Time-Independent Priorities Lars Lundberg and Håkan Lennerstad Department of Software Engineering and Computer Science, Blekinge Institute of Technology, S-372 25 Ronneby, Sweden {Lars.Lundberg,Hakan.Lennerstad}@bth.se Abstract We provide a constant time schedulability test for a multiprocessor server handling aperiodic tasks. Dhall´s effect is avoided by dividing the tasks in two priority classes based on task utilization: heavy and light. We prove that if the load on the multiprocessor server stays below % 425 . 35 7 3 = threshold U , the server can accept incoming aperiodic tasks and guarantee that the deadlines of all accepted tasks will be met. 35.425% utili- zation is also a threshold for a task to be characterized as heavy. The bound % 425 . 35 7 3 = threshold U is easy-to- use, but not sharp if we know the number of processors in the multiprocessor. For a server with m processors, we calculate a formula for the sharp bound U threshold (m), which converges to threshold U from above as . m The results are based on a utilization function u m (x) = . / ) 2 2 2 /( ) 1 ( 2 m x x x + + + By using this function, the performance of the multiprocessor can in some cases be improved beyond U threshold (m) by paying the extra overhead of monitoring the individual utilization of the current tasks. 1. Introduction Many real-time services are implemented as multi- processors that handle a number of incoming aperiodic tasks. To guarantee certain response times for aperiodic tasks, we reject tasks that may not be able to meet their response times or could jeopardize the response time of other tasks. Previous results by Abdelzaher and Lu [1] provide a constant time schedulability test that can be used in admission control in uni-processors. The priority assigned to each aperiodic task is time independent, mean- ing that a certain task, with a certain relative deadline, will get the same priority independently when it arrives. This result was later generalized to global (non-partitioned) multiprocessor scheduling by Abdelzaher et al. [2]. The multiprocessor generalization is, however, restricted to a very limited type of tasks called liquid tasks. Previous results on global multiprocessor scheduling of periodic tasks show that the deadline monotonic prior- ity assignment scheme may lead to missed deadlines even if the multiprocessor utilization is very low. The reason for this is the so-called Dhall´s effect [5]. By assuming liquid task sets this problem is removed since liquid task sets do not suffer from Dhall´s effect, and the deadline monotonic priority assignment scheme is in fact optimal for such task sets. For more realistic task sets one must, however, consider Dhall´s effect. The state-of-the-art technique for doing priority assignment in such cases (for periodic tasks) is an algorithm developed initially by Andersson and Jonsson [4], and then improved by Lundberg [7]. Based on the task utilizations, this priority assignment algorithm groups tasks into two categories: light tasks and heavy tasks. This priority assignment algorithm is in this paper adapted to aperiodic tasks. The optimal utilization thresh- old value defining a task as light or heavy is also pro- vided, thus eliminating the need for further improvements of this state-of-the-art algorithm. The optimal threshold value also serves as a constant time utilization test that can be used in admission control. 2. Problem Definition and Previous Results Consider a task model in which independent aperiodic tasks arrive at a multiprocessor-based real-time system at random without prior knowledge from the scheduler. The Proceedings of the 9th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’03) 1080-1812/03 $17.00 © 2003 IEEE