Author_Institution :
Dept. of Inf., Tech. Univ. Dortmund, Dortmund, Germany
Abstract :
In many real-time systems, tasks may experience self-suspension delays when accessing external devices. The problem of scheduling such self-suspending tasks to meet hard deadlines on a uniprocessor is known to be NP-hard in the strong sense. Current solutions including the common suspension-oblivious approach of treating all suspensions as computation can be quite pessimistic. This paper shows that another category of scheduling algorithms, namely fixed-relative-deadline (FRD) scheduling, may yield better performance than classical schedulers such as EDF and RM, for real-time tasks that may experience one self-suspension during the execution of a task instance. We analyze a simple FRD algorithm, namely EDA, and derive corresponding pseudo-polynomial-time and linear-time schedulability tests. To analyze the quality of EDA and its schedulability tests, we analyze their resource augmentation factors, with respect to the speed-up factor that is needed to ensure the schedulability and feasibility of the resulting schedule. Specifically, the speed-up factor of EDA is 2 and 3, when referring to the optimal FRD scheduling and any feasible arbitrary scheduling, respectively. Moreover, the speed-up factor of the proposed linear-time schedulability test is 2.787 and 4.875, when referring to the optimal FRD scheduling and any feasible arbitrary scheduling, respectively. Furthermore, extensive experiments presented herein show that our proposed linear-time schedulability test improves upon prior approaches by a significant margin. To our best knowledge, for the scheduling of self-suspending tasks, these are the first results of any sort that indicate it might be possible to design good approximation algorithms.
Keywords :
approximation theory; computational complexity; processor scheduling; real-time systems; EDA; EDF; FRD scheduling; NP-hard problem; RM; approximation algorithm; fixed-relative-deadline scheduling; hard real-time task; linear-time schedulability test; pseudo-polynomial-time; real-time systems; resource augmentation factors; self-suspension delay; speed-up factor; suspension-oblivious approach; uniprocessor; Real-time systems; Schedules; Scheduling; Scheduling algorithms; Silicon; Suspensions; Fixed-Relative-Deadline Scheduling; Resource Augmentation; Self-Suspensions;