Introductory Seminar on Research CIS5935 Fall 2009 Ted Baker Outline • Introduction to myself – My past & current research areas • Technical background for the remainder • A recent paper, on Sustainable MP Scheduling – What is it? – Why do I want it? – How do I get it? – Sustainability of specific algorithms & tests My past research • Relative computability – Relativizations of the P=NP? question (1975-1979) • Algorithms – N-dim pattern matching (1978) – extended LR parsing (1981) • Compilers & PL implementation – Ada compiler and runtime systems (1979-1998) • Real-time runtime systems, multi-threading – FSU Pthreads & other RT OS projects (1985-1998) • Real-time scheduling & synch. – Stack Resource Protocol (1991) – Deadline Sporadic Server (1995) • RT Software standards – POSIX, Ada (1987-1999) Recent/current research • Multiprocessor real-time scheduling (1998-…) – how to guarantee deadlines for task systems scheduled on multiprocessors? with M. Cirinei & M. Bertogna (Pisa), N. Fisher & S. Baruah (UNC) • Real-time device drivers (2006-…) – how to support schedulability analysis with an operating system? – how to get predictable I/O response times? with A. Wang & Mark Stanovich (FSU) Background • Real-time scheduling goals & problems • Workload models • Scheduling algorithms & tests Real-time scheduling Context = embedded systems, controllers Problems = • How to schedule a computational workload to meet timing constraints? (deadlines) • How to do this while meeting other constraints and goals? (energy, fault tolerance, etc.) • How to guarantee constraints will always be met, in the face of workload variations Typical quality questions • Is a given system schedulable to meet deadlines? • Is a given system schedulable by a given algorithm? • If deadlines are missed, by how much? • How good is a given algorithm at finding a feasible schedule? • How sensitive is a schedulability guarantee to variations in parameters? Workload models • job = schedulable unit of computation, with – arrival time – worst-case execution time (WCET) – deadline • task = sequence of jobs • task system = set of tasks • independent tasks: can be scheduled without consideration of interactions, precedence, coordination, etc. Example: sporadic task i • Ti = minimum inter-arrival time • Ci = worst-case execution time • Di = relative deadline job released job completes deadline Ci Di ? Di Ti scheduling window next release Multiprocessor scheduling • m identical processors (vs. uniform/hetero.) • shared memory (vs. distributed) • Kinds of algorithms: – preemptive vs. non-preemptive – on-line vs. off-line – global vs. partitioned Optimality • There is no optimal on-line global scheduling algorithm for sporadic tasks [Fisher, 2007] • But there are some good algorithms Some good scheduling algorithms • Fixed task-priority – global, or partitioned, hybrids, … • EDF – global or partitioned, hybrids, … • EDZL … Example: Global EDF • m identical processors • global = – jobs can run on any processor – can be preempted, and migrated • EDF = “earliest deadline first” – earlier deadline implies higher priority – the top m jobs will execute – no processor is idle unless there are fewer than m jobs ready to run Schedulability testing Global-EDF schedulability for sporadic task systems can be decided by brute-force statespace enumeration (in exponential time) [Baker, OPODIS 2007] but we don’t have any practical algorithm. We do have several practical sufficient conditions. Sufficient Conditions for Global EDF • Varying degrees of complexity and accuracy • Examples: • Goossens, Funk, Baruah: density test (2003) • Baker: analysis of -busy interval (2003) • Bertogna, Cirinei: iterative slack time estimation (2007) • Difficult to compare quality, except by experimentation • All tests are very conservative Example: Density Test Sporadic task system is schedulable on m unit-capacity processors if sum ( ) m (m 1) max ( ) where Ci i min( Di , Ti ) n sum i i 1 n max max i i 1 My recent research on Sustainable Schedulabilty done with Sanjoy Baruah (UNC) presented by T. Baker at ECRTS July 2009 Dublin General schedulability testing Will a will workload W meet all deadlines if scheduled by algorithm A on platform P? exact test : “yes” ⇔ schedulable sufficient test : “yes” ⇒ schedulable Goal: validate timing properties on which correctness, reliability, safety depend. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 18 Potential weakness • Real systems differ from models – clock and timer inaccuracies – blocking/non-preemption – execution time variation • Differences must not invalidate test • Solution: – pessimistic assumptions 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 19 What is pessimistic? • Should cover full range of possibilities. • How to validate over such a range? • People tend to assume system behavior is monotonic, and rely on boundary testing. • This can be dangerous. • For example, does WCET of individual jobs give worst-case behavior of the entire system? 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 20 Goals • Our notions of “pessimistic” should be consistent with the analysis that underlies the schedulability test. • The test should be monotonic with respect to any workload parameters that are considered to be bounds on actual values. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 21 Predictability (Ha & Liu 1994) • For arbitrary job sets on multiprocessors, if scheduling algorithm is work-preserving, preemptive, global (migration), with fixed job priorities: – Job completions times are monotonically related to job execution times. – It is safe to consider only upper bounds for job execution times in schedulability tests. • Not true for non-preemptive scheduling 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 22 Sustainabilty (Baruah & Burns 2006) • Extends idea to a wider range of relaxations of workload parameters: – shorter execution times – longer periods – less release-time jitter – later deadlines • Relaxation should preserve schedulability • They considered single-processor systems • We consider multiprocessors 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 23 Why to relax? • Safety – Run-time behavior may fall short of pessimistic model parameters. • Modular design – Start with pessimistic parameters, relax as design evolves. • Efficiency – Revise estimates at job arrival, schedule more precisely. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 24 How? Actual/nominal? – actual max. job exec. time < Ci, or – value Ci used by scheduler is reduced • Per job/task? – Ci reduced differently for each job, or – Ci reduced for all jobs of task • Use in scheduling decisions, or not? • These may or may not make a difference in sustainability, depending on context. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 25 Getting specific • Sustainability depends on the platform and workload model as well as the scheduling algorithm. • Platform : SMP • Workload model : sporadic task set • Scheduling algorithms : global FTP, EDF, EDZL 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 26 SMP Platform • m identical processors • bounded cost for migration, context switch 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 27 Sporadic task workload • fixed set of tasks • each generates a sequence of jobs • each job of a task has parameters: – exec. time • Ci is an upper bound – inter-arrival time • Ti is a lower bound – deadline, relative to arrival time, Di 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 28 Where is pessimism? • Ti : lower bound • Ci : upper bound • Di : lower bound? So sustainability means allowing for the following relaxations: • Longer inter-arrival times • Shorter execution times • Longer deadlines 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 29 Global Scheduling • Fixed Task Priority (FTP): m tasks with highest task priority allowed to execute • EDF: m jobs with earliest deadlines allowed to execute • EDZL: same, except jobs with zero laxity preempt laxity = remaining-time-to-deadline – remaining-WCET Common property: Limit of one (or 2, for EDZL) preemption per job allows us to bundle worst-case preemption/migration overhead into WCET of jobs 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 30 Longer inter-arrival times • Sustainability is built into the sporadic workload model – per-job or per-task – actual, nominal too for algorithms that do not make use of Ti in scheduling decisions • So global FTP, EDF, EDZL are sustainable w.r.t. longer inter-arrival times 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 31 Shorter execution times Depends on scheduling algorithm Studied by Ha & Liu (1994) Non-preemptive scheduling not sustainable Preemptive work-conserving fixed-jobpriority SMP scheduling with migration is sustainable – FTP and EDF are sustainable • Proved for job sets, covers sporadic tasks – actual/nominal, per job/task • • • • 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 32 EDZL & shorter exec. time • Difference from FTP & EDF: job priority can change (breaks Ha & Liu assumption) • EDZL is sustainable (Piao, Han, Kim et al. 2006; new proof here) – per-job/task – nominal and actual, or just actual 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 33 Longer deadlines? • FTP is sustainable, for sporadic tasks • EDF & EDZL sustainability open for sporadic tasks (not sustainable for job sets*) – exact test (if one exists) might be risky – or scheduler should ignore deadline changes – sustainable tests are of interest *Apparently also not sustainable for sporadic task sets, with respect to relaxation of a single job deadline (see appendix). However, it might be sustainable w.r.t. uniform relaxation of deadline over all jobs of a task. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 34 Sustainable schedulability test • If the test says a task set is schedulable, then it remains schedulable if we reduce pessimism in our assumptions, e.g., – decrease task execution times – increase task periods – reduce release-time jitter – lengthen job deadlines 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 35 Relationships • Algorithm sustainable ⇒ test sustainable • Algorithm not sustainable ⇒ exact test not sustainable So an inexact test might be better, if it is sustainable and the algorithm is not. This might be true for global EDF. Do we know any sustainable tests? 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 36 Self-sustainable test (new) • If the test says a task set is schedulable, then the test still says it is schedulable if we reduce pessimism in our assumptions, e.g. – decrease task execution times – increase task periods – reduce release-time jitter – lengthen job deadlines Do we know any self-sustainable tests for global EDF? 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 37 BCL Test (Bertogna, Cirinei, Lipari ECRTS 2003) Sporadic task system is global EDF schedulable on m unit-capacity processors if for each k min (D or k Ck ),Ii,k m(Dk Ck ) min (D Ck ),Ii,k m(Dk Ck ) ik k ik and there is some i≠k for which I D C i,k k k N i,k (Dk Di ) /Ti 1 Ii,k Ni,kCi min( Ci ,max( 0,Dk Ni,kTi )) 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 38 Is it Sustainable? • We don’t know. • We have proven BCL test is not selfsustainable with respect to nominal deadline relaxation. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 39 A load-based test (Baruah & Baker, ECRTS 2008) Sporadic task system is global-EDF schedulable on m unit-capacity processors if LOAD( ) ( 1) max ( ) where m (m 1) max ( ) t Di DBF ( i ,t) max( 0,( 1)Ci ) Ti n LOAD( ) max DBF ( i ,t) /t t0 7/3/2009 i1 ECRTS 2009 (Dublin) - Ted Baker 40 Is it sustainable? • We don’t know, but it is not self-sustainable. • Is there a better test, that is sustainable? • Yes, this is self-sustainable: ( 1) max ( ) LOAD( ) max 1 ( 2) max ( ) 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 41 Why one is sustainable and the other not Load not schedulable ( ) 1 (( ) 2)max ( ) schedulable ( ) (( ) 1)max ( ) 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 42 Summary • Sustainability depends on workload model as well as platform and scheduling algorithm • For sporadic tasks and SMP: – Global FTP is fully sustainable – Global EDF & EDZL are (only?) exec. time and inter-arrival time sustainable • Self-sustainability is a strong form of sustainability for tests – Not all tests are deadline self-sustainable – But at least one is 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 43 Suggestion • Papers on scheduling algorithms, and schedulability tests, should routinely address sustainability. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 44 The End questions? 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 45 Appendix 1 A tentative proof that global EDF is not sustainable for sporadic task systems w.r.t. relaxation of individual job deadlines 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 46 Example Task A WCET (Ci) 2 Deadline (Di) 4 Period (Ti) 8 B C D 2 4 8 4 8 13 8 8 13 A A B B C m = 2 processors C D 0 7/3/2009 2 4 6 8 10 12 14 16 18 20 ECRTS 2009 (Dublin) - Ted Baker 47 Claim • This task appears to be global EDF schedulable. • This checks out for integer time values up to a scale factor of 3, using brute-force test. • But it still needs a careful proof. • If this task set is schedulable, it shows that global EDF is not sustainable for sporadic task systems w.r.t. single-job deadline relaxation. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 48 If B’s first deadline is relaxed? A B A C 0 2 D 4 6 B 8 10 D 12 14 16 18 20 D can be blocked for 6 time units, missing its deadline. This does not happen if both of B’s deadlines are relaxed equally. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 49 If B is just released later? A B A C 0 2 B D 4 6 8 10 12 14 16 18 20 D is blocked for only 4 time units, since the second B has later deadline than D. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 50 Appendix 2 Another self-sustainable test for global EDF on sporadic task sets. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 51 Density Test for Global EDF* (Goossens, Funk, Baruah RTS 2003) Sporadic task system is schedulable on m unit-capacity processors if where sum ( ) m (m 1) max ( ) Ci i min( Di , Ti ) n sum i i 1 n max max i i 1 This is another test for global EDF that is fully self-sustainable. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 52 Appendix 3 Discussion of Sustainability & Workload Models 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 53 Job Workload models • A job has an arrival time, deadline, and execution time. • The execution time may depend on how the job’s execution is scheduled, but there is an upper bound. • A workload model specifies a collection of possible sets of jobs. • It is schedulable by an algorithm if every set of jobs that conforms to the model is scheduled to meet all deadlines. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 54 Kinds of sustainability 1. With respect to differences between actual run-time behavior and model. – e.g., actual execution time is less than nominal WCET. – a property of the model 2. With respect to changes in the model. – e.g., nominal WCET is reduced – a property of the model and scheduling algorithm 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 55 Sustainability of Model • Sustainability can be built into a workload model, e.g., specify for each task – maximum job execution time, Ci – minimum inter-arrival time, Ti – shortest relative deadline, Di • Otherwise, it may be imposed by the scheduling algorithm. 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 56 Sustainable scheduling algorithm • If all job sets satisfying a model are schedulable, then sets of jobs that falls short of the model’s assumptions are also schedulable, e.g., – shorter execution times – longer periods – less release-time jitter – later deadlines 7/3/2009 ECRTS 2009 (Dublin) - Ted Baker 57