Real-Time Scheduling Analysis for Multiprocessor Platforms Marko Bertogna PhD dissertation Scuola Superiore S.Anna, Pisa, Italy Overview The Multicore Revolution Real-Time Multiprocessor Systems: existing results Schedulability Analysis for global schedulers Experimental evaluation Conclusions Other research activities 19/05/2008 Marko Bertogna - PhD dissertation 2 Main Contributions Systematization of existing results for RT scheduling and schedulability analysis on MP Polynomial and pseudo-polynomial schedulability tests for Work-conserving schedulers FP EDF EDZL Experimental comparison of existing techniques 19/05/2008 Marko Bertogna - PhD dissertation 3 Real-Time Systems Solid theory of single processor systems Much less results for multiprocessors Optimal schedulers, tight schedulability tests, shared resource protocols, bandwidth reservation schemes, hierarchical schedulers, OS, etc. Many NP-hard problems, few optimal results, heuristic approaches, simplified task models, only sufficient schedulability tests, etc. Do we really need to investigate MultiProcessors Real-Time Systems? 19/05/2008 Marko Bertogna - PhD dissertation 4 As Moore’s law goes on… Number of transistor/chip doubles every 18 to 24 mm months 19/05/2008 Marko Bertogna - PhD dissertation 5 …heating becomes a problem P V f: Clock speed limited to less than 4 GHz Pentium Tejas cancelled! Power (W) 1000 P3 100 P4 Pentium P2 P1 10 286 486 8086 386 8085 8080 1 8008 4004 Nuclear Reactor STOP Hot-plate Power 0,1 71 19/05/2008 74 78 85 92 00 04 Marko Bertogna - PhD dissertation 08 Year 6 Solution Use a higher number of slower logic gates Denser chips with transistor operating at lower frequencies MULTICORE SYSTEMS 19/05/2008 Marko Bertogna - PhD dissertation 7 The Multicore invasion Intel’s Core2, Itanium, Xeon: 2, 4 cores AMD’s Opteron, Athlon 64 X2, Phenom: 2, 4 cores IBM-Toshiba-Sony Cell processor: 8 cores (PSX3) Microsoft’s Xenon: 3 cores (Xbox 360) ARM’s MPCore: 4 cores Sun’s Niagara UltraSPARC: 8 cores Tilera’s TILE64: 64-core Nios II: x soft Cores TI, Freescale, Atmel, Broadcom,Picochip (picoArray up to 300 DSP cores), ... 19/05/2008 Marko Bertogna - PhD dissertation 8 Identical vs heterogenous cores ARM’s MPCore • 4 identical ARMv6 cores 19/05/2008 STI’s Cell Processor • One Power Processor Element (PPE) • 8 Synergistic Processing Element (SPE) Marko Bertogna - PhD dissertation 9 System model Platform with m identical processors Task set t with n periodic or sporadic tasks ti Period or minimum inter-arrival time Ti Worst-case execution time Ci Deadline Di Utilization Ui=Ci/Ti, density li=Ci/min(Di,Ti) 19/05/2008 Marko Bertogna - PhD dissertation 10 Problems addressed Run-time scheduling problem Schedulability problem t1 CPU1 t2 t3 ? CPU2 t4 t5 19/05/2008 CPU3 Marko Bertogna - PhD dissertation 11 Assumptions Independent tasks Job-level parallelism prohibited Preemption and Migration support the same job cannot be contemporarily executed on more than one processor a preempted task can resume its execution on a different processor Cost of preemption/migration integrated into task WCET 19/05/2008 Marko Bertogna - PhD dissertation 12 Global vs partitioned scheduling Single system-wide queue or multiple perprocessor queues: Global scheduler t5 t4 t3 19/05/2008 t2 t1 Partitioned scheduler CPU1 t1 t5 t4 t1 CPU1 t1 CPU2 t2 t3 t2 CPU2 t2 CPU3 t3 Marko Bertogna - PhD dissertation CPU3 13 Partitioned Scheduling The scheduling problem reduces to: Bin-packing problem NP-hard in the strong sense + Uniprocessor scheduling problem t2 t3 t4 t5 Well known Various heuristics used: FF, NF, BF, FFDU, BFDD, etc. t1 EDF Utot ≤ 1 RM (RTA) ... Global (work-conserving) and partitioned approaches are incomparable 19/05/2008 Marko Bertogna - PhD dissertation 14 Global scheduling The m highest priority ready jobs are always the one executing Work-conserving scheduler No processor is ever idled when a task is ready to execute. t5 19/05/2008 t4 t3 t2 t1 CPU1 t1 CPU2 t2 CPU3 t3 Marko Bertogna - PhD dissertation 15 Global scheduling: advantages Load automatically balanced Easier re-scheduling (dynamic loads, selective shutdown, etc.) Lower average response time (see queueing theory) More efficient reclaiming and overload management Number of preemptions Migration cost: can be mitigated by proper HW (e.g., MPCore’s Direct Data Intervention) Few schedulability tests Further research needed 19/05/2008 Marko Bertogna - PhD dissertation 16 Uniprocessor scheduling EDF optimal for arbitrary job collections Exact schedulability conditions Optimal priority assignments for sporadic and synchronous periodic task systems linear test for implicit deadlines: Utot ≤ 1 Pseudo-polynomial test for constrained and arbitrary deadlines [Baruah et al. 90] RM for implicit deadlines DM for constrained deadlines Exact pseudo-polynomial schedulability test for FP Response Time Analysis (RTA) 19/05/2008 Marko Bertogna - PhD dissertation 17 Global Scheduling No optimal scheduler known for general task models Pfair optimal for implicit deadlines: Utot ≤ m preemption and synchronization issues Classic schedulers are not optimal (Dhall’s effect): m light tasks 1 heavy task Utot1 Hybrid schedulers: EDF-US, RM-US, DM-DS, AdaptiveTkC, fpEDF, EDF(k), EDZL, … 19/05/2008 Marko Bertogna - PhD dissertation 18 Global scheduling: main results Only sufficient schedulability tests Utilization-based tests (implicit deadlines) Polynomial tests EDF Goossens et al.: Utot ≤ m(1-Umax)+Umax fpEDF Baruah: Utot ≤ (m+1)/2 RM-US Andersson et al.: Utot ≤ m2/(3m-2) EDF, FP Baker: O(n2) and O(n3) tests EDZL Cirinei,Baker: O(n2) test Pseudo-polynomial tests EDF, FP Fisher,Baruah: load-based tests 19/05/2008 Marko Bertogna - PhD dissertation 19 Density-based tests EDF: ltot ≤ m(1-lmax)+lmax EDF-DS[1/2]: ltot ≤ (m+1)/2 [ECRTS’05] Gives highest priority to (at most m-1) tasks having lt ≥ 1/2, and schedules the remaining ones with EDF DM: ltot ≤ m(1–lmax)/2+lmax DM-DS[1/3]: ltot ≤ (m+1)/3 [OPODIS’05] Gives highest priority to (at most m-1) tasks having lt ≥ 1/3, and schedules the remaining ones with DM (only constrained deadlines) 19/05/2008 Marko Bertogna - PhD dissertation 20 Critical instant A particular configuration of releases that leads to the largest possible response time of a task. Possible to derive exact schedulability tests analyzing just the critical instant situation. Uniprocessor FP and EDF: a critical instant is when all tasks arrive synchronously all jobs are released as soon as permitted Response Time Analysis for uniprocessors FP the response time of task k is given by the fixed point of Rk in the iteration Rk Rk Ck Ci t i hp Ti 19/05/2008 Marko Bertogna - PhD dissertation 21 Multiprocessor anomaly Synchronous periodic arrival of jobs is not a critical instant for multiprocessors: t1 = (1,1,2) t2 = (1,1,3) t3 = (5,6,6) Second job periodic of t2 Synchronous delayed situation by one unit from [Bar07] Need to find pessimistic situations to derive sufficient schedulability tests 19/05/2008 Marko Bertogna - PhD dissertation 22 Introducing the interference Ik = Total interference suffered by task tk Iki = Interference of task ti on task tk CPU3 CPU2 CPU1 rk tk Ik3 Ik2 Ik4 Ik1 Ik5 Ik3 tk Ik3 Ik6 Ik5 Ik2 Ik7 Ik8 I ki ( Rk ) I k ( Rk ) m tk rk+Rk 1 i Rk Ck I k ( Rk ) Ck I k ( Rk ) m i k 19/05/2008 Marko Bertogna - PhD dissertation 23 Limiting the interference It is sufficient to consider at most the portion (Rk-Ck+1) of each term Iik in the sum CPU3 CPU2 CPU1 tk Ik3 Ik2 Ik4 Ik1 Ik5 Ik3 tk Ik3 Ik6 Ik5 Ik2 Ik7 Ik8 tk rk+Rk rk I ki ( Rk ) I k ( Rk ) Rk Ck 1 It can be proved that WCRTk is given by the fixed point of: 1 i Rk Ck min( I k ( Rk ), Rk Ck 1) m i k 19/05/2008 Marko Bertogna - PhD dissertation 24 Bounding the interference Exactly computing the interference is complex 1. Pessimistic assumptions: Bound the interference of a task with the workload: I ( Rk ) Wi ( Rk ) i k 2. Use an upper bound on the workload. 19/05/2008 Marko Bertogna - PhD dissertation 25 Bounding the workload Consider a situation in which: The first job executes as close as possible to its deadline Successive jobs execute as soon as possible Di ti Ci Ti Ci Ci εi Ci L Wi ( L) wi ( L) Ni ( L)Ci i ( L) where: 19/05/2008 L Di Ci (# jobs excluded the last one) N i ( L) T i i ( L) min( Ci , Li Di Ci Ni ( L)Ti ) (last job) Marko Bertogna - PhD dissertation 26 RTA for generic global schedulers An upper bound on the WCRT of task k is given by the fixed point of Rk in the iteration: 1 Rk Ck min( wi ( Rk ), Rk Ck 1) m i k Rk Sk The slack of task k is at least: 19/05/2008 S k Dk Rk Marko Bertogna - PhD dissertation 27 Improvement using slack values Consider a situation in which: The first job executes as close as possible to its deadline Successive jobs execute as soon as possible Di ti Ci Ti Ci Ci εi Ci L Wi ( L) wi ( L) Ni ( L)Ci i ( L) where: 19/05/2008 L Di Ci (# jobs excluded the last one) N i ( L) T i (last job) i ( L) min( Ci , Li Di Ci Ni ( L)Ti ) Marko Bertogna - PhD dissertation 28 Improvement using slack values Consider a situation in which: The first job executes as close as possible to its deadline Successive jobs execute as soon as possible ti Si Ci Di Ti Ci Ci Ci L Wi ( L) wi ( L, Si ) Ni ( L, Si )Ci i ( L, Si ) where: 19/05/2008 L Di Ci Si N i ( L, Si ) T i i ( L, Si ) min( Ci , Li Di Ci Si Ni ( L, Si )Ti ) Marko Bertogna - PhD dissertation 29 RTA for generic global schedulers An upper bound on the WCRT of task k is given by the fixed point of Rk in the iteration: 1 1. Rk Ck min( wi ( Rk , Si ), Rk Ck 1) m i k 2. S k Dk Rk If a fixed point Rk ≤ Dk is reached for every task k in the system, the task set is schedulable with any workconserving global scheduler. 19/05/2008 Marko Bertogna - PhD dissertation 30 Iterative schedulability test 1. 2. All slacks initialized to zero Compute slack lower bound for tasks 1,…,n 3. 4. 5. if higher than old value update slack bound If lower, do nothing If all tasks have a positive slack lower bound return success If no slack has been updated for tasks 1,…,n return fail Otherwise, return to point 2 19/05/2008 Marko Bertogna - PhD dissertation 31 RTA refinement for Fixed Priority The interference on higher priority tasks is always null: I ( Rk ) 0, i k i k An upper bound on the WCRT of task k can be given by the fixed point of Rk in the iteration: 1 1. Rk Ck min( wi ( Rk , Si ), Rk Ck 1) m i k 2. S k Dk Rk 19/05/2008 Marko Bertogna - PhD dissertation 32 RTA refinement for EDF A different bound can be derived analyzing the worst-case workload in a situation in which: The interfering and interfered tasks have a common deadline All jobs execute as late as possible I ( Rk ) wi( Rk , Si ) i k An upper bound on the WCRT of task k is given by the fixed point of Rk in the iteration: 1 1. Rk Ck min( wi ( Rk , Si ), wi( Dk , Si ), Rk Ck 1) m i k 2. S k Dk Rk 19/05/2008 Marko Bertogna - PhD dissertation 33 Complexity Pseudo-polynomial complexity Fast average behavior Lower complexity for Fixed Priority systems We verified the schedulability of millions of task sets in a few minutes on a normal device. at most one slack update per task, if slacks are updated in decreasing priority order. Possible to reduce complexity limiting the number of rounds 19/05/2008 Marko Bertogna - PhD dissertation 34 Polynomial complexity test A simpler test can be derived avoiding the iterations on the response times A lower bound on the slack of tk is given by: The iteration on the slack values is the same Performances comparable to RTA-based test Complexity down to O(n2) 19/05/2008 Marko Bertogna - PhD dissertation 35 Experimental results for EDF task sets Total task sets I-BCL EDF Goossens et al.’03 Baker et al.’07 Bertogna et al.’05 generated • 2 processors task sets • Constrained deadlines our test • 1.000.000 task sets generated Improvement over existing solutions 19/05/2008 Bertogna - PhD dissertation TaskMarko set utilization • Our test is constantly superior at all utilizations 36 Experimental results for FP task sets Total task sets I-BCL FP Bertogna et al.’05 Baker et al.’07 Density bound generated • 2 processors task sets • Constrained deadlines our test • 1.000.000 task sets generated • Our test is constantly superior at all utilizations 19/05/2008 Bertogna - PhD dissertation TaskMarko set utilization 37 FP vs EDF task sets Total task sets I-BCL FP Baker et al.’07 I-BCL EDF Goossens et al.’03 generated • 4 processors task sets • Constrained deadlines our FP test our EDF test • 1.000.000 task sets generated • our FP test is constantly superior to all tests at every utilization 19/05/2008 Bertogna - PhD dissertation TaskMarko set utilization 38 Conclusions Multiprocessor Real-Time systems are a promising field to explore. Still few existing results far from tight conditions. We contributed filling this gap. Future work: Find tighter schedulability tests. Use our techniques to analyze the efficiency of other scheduling algorithms (EDZL, EDF-US, FP-DS, etc). Take into account exclusive resources access. Integrate into Resource Reservation framework. 19/05/2008 Marko Bertogna - PhD dissertation 39 The end 19/05/2008 Marko Bertogna - PhD dissertation 40 Other research activities Limited-preemption EDF Reducing Resource Holding Times Shared resources and open environments 19/05/2008 Marko Bertogna - PhD dissertation 41 ARM’s MPcore 19/05/2008 Marko Bertogna - PhD dissertation 42 Frequency and power f = operating frequency V = supply voltage (V~=0.3+0.7 f) Ileak = leakage current (becomes non-negligible) P = Pdynamic + Pstatic = power consumed Reducing the voltage causes a higher frequency reduction Pdynamic ACV2f (main contributor until hundreds nm) Pstatic VIleak (always present, due to subthreshold and gate-oxide leakage) Reducing V allows a quadratic reduction of Pdynamic 19/05/2008 Marko Bertogna - PhD dissertation 43 Power density Power Density (W/cm2) 10000 Rocke tNozzle 1000 Nuclear Reactor 100 8086 10 4004 Hot Plate P6 8008 8085 Pentium® proc 386 286 486 8080 1 1970 19/05/2008 1980 1990 Year 2000 Marko Bertogna - PhD dissertation 2010 44 How many cores in the future? Intel’s 80 core prototype already available 19/05/2008 Able to transfers a TB of data/s (Core 2 Duo reaches 1.66GB data/s) To be released in 5 years Marko Bertogna - PhD dissertation 45 Beyond 2 billion transistors/chip Intel’s Tukwila Itanium based 2.046 B FET Quad-core 65 nm technology 2 GHz on 170W 30 MB cache 2 SMT 8 threads/ck 19/05/2008 Marko Bertogna - PhD dissertation 46 Intel’s timeline Year 1971 1972 1974 1978 1979 1982 1985 1989 1993 1995 1997 1999 2000 2002 2005 2006 2007 2008 19/05/2008 Processor 4004 8008 8080 8086 8088 286 386 486 Pentium Pentium Pro Pentium II Pentium III Pentium 4 Pentium M Pentium D Core 2 Duo Core 2 Quad Core 2 Quad X Manufacturing Frequency Technology 108 kHz 10 m 800 kHz 10 m 2 MHz 6 m 5 MHz 3 m 5 MHz 3 m 6 MHz 1,5 m 16 MHz 1,5 m 25 MHz 1 m 66 MHz 0,8 m 200 MHz 0,6 m 300 MHz 0,25 m 500 MHz 0,18 m 1,5 GHz 0,18 m 1,7 GHz 90 nm 3,2 GHz 65 nm 2,93 GHz 65 nm 2,66 GHz 65 nm >3 GHz 45 nm Marko Bertogna - PhD dissertation Number of transistors 2300 3500 4500 29000 29000 134000 275000 1200000 3100000 5500000 7500000 9500000 42000000 55000000 291000000 291000000 582000000 820000000 47 From 4004 (1971) to Pentium D (2005): 10 um 65 nm : 100kHz 3 GHz: 2.300291.000.000: 0.2W100W: 150 x 25000 x 125.000 x 500 x Vdd reduced (from 5V to ~1V) Not all MOS change state Tech: f: # MOS: P: Great part of chip occupied by cache f Vdd-Vtt Ileak Vdd, 1/Vtt 19/05/2008 Marko Bertogna - PhD dissertation 48 Intel 4004 (1971) 19/05/2008 Intel Pentium IV (2000) Marko Bertogna - PhD dissertation 49 Itanium temperature plot 19/05/2008 Marko Bertogna - PhD dissertation 50 Problems addressed Run-time scheduling problem Schedulability problem t1 ? t2 t3 CPU1 CPU2 t4 CPU3 t5 19/05/2008 Marko Bertogna - PhD dissertation 51 Incandescent light bulb: 25-100 W Compact fluorescent lights: 5-30 W Typical car: 25 kW Human climbing stairs: 200 W 1 kWh = 1 kW constantly supplied for 1 h ENEL: 0.13-0.18 €/kWh 19/05/2008 Device Lavastoviglie Asciuga Biancheria Forno Elettrico Power 2000 W 2000 W 2000 W Friggitrice Elettrica Lavatrice Asciugacapelli 1800 W 1600 W 1300 W Ferro da stiro 1200 W Aspirapolvere Forno a microonde 1100 W Tostapane Robot da cucina 800 W Frigorifero 160 W Televisore 50 W Marko Bertogna - PhD dissertation 800 W 500 W 52 Density and utilization bounds 19/05/2008 Marko Bertogna - PhD dissertation 53 Uniprocessor feasibility Deadline model Task model Implicit Constrained or Arbitrary Sporadic or Synchronous Periodic Linear test: Utot ≤ 1 Unknown complexity; Pseudo-polynomial test if Utot< 1: EDF until Utot/(1- Utot) · max(Ti-Di) Asynchronous Periodic Linear test: Utot ≤ 1 19/05/2008 Strong NP-hard; Exponential test: EDF until 2H+Dmax+rmax Marko Bertogna - PhD dissertation 54 Uniprocessor static priority runtime scheduling Deadline model Task model Implicit Constrained Arbitrary Sporadic or Synchronous Periodic RM optimality DM optimality Unknown complexity; Audsley’s bottom-up algorithm (exponential complexity) Asynchronous Periodic 19/05/2008 Unknown complexity; Audsley’s bottom-up algorithm (exponential complexity) Marko Bertogna - PhD dissertation 55 Uniprocessor static priority feasibility Deadline model Task model Implicit Constrained Arbitrary Sporadic or Synchronous Periodic Pseudo-polynomial test: RM until Tmax or RTA Pseudo-polynomial test: DM until Dmax or RTA Unknown complexity; Audsley’s bottom-up algorithm (exponential) Asynchronous Periodic 19/05/2008 Unknown complexity Strong NP-hard Audsley’s bottom-up algorithm (exponential) Marko Bertogna - PhD dissertation 56 Uniprocessor static priority schedulability Deadline model Task model Sporadic or Synchronous Periodic Asynchronous Periodic 19/05/2008 Implicit Constrained Arbitrary Pseudo-polynomial simulation until Tmax or RTA Pseudo-polynomial simulation until Dmax or RTA Unknown complexity; Lehoczky’s test (exponential) Strong NP-hard; Simulation until 2H+rmax or other exponential tests Marko Bertogna - PhD dissertation 57 Multiprocessor feasibility Deadline model Task model Implicit Asynchronous Periodic 19/05/2008 Arbitrary Unknown complexity; Synchronous periodic not a critical instant Sporadic Synchronous Periodic Constrained Linear test: Utot ≤ m Unknown complexity; Horn’s algorithm in (0,H] Unknown complexity Strong NP-hard Marko Bertogna - PhD dissertation 58 Multiprocessor run-time scheduling Deadline model Task model Implicit Sporadic P-fair, GPS Synchronous Periodic Asynchronous Periodic 19/05/2008 P-fair, GPS, LLREF, EKG, BF Constrained Arbitrary Requires clairvoyance Unknown complexity; Clairvoyance not needed; Horn’s algorithm in (0,H] Unknown complexity; Clairvoyance not needed Unknown complexity; Clairvoyance not needed Marko Bertogna - PhD dissertation 59 Utot > m load > m load* > m Not feasible Feasibility conditions Sufficient feasibility and schedulability tests Σi Ci /min(Di,Ti) ≤ m 19/05/2008 Marko Bertogna - PhD dissertation Feasible ??? 60 Multiprocessor static job priority feasibility Deadline model Task model Implicit Sporadic Unknown complexity Synchronous Periodic Asynchronous Periodic 19/05/2008 Constrained Unknown complexity; Synchronous periodic not a critical instant Unknown complexity; Simulation until hyperperiod for all N! job priority assignments Unknown complexity Arbitrary Unknown complexity Strong NP-hard Marko Bertogna - PhD dissertation 61 Multiprocessor static job priority schedulability Deadline model Task model Implicit Sporadic Unknown complexity Synchronous Periodic Asynchronous Periodic 19/05/2008 Constrained Arbitrary Unknown complexity; Synchronous periodic not a critical instant Unknown complexity; Simulation until hyperperiod Unknown complexity Strong NP-hard Marko Bertogna - PhD dissertation 62 Multiprocessor static priority runtime scheduling Deadline model Task model Implicit Constrained Arbitrary Periodic (synchronous or asynchronous) Unknown complexity; Cucu’s optimal priority assignment Sporadic Unknown complexity; 19/05/2008 Marko Bertogna - PhD dissertation 63 Multiprocessor static priority feasibility Deadline model Task model Implicit Constrained Arbitrary Sporadic Unknown complexity; Synchronous periodic not a critical instant Synchronous Periodic Strong NP-hard; Simulation until hyperperiod for all n! priority assignments Asynchronous Periodic Strong NP-hard; Simulation on exponential feasibility interval for all n! priority assignments 19/05/2008 Marko Bertogna - PhD dissertation 64 Multiprocessor static priority schedulability Deadline model Task model Implicit Constrained Arbitrary Sporadic Unknown complexity; Synchronous periodic not a critical instant Synchronous Periodic Unknown complexity; Simulation until hyperperiod Asynchronous Periodic Strong NP-hard; Simulation on exponential feasibility interval 19/05/2008 Marko Bertogna - PhD dissertation 65 RTA for Uniprocessors For FP, the worst-case response time of a task is given by the first instance released at a critical instant For EDF, it is given by an instance in a busy interval starting with a critical instant With these observations it is possible to compute the WCRT of all tasks. Example: for FP, the WCRT of a task k is given by the fixed Rk point of: Rk Ck Ci t Ti i hp 19/05/2008 Marko Bertogna - PhD dissertation 66 RTA refinement for EDF Still valid the bound: I ( Rk ) wi ( Rk , Si ) A different bound can be derived analyzing the worst-case workload in a situation in which: i k The interfering and interfered tasks have a common deadline All jobs execute as late as possible Sii ti with: and: Ci Di I k ( Rk ) wi( Rk , Si ) t kw( D , S ) DBF i DBF k i k 19/05/2008 Ti i Ci i k Dk i Ti Si min Ci , Dk DBFk C i 0 i D D i i k kk k 1Cik I (R ) I (D ) w Ti Ci EDF i ( Dk , Si ) Marko Bertogna - PhD dissertation 67 RTA refinement for EDF A different bound can be derived analyzing the worst-case workload in a situation in which: The interfering and interfered tasks have a common deadline All jobs execute as late as possible I ki ( Rk ) wi( RSk i, Si ) ti with: and: t Di Ti Ci Ci Ci T i i i Si ( Dk , Si ) DBFk minDk Ci , Dk DBFk w i k Dk Di DBF i i 1Ci I k(RkT)i I k (Dk ) i k 19/05/2008 w EDF i Ci 0 ( Dk , Si ) Marko Bertogna - PhD dissertation 68 Polynomial complexity test A lower bound on the slack of tk is given by: For EDF: For FP: 19/05/2008 Marko Bertogna - PhD dissertation 69 Limiting the number of iterations 19/05/2008 Marko Bertogna - PhD dissertation 70