Limited Preemptive Real-time Scheduling on Multiprocessors. Abhilash Thekkilakattil

Similar documents
Lecture Note #4: Task Scheduling (1) EECS 571 Principles of Real-Time Embedded Systems. Kang G. Shin EECS Department University of Michigan

Lecture 6: Scheduling. Michael O Boyle Embedded Software

Priority-Driven Scheduling of Periodic Tasks. Why Focus on Uniprocessor Scheduling?

SimSo: A Simulation Tool to Evaluate Real-Time Multiprocessor Scheduling Algorithms

3. Scheduling issues. Common approaches /2. Common approaches /1. Common approaches / /17 UniPD / T. Vardanega 06/03/2017

CPU Scheduling. Disclaimer: some slides are adopted from book authors and Dr. Kulkarni s slides with permission

Slack Assessment of the Real Time Scheduling Algorithms

Learning Module II: Real-Time Systems Design

Real-Time and Embedded Systems (M) Lecture 4

Reference model of real-time systems

Fixed-Priority Preemptive Multiprocessor Scheduling: To Partition or not to Partition

Preference-Oriented Fixed-Priority Scheduling for Real-Time Systems

Real-Time Systems. Modeling Real-Time Systems

Dual Priority Scheduling: A Means of Providing Flexibility in Hard Real-time Systems.

GENERALIZED TASK SCHEDULER

ENGG4420 CHAPTER 4 LECTURE 3 GENERALIZED TASK SCHEDULER

Introduction to Real-Time Systems. Note: Slides are adopted from Lui Sha and Marco Caccamo

Real-time System Overheads: a Literature Overview

Bounding Worst-Case Response Time for Tasks With Non-Preemptive Regions

Intro to O/S Scheduling. Intro to O/S Scheduling (continued)

Advanced Types Of Scheduling

Motivation. Types of Scheduling

System Mode Changes - General and Criticality-Based

DEADLINE MONOTONIC ALGORITHM (DMA)

Clock-Driven Scheduling

Preemptive Scheduling of Multi-Criticality Systems with Varying Degrees of Execution Time Assurance

Lecture 11: CPU Scheduling

EDZL Schedulability Analysis in Real-Time Multicore Scheduling

CHAPTER 4 CONTENT October :10 PM

Process Scheduling Course Notes in Operating Systems 1 (OPESYS1) Justin David Pineda

Today s Papers. Composability is Essential. The Future is Parallel Software. EECS 262a Advanced Topics in Computer Systems Lecture 12

Principles of Operating Systems

Swift mode changes in memory constrained real-time systems

SELF OPTIMIZING KERNEL WITH HYBRID SCHEDULING ALGORITHM

Energy-Efficient Scheduling of Interactive Services on Heterogeneous Multicore Processors

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Single Machine Scheduling with Interfering Job Sets

CRITICAL TASK RE-ASSIGNMENT UNDER HYBRID SCHEDULING APPROACH IN MULTIPROCESSOR REAL- TIME SYSTEMS

CS 318 Principles of Operating Systems

Real-Time Scheduling Theory and Ada

Chapter 6: CPU Scheduling. Basic Concepts. Histogram of CPU-burst Times. CPU Scheduler. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Scheduling II. To do. q Proportional-share scheduling q Multilevel-feedback queue q Multiprocessor scheduling q Next Time: Memory management

Operating System 9 UNIPROCESSOR SCHEDULING

Aalborg Universitet. Published in: Proceedings of FACS DOI (link to publication from Publisher): / _6

Technical Report CMU/SEI-89-TR-14 ESD-TR-89-; 022. Carnegie-Mellon University. Software Engineering Institute. Real-Time Scheduling Theory

Dependency-aware and Resourceefficient Scheduling for Heterogeneous Jobs in Clouds

Job Scheduling in Cluster Computing: A Student Project

Balancing Power Consumption in Multiprocessor Systems

Uniprocessor Scheduling

OPERATIONS RESEARCH Code: MB0048. Section-A

Towards the design of certifiable mixed-criticality systems

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

Stergios V. Anastasiadis and Kenneth C. Sevcik. Computer Systems Research Institute. University of Toronto.

LEAST-MEAN DIFFERENCE ROUND ROBIN (LMDRR) CPU SCHEDULING ALGORITHM

Scheduling and Coordination of Distributed Design Projects

System Level Power Management Using Online Learning

Gang Scheduling Performance on a Cluster of Non-Dedicated Workstations

