Limited Preemptive Scheduling in Real-Time Systems
Total Page:16
File Type:pdf, Size:1020Kb
Mälardalen University Press Dissertations No. 199 LIMITED PREEMPTIVE SCHEDULING IN REAL-TIME SYSTEMS Abhilash Thekkilakattil 2016 School of Innovation, Design and Engineering Mälardalen University Press Dissertations No. 199 LIMITED PREEMPTIVE SCHEDULING IN REAL-TIME SYSTEMS Abhilash Thekkilakattil Akademisk avhandling som för avläggande av teknologie doktorsexamen i datavetenskap vid Akademin för innovation, design och teknik kommer att offentligen försvaras fredagen den 27 maj 2016, 13.15 i Gamma, Mälardalens högskola, Västerås. Fakultetsopponent: Associate Professor Reinder Bril, Eindhoven University of Technology Copyright © Abhilash Thekkilakattil, 2016 ISBN 978-91-7485-254-7 ISSN 1651-4238 Printed by Arkitektkopia, Västerås, Sweden Akademin för innovation, design och teknik Mälardalen University Press Dissertations No. 199 Mälardalen University Press Dissertations No. 199 LIMITED PREEMPTIVE SCHEDULING IN REAL-TIME SYSTEMS Abhilash Thekkilakattil LIMITED PREEMPTIVE SCHEDULING IN REAL-TIME SYSTEMS Abhilash Thekkilakattil Akademisk avhandling som för avläggande av teknologie doktorsexamen i datavetenskap vid Akademin för innovation, design och teknik kommer att offentligen försvaras fredagen den 27 maj 2016, 13.15 i Gamma, Mälardalens högskola, Västerås. Akademisk avhandling Fakultetsopponent: Associate Professor Reinder Bril, Eindhoven University of Technology som för avläggande av teknologie doktorsexamen i datavetenskap vid Akademin för innovation, design och teknik kommer att offentligen försvaras fredagen den 27 maj 2016, 13.15 i Gamma, Mälardalens högskola, Västerås. Fakultetsopponent: Associate Professor Reinder Bril, Eindhoven University of Technology Akademin för innovation, design och teknik Akademin för innovation, design och teknik Abstract Preemptive and non-preemptive scheduling paradigms typically introduce undesirable side effects when scheduling real-time tasks, mainly in the form of preemption overheads and blocking, that potentially compromise timeliness guarantees. The high preemption overheads in preemptive real- time scheduling may imply high resource utilization, often requiring significant over-provisioning, e.g., pessimistic Worst Case Execution Time (WCET) approximations. Non-preemptive scheduling, on the other hand, can be infeasible even for tasksets with very low utilization, due to the blocking on higher priority tasks, e.g., when one or more tasks have WCETs greater than the shortest deadline. Limited preemptive scheduling facilitates the reduction of both preemption related overheads as well as blocking by deferring preemptions to favorable locations in the task code. In this thesis, we investigate the feasibility of limited preemptive scheduling of real-time tasks on uniprocessor and multiprocessor platforms. We derive schedulability tests for global limited preemptive scheduling under both Earliest Deadline First (EDF) and Fixed Priority Scheduling (FPS) paradigms. The tests are derived in the context of two major mechanisms for enforcing limited preemptions, viz., defer preemption for a specified duration (i.e., Floating Non-Preemptive Regions) and defer preemption to the next specified location in the task code (i.e., Fixed Preemption Points). Abstract Moreover, two major preemption approaches are considered, viz., wait for the lowest priority job to become preemptable (i.e., a Lazy Preemption Approach (LPA)) and preempt the first executing lower priority job that becomes preemptable (i.e., an Eager Preemption Approach (EPA)). Evaluations using synthetically generated tasksets indicate that adopting an eager preemption approach is beneficial in terms of schedulability in the context of global FPS. Further evaluations simulating different global Preemptive and non-preemptive scheduling paradigms typically limited preemptive scheduling algorithms expose runtime anomalies with respect to the observed number of preemptions, indicating that limited preemptive scheduling may not necessarily reduce the introduce undesirable side effects when scheduling real-time tasks, number of preemptions in multiprocessor systems. We then theoretically quantify the sub-optimality mainly in the form of preemption overheads and blocking, that (the worst-case performance) of limited preemptive scheduling on uniprocessor and multiprocessor potentially compromise timeliness guarantees. The high preemption platforms using resource augmentation, e.g., processor speed-up factors to achieve optimality. Finally, we propose a sensitivity analysis based methodology to control the preemptive behavior of real-time overheads in preemptive real-time scheduling may imply high resource tasks using processor speed-up, in order to satisfy multiple preemption behavior related constraints. utilization, often requiring significant over-provisioning, e.g., The results presented in this thesis facilitate the analysis of limited preemptively scheduled real-time tasks on uniprocessor and multiprocessor platforms. pessimistic Worst Case Execution Time (WCET) approximations. Non-preemptive scheduling, on the other hand, can be infeasible even for tasksets with very low utilization, due to the blocking on higher priority tasks, e.g., when one or more tasks have WCETs greater than the shortest deadline. Limited preemptive scheduling facilitates the reduction of both preemption related overheads as well as blocking by deferring preemptions to favorable locations in the task code. In this thesis, we investigate the feasibility of limited preemptive scheduling of real-time tasks on uniprocessor and multiprocessor platforms. We derive schedulability tests for global limited preemptive scheduling under both Earliest Deadline First (EDF) and Fixed Priority Scheduling (FPS) paradigms. The tests are derived in the context of two major mechanisms for enforcing limited preemptions, viz., defer preemption for a specified duration (i.e., Floating Non-Preemptive Regions) and defer preemption to the next specified location in the task code (i.e., Fixed Preemption Points). Moreover, two major preemption approaches are considered, viz., wait for the lowest priority job to ISBN 978-91-7485-254-7 become preemptable (i.e., a Lazy Preemption Approach (LPA)) and ISSN 1651-4238 i Abstract Preemptive and non-preemptive scheduling paradigms typically introduce undesirable side effects when scheduling real-time tasks, mainly in the form of preemption overheads and blocking, that potentially compromise timeliness guarantees. The high preemption overheads in preemptive real-time scheduling may imply high resource utilization, often requiring significant over-provisioning, e.g., pessimistic Worst Case Execution Time (WCET) approximations. Non-preemptive scheduling, on the other hand, can be infeasible even for tasksets with very low utilization, due to the blocking on higher priority tasks, e.g., when one or more tasks have WCETs greater than the shortest deadline. Limited preemptive scheduling facilitates the reduction of both preemption related overheads as well as blocking by deferring preemptions to favorable locations in the task code. In this thesis, we investigate the feasibility of limited preemptive scheduling of real-time tasks on uniprocessor and multiprocessor platforms. We derive schedulability tests for global limited preemptive scheduling under both Earliest Deadline First (EDF) and Fixed Priority Scheduling (FPS) paradigms. The tests are derived in the context of two major mechanisms for enforcing limited preemptions, viz., defer preemption for a specified duration (i.e., Floating Non-Preemptive Regions) and defer preemption to the next specified location in the task code (i.e., Fixed Preemption Points). Moreover, two major preemption approaches are considered, viz., wait for the lowest priority job to become preemptable (i.e., a Lazy Preemption Approach (LPA)) and i ii iii preempt the first executing lower priority job that becomes preemptable (i.e., an Eager Preemption Approach (EPA)). Evaluations using synthetically generated tasksets indicate that adopting an eager preemption approach is beneficial in terms of schedulability in the Faculty Opponent: context of global FPS. Further evaluations simulating different global Reinder Bril, Technische Universiteit Eindhoven, Netherlands limited preemptive scheduling algorithms expose runtime anomalies • with respect to the observed number of preemptions, indicating that limited preemptive scheduling may not necessarily reduce the number Examiners: of preemptions in multiprocessor systems. We then theoretically quantify the sub-optimality (the worst-case performance) of limited Giorgio Buttazzo, Scuola Superiore Sant’Anna di Pisa, Italy preemptive scheduling on uniprocessor and multiprocessor platforms • Gerhard Fohler, Universitat¨ Kaiserslautern, Germany using resource augmentation, e.g., processor speed-up factors to • achieve optimality. Finally, we propose a sensitivity analysis based Liliana Cucu-Grosjean, INRIA Paris-Rocquencourt, France methodology to control the preemptive behavior of real-time tasks • using processor speed-up, in order to satisfy multiple preemption behavior related constraints. The results presented in this thesis Reserve: facilitate the analysis of limited preemptively scheduled real-time tasks Damir Isovic, Malardalens¨ Hogskola,¨ Sweden on uniprocessor and multiprocessor platforms. • Supervisors: Sasikumar Punnekkat, Malardalens¨ Hogskola,¨ Sweden • Radu Dobrin, Malardalens¨ Hogskola,¨ Sweden • ii iii preempt the first executing lower priority job that becomes preemptable (i.e.,