FIT: A Flexible, LIght-Weight, and Real-Time Scheduling System for Wireless Sensor Platforms

CPU Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Unix Scheduler

10/1/2013 BOINC. Volunteer Computing - Scheduling in BOINC 5 BOINC. Challenges of Volunteer Computing. BOINC Challenge: Resource availability

Journal of Global Research in Computer Science

A Job Scheduling Framework for Large Computing Farms

2007 ALLDATA LLC. All rights reserved. ALLDATA is a registered trademark of ALLDATA LLC. ATI is a mark of Automotive Training Institute.

TRANSPORTATION PROBLEM AND VARIANTS

Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - V CPU Scheduling - I. University at Buffalo.

Labs : Real-Time Scheduling Tools. ETR 2015 F. Singhoff

Safety with Embedded Multicores. Glenn Farrall: Microcontrollers Infineon UK

New Results for Lazy Bureaucrat Scheduling Problem. fa Sharif University of Technology. Oct. 10, 2001.

7. What is planning? It is an act of formulating a program for a definite course of action. Planning is to decide what is to be done.

Motivating Examples of the Power of Analytical Modeling

Bias Scheduling in Heterogeneous Multicore Architectures. David Koufaty Dheeraj Reddy Scott Hahn

The BEST Desktop Soft Real-Time Scheduler

CS162 Operating Systems and Systems Programming Lecture 10. Tips for Handling Group Projects Thread Scheduling

DRY-CLEANING SCHEDULING. Ratnam Jain (rj2333) Ponni Vel (pvv2001) Yeereina Wu(yw2394)

Resource Allocation Optimization in Critical Chain Method

How fast is your EC12 / z13?

A COMPARATIVE ANALYSIS OF SCHEDULING ALGORITHMS

Using SAP with HP Virtualization and Partitioning

An Omniscient Scheduling Oracle for Systems with Harmonic Periods

CPU Scheduling. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

POWER consumption is a key issue in the design of computing

Ph.D. Defense: Resource Allocation Optimization in the Smart Grid and High-performance Computing Tim Hansen

Asymptotic Analysis of Real-Time Queues

Energy Aware Resource Allocation for Data Center

Dynamic Thermal Management in Modern Processors

Cache-Aware Real-Time Scheduling on Multicore Platforms: Heuristics and a Case Study

System Architecture Group Department of Computer Science. Diploma Thesis. Impacts of Asymmetric Processor Speeds on SMP Operating Systems

CPU Scheduling. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Scheduling: Introduction

Model-Driven Design-Space Exploration for Software-Intensive Embedded Systems

Artificial Intelligence

CPU Scheduling. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Recall: FCFS Scheduling (Cont.) Example continued: Suppose that processes arrive in order: P 2, P 3, P 1 Now, the Gantt chart for the schedule is:

INDIAN INSTITUTE OF MATERIALS MANAGEMENT Post Graduate Diploma in Materials Management PAPER 18 C OPERATIONS RESEARCH.

Ready, Fire, Aim. Oops, maybe we should Aim 1 st. Larry Marine Intuitive Design Group Intuitive Design Group, Inc.

Online Scheduling in Distributed Message Converter Systems

Control rules for dispatching trains on general networks with multiple train speeds

Computer UCSC. The MASC Group

Job Scheduling Challenges of Different Size Organizations

Genetic Algorithms-Based Model for Multi-Project Human Resource Allocation

Transcription:

Limited Preemptive Real-time Scheduling on Multiprocessors Abhilash Thekkilakattil

Mälardalen University- Sweden Västerås ( Westeros ) Stockholm

Västerås

Kerala, India

Why am I here? 5

Why am I here? 6

Limited Preemptive Real-time Scheduling on Multiprocessors Abhilash Thekkilakattil

Limited Preemptive Real-time Scheduling on Multiprocessors Abhilash Thekkilakattil

We do Scheduling Everyday! 15 mins 20 mins 8 hrs 1 hr 15 mins 20 mins 8 hrs 1 hr 06:00 20:00 day Priority based scheduling Deadline based scheduling Call from school: sick kid work Drop kid at home work Go to tax office 16:00 Closing time of tax office Shopping 20:00 Closing time of grocery store web images 9

Limited Preemptive Real-time Scheduling on Multiprocessors Abhilash Thekkilakattil

Real-time Systems for the Uninitiated Computer programs called tasks time Detect the crash Evaluate its intensity Inflate the airbags web images 11

Real-time Systems for the Uninitiated Correctness of the system depends on both: 1. Correctness of the decision to inflate the airbags 2. Correctness of the time at which the decision is implemented web images 12

Real-time Systems for the Uninitiated Fewer computers than the number of tasks! Need to schedule the tasks such that deadlines are not missed For example tasks are typically executed highest priority first or earliest deadline first Schedulability test determines if a taskset meets deadlines under a given scheduling algorithm 13

Real-time Tasks Periodic and sporadic event occurrences Timing characteristics of the physical processes Dependability requirements int task_braking() {.. } Real-time Tasks Preemptive scheduling Non-Preemptive scheduling web images

Limited Preemptive Real-time Scheduling on Multiprocessors Abhilash Thekkilakattil

Limited Preemptive Scheduling Fully Preemptive Scheduling Fixed Preemption Points Scheduling 16

Faster Computers vs. Power Demand Nuclear reactor 1000 100 Power density (W/cm 2 ) 10 1 4004 8008 8080 286 486 increasing processor speeds 8086 386 8085 P1 P2 P3 Intel cancelled Pentium Thejas! Increase the number of processors instead of P4 1971 1974 1978 1985 1992 2000 2004 2008 Higher performance processors (adapted from Marko Bertogna s PhD thesis) 17 web images

Processor to Memory Performance Gap Hardware features to bridge this performance gap e.g., caches Predictability challenge! Computer Architecture: A Quantitative Approach by John L. Hennessy, David A. Patterson, Andrea C. Arpaci-Dusseau 18

Processor to Memory Performance Gap Wait for the data (overhead) Processor Task detect_crash Loading Please wait time fetch data request data Memory web images 19

Processor to Memory Performance Gap Smaller overhead shorter execution time Processor Task detect_crash Loading Please wait time fetch data request data Memory web images 20

Bridging the Processor to Memory Performance Gap Wait for the data is negligible Processor Task brake Task detect_crash fetch data request data Cache memory overhead (cache related) Loading Please wait cache data miss time fetch data request data Alternative 1: build predictable hardware e.g., PRETS Alternative 2: efficient resource allocation & overhead accounting Memory web images 21

Preemption Related Overheads Cache related preemption and migration delays Overhead involved in reloading cache lines Vary with the point of preemption and increase bus contention Context switch related overheads Overhead involved in saving and retrieving the context of the preempted task Pipeline related overheads Clear the pipeline upon preemption Refill the pipeline upon resumption Hi! Hello Donald, tell me! 22 web images

Preemption Related Overheads Cache related preemption and migration delays Overhead involved in reloading cache lines Vary with the point of preemption and increase bus contention Context switch related overheads Overhead involved in saving and retrieving the context of the preempted task Pipeline related overheads Clear the pipeline upon preemption Refill the pipeline upon resumption Hi! Alternative: don t allow preemptions! Hello Donald, I will call you after I finish this book! 23 web images

Motivation Preemptive Scheduling Zero blocking: high schedulable utilization High runtime overhead: preemption costs Difficult to perform timing analysis Difficult to demonstrate predictability and safety: multicores Non-Preemptive Scheduling Low runtime overhead: zero preemption costs Relatively easier to perform timing analysis Preferred by many safety standards Increased blocking: low schedulable utilization high priority preemption cost cost high priority blocking blocking low priority low priority Solution: Limited-Preemptive Scheduling Best of preemptive and non-preemptive: preempt only when necessary high priority Bounded non-preemptive region low priority 24

Limited Preemptive Scheduling Models Preemption Threshold Scheduling (ThreadX, Wang and Saksena, 1999) Fixed Preemption Point Scheduling (Burns, 1994, Bril et al., 2009, Yao et al., 2011) Floating Non-Preemptive Region Scheduling (Baruah, 2005) Our focus 25

Fixed Preemption Points Scheduling Fixed Preemption Points job 1 job 2 High priority task Σ Non-Preemptive Region (NPR) = WCET Relative Deadline Hi! Hi Donald, give me some time. Let me just finish this chapter! Minimum inter-arrival time (period) web images 26

Floating Non-Preemptive Regions Scheduling Task j (high priority) Floating NPR (time duration) Task i (low priority) Hi! Hi Donald, give me some time. Let me just finish 5 more pages! web images 27

Limited Preemptive Scheduling Landscape Fixed priority based scheduling Deadline based scheduling Uniprocessor Limited Preemptive FPS Limited Preemptive EDF Multiprocessor Global Limited Preemptive FPS Global Limited Preemptive EDF 28

Limited Preemptive Scheduling Landscape Fixed priority based scheduling Deadline based scheduling Uniprocessor Limited Preemptive FPS Limited Preemptive EDF Multiprocessor Global Limited Preemptive FPS Global Limited Preemptive EDF Handling preemptions in global LP scheduling: 1. Eager Preemption Approach 2. Lazy Preemption Approach 29

Global Limited Preemptive Scheduling Lazy Preemption Approach: wait to preempt the lowest priority task High priority Processor 1 Medium priority Processor 2 High priority Low priority 30

Global Limited Preemptive Scheduling Eager Preemption Approach: preempt the lower priority task that first finishes its NPR (not necessarily the lowest) High priority Processor 1 High priority Medium priority Processor 2 Low priority 31

Incomparability of Eager and Lazy Preemption Approaches There are tasksets schedulable under an eager approach that are unschedulable under the lazy approach and vice-versa! 32

Limited Preemptive Scheduling Landscape Fixed priority based scheduling Deadline based scheduling Uniprocessor Multiprocessor Limited Preemptive FPS Burns 94, Bril et al., RTSJ 09, Yao et al., RTSJ 11 Global Limited Preemptive FPS Marinho et al., RTSS 13, Block et al., RTCSA 07 Limited Preemptive EDF Baruah, ECRTS 05 Global Limited Preemptive EDF Block et al., RTCSA 07 Limited preemptive scheduling models: Disclaimer: references are not exhaustive 1. Fixed Preemption Points 2. Floating Non-Preemptive Regions 33

Global Limited Preemptive EDF Fixed Preemption Points Block et al., RTCSA 07 (link based scheduling) Floating Non- Preemptive Regions No significant work! Question 1: How to determine the schedulability of real-time tasks under G-LP-EDF with floating NPRs? 34

G-LP-EDF Scheduling Model Floating NPRs and Lazy Preemption Approach high priority job release Processor 1 t L job with latest deadline t t L Processor 2 t t Low priority job executions High priority job executions 35

Methodology Overview A necessary unschedulability condition: Upper-bound on the work generated under G-LP-EDF > Lower-bound on the work executed under any work conserving algorithm 36

Methodology Overview A sufficient schedulability condition: Upper-bound on the work generated under G-LP-EDF Lower-bound on the work executed under any work conserving algorithm 37

Limited Preemptive Scheduling Landscape Uniprocessor Multiprocessor Fixed priority based scheduling Limited Preemptive FPS Burns 94, Bril et al., RTSJ 09, Yao et al., RTSJ 11 Global Limited Preemptive FPS Marinho et al., RTSS 13, Block et al., RTCSA 07 Deadline based scheduling Limited Preemptive EDF Baruah, ECRTS 05 Global Limited Preemptive EDF Block et al., RTCSA 07 This talk: schedulability test for G- LP-EDF with floating NPRs Preemption approaches: 1. Eager Preemption Approach 2. Lazy Preemption Approach 38

Global Limited Preemptive FPS with Fixed Preemption Points Lazy Preemption Approach Block et al., RTCSA 07 and Marinho et al., RTSS 13 Eager Preemption Approach No significant work! Question 2: How to determine the schedulability of real-time tasks under G-LP-FPS with eager preemptions? 39

G-LP-FPS Scheduling Model Fixed Preemption Points and Eager Preemption Approach High priority Processor 1 High priority Medium priority Processor 2 Low priority task is executing even though the medium priority task is ready to execute lower priority interference after preemptions! Low priority 40

Schedulability Analysis under G-LP-FPS with Eager Preemptions Interference (higher and lower priority) Task i Method to calculate higher priority interference exists We propose a method to calculate response time considering the lower priority interference before and after a task starts executing 41

Schedulability Analysis under G-LP-FPS with Eager Preemptions Task i R i = Interference (higher and lower priority) + + + Interference (higher and lower priority) Interference (higher and lower priority) Interference (higher and lower priority) + C i Of course, preemption may not occur at all preemption points No. of preemptions as a function of response time to reduce pessimism Details in the thesis 42

Experiments Compared schedulability under eager and lazy preemption approaches Our test vs. existing test for link-based scheduling that implements lazy preemption approach We investigated how weighted schedulability varied with: 1. Varying number of tasks 2. Varying number of processors 3. Varying NPR lengths a. relatively large NPR w.r.t task WCETs b. relatively small NPR w.r.t task WCETs 43

Schedulability under Large NPRs Schedulability varies with no. of preemptions Variations in blocking due to preemptions number of preemptions=3 number of preemptions=2 number of preemptions=1 number of preemptions=3 number of preemptions=2 Eager preemptions number of preemptions=0 number of preemptions 1 Lazy preemptions 44

Experiments We investigated how weighted schedulability varied with: 1. Varying number of tasks 2. Varying number of processors 3. Varying NPR lengths a. relatively large NPR w.r.t task WCETs b. relatively small NPR w.r.t task WCETs 45

Schedulability under Small NPRs Lazy approach outperforms eager approach for smaller NPR lengths Small NPR lengths more preemption points more blocking Lazy preemptions Eager preemptions 46

Limited Preemptive Scheduling Landscape Uniprocessor Multiprocessor Fixed priority based scheduling Limited Preemptive FPS Burns 94, Bril et al., RTSJ 09, Yao et al., RTSJ 11 Global Limited Preemptive FPS Marinho et al., RTSS 13, Block et al., RTCSA 07 This talk: schedulability test for G- LP-FPS with eager preemption Deadline based scheduling Limited Preemptive EDF (Baruah, ECRTS 05) Global Limited Preemptive EDF Block et al., RTCSA 07 This talk: schedulability test for G- LP-EDF with floating NPRs 47

No. of Preemptions under FPS and EDF Uniprocessors Buttazzo, RTSJ 05 (RM vs EDF: Judgement Day) RM (FPS) worse than EDF Multiprocessors No significant work! Question 3: How does the no. of preemptions vary with the scheduling algorithm (EDF vs. FPS) and approach to preemption (eager vs. lazy) on multiprocessors? 48

RM vs EDF: Rise of the Multiprocessors G-P-FPS G-P-EDF 4.4 4 Weighted no. of preemptions 3.6 3.2 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR = % of WCET 49

RM vs EDF: Rise of the Multiprocessors G-P-FPS EPA-FPS G-P-EDF 4.4 4 Weighted no. of preemptions 3.6 3.2 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR = % of WCET 50

RM vs EDF: Rise of the Multiprocessors G-P-FPS EPA-FPS G-P-EDF EPA-EDF 4.4 4 Weighted no. of preemptions 3.6 3.2 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR = % of WCET 51

RM vs EDF: Rise of the Multiprocessors 4.4 4 LP-FPS 3.6 Weighted no. of preemptions 3.2 2.8 2.4 2 1.6 1.2 G-P-FPS EPA-FPS LPA-FPS G-P-EDF EPA-EDF LPA-EDF LP-EDF Weighted no. of preemptions Similar Trends LPA-FPS LPA-EDF 0.77 0.66 0.55 0.44 0.33 0.22 0.11 0 35 40 45 50 55 60 65 70 75 80 85 90 95 100 Weighted no. of preemptions 1.2 Preemptive-FPS 0.4 Preemptive-EDF EPA-FPS EPA-EDF 2 1.6 0 45 50 55 60 65 70 75 80 85 90 95 100 NPR = % of WCET NPR = % of WCET 0.8 Trends reverse 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR = % of WCET 52

A Better Priority Assignment than RM? RMPO : Higher frequency of release higher the priority D-C MPO : Smaller the value of D-C higher the priority 53

A Better Priority Assignment than RM? 4.4 P-FPS (DM) 4 3.6 3.2 Weighted no. of preemptions 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR Lengths as % of WCET 54

A Better Priority Assignment than RM? 4.4 P-FPS (DM) P-FPS (D-C) 4 3.6 3.2 Weighted no. of preemptions 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR Lengths as % of WCET 55

A Better Priority Assignment than RM? 4.4 P-FPS (DM) Eager FPS (DM) P-FPS (D-C) 4 3.6 3.2 Weighted no. of preemptions 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR Lengths as % of WCET 56

A Better Priority Assignment than RM? 4.4 P-FPS (DM) Eager FPS (DM) P-FPS (D-C) Eager FPS (D-C) 4 3.6 3.2 Weighted no. of preemptions 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR Lengths as % of WCET 57

A Better Priority Assignment than RM? 4.4 P-FPS (DM) Eager FPS (DM) Lazy FPS (DM) P-FPS (D-C) Eager FPS (D-C) 4 3.6 3.2 Weighted no. of preemptions 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR Lengths as % of WCET 58

A Better Priority Assignment than RM? 4.4 P-FPS (DM) Eager FPS (DM) Lazy FPS (DM) P-FPS (D-C) Eager FPS (D-C) Lazy FPS (D-C) 4 3.6 3.2 Weighted no. of preemptions 2.8 2.4 2 1.6 1.2 0.8 0.4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 NPR Lengths as % of WCET 59

Summary of Lessons Learned 1. Limited preemptive scheduling on multiprocessors may not reduce the number of preemptions Number of preemptions larger than fully preemptive scheduling under the eager approach 2. The preemptive behavior of EDF on uniprocessors generalizes to multiprocessors G-P-EDF generates fewer preemptions than G-P-FPS 3. This, however, does not generalize to global limited preemptive scheduling G-LP-EDF generates more preemptions than G-LP-FPS 4. Schedulability gains from better priority assignment could be offset by increased number of preemptions 60

Limited Preemptive Scheduling Landscape Uniprocessor Multiprocessor Fixed priority based scheduling Limited Preemptive FPS Burns 94, Bril et al., RTSJ 09, Yao et al., RTSJ 11 Global Limited Preemptive FPS Marinho et al., RTSS 13, Block et al., RTCSA 07 This talk: schedulability test for G- LP-FPS with eager preemption Deadline based scheduling Limited Preemptive EDF (Baruah, ECRTS 05) Global Limited Preemptive EDF Block et al., RTCSA 07 This talk: schedulability test for G- LP-EDF with floating NPRs This talk: identifies runtime anomalies in the preemptive behavior under global limited preemptive scheduling 61

Sub-optimality of Uniprocessor Scheduling Algorithms P-FPS feasible tasks Liu and Layland, JACM 73 Davis et al., RTSJ 09 Davis et al., RTNS 09 P-EDF feasible tasks (uniprocessor optimal)???? NP-FPS feasible tasks Davis et al., RTNS 10 NP-EDF feasible tasks Question 4: How good is non-preemptive/limited preemptive scheduling when compared to uniprocessor optimal (preemptive) scheduling algorithms? 62

Processor speed vs. LP-EDF feasibility Speed (faster) Bounds on Uniprocessors Bounds on Multiprocessors G-NP-EDF feasibility uniprocessor NP-EDF feasibility G-LP-EDF feasibility uniprocessor LP-EDF feasibility G-P-EDF Feasibility (Phillips et al., 2002) m (and uni) processor feasibility Speed (slower) 63

Advances in Sub-optimality of Uniprocessor Scheduling Algorithms P-FPS feasible tasks Davis et al., RTSJ 15 Liu and Layland, JACM 73 Davis et al., RTSJ 09 Davis et al., RTNS 09 P-EDF feasible tasks (uniprocessor optimal) Thekkilakattil et al., ECRTS 13 Thekkilakattil et al., RTSJ 15 Davis et al., RTSS 15 Davis et al., RTSS 15 Nasri et al., RTNS 14 Abugchem et al., ESL 15 Nasri et al., RTNS 14 Davis et al., RTSS 15 NP-FPS feasible tasks Davis et al., RTNS 10 Davis et al., RTSJ 15 Bruggen et al., ECRTS 15 NP-EDF feasible tasks 64

Limited Preemptive Scheduling Landscape Uniprocessor Multiprocessor Fixed priority based scheduling Limited Preemptive FPS Burns 94, Bril et al., RTSJ 09, Yao et al., RTSJ 11 Global Limited Preemptive FPS Marinho et al., RTSS 13, Block et al., RTCSA 07 This talk: schedulability test for G- LP-FPS with eager preemption Deadline based scheduling Limited Preemptive EDF (Baruah, ECRTS 05) Global Limited Preemptive EDF Block et al., RTCSA 07 This talk: schedulability test for G- LP-EDF with floating NPRs This talk: identifies runtime anomalies in the preemptive behavior under global limited preemptive scheduling This talk: the sub-optimality of LP scheduling 65

Conclusions 1) Limited preemptive scheduling on multiprocessors brings forth new challenges Large design space Counter-intuitive behaviors 2) Limited preemptive scheduling on multiprocessors brings forth new opportunities Reduced overheads Improved schedulability Better overhead accounting strategies

Future Work Hybrid approach to manage preemptions on multicores to get best of eager and lazy approaches: integration with preemption thresholds Probabilistic schedulability analysis for tasks with fixed preemption points Improved preemption overhead accounting for tasks with fixed preemption points. 67

Thank you! Questions/Comments? 68 web images