CprE 458/558: Real-Time Systems Best Effort Scheduling CprE 458/558: Real-Time Systems (G. Manimaran) 1 Best-Effort Scheduler • No schedulability check • Schedule construction – online • Overload handling (handling timing faults) – Value based scheduling – Imprecise computation – (m,k)-firm task scheduling • Value based scheduling – Task Ti : <Ci, Pi, Vi> where Vi is the value offered by Ti. – If Ti finishes by di, it offers a value of Vi. Else, it offers a value of 0 (sometimes a negative value). CprE 458/558: Real-Time Systems (G. Manimaran) 2 Best-Effort Scheduler (Contd.) • Deadline scheduler (eg., EDF) – good for under/normal load • Value-based scheduler (e.g., HVDF: Highest Value Density First) – good for overload • Hybrid (Adaptive) scheduler --- good for all loads • Heuristics Hi = function(value, deadline). • Several heuristics exist. CprE 458/558: Real-Time Systems (G. Manimaran) 3 HVDF – Highest Value Density First • Value density = Vi/Ci (i.e., value per unit computation time). • Higher the value density, higher the importance and hence higher the priority. • HDVF scheduler schedules tasks based on “value density” CprE 458/558: Real-Time Systems (G. Manimaran) 4 Competitive Analysis of BE scheduler • The competitive factor, BA , of an on-line scheduling algorithm is defined as VA ( S ) BA , VCA ( S ) for all S Where S: a given task set VA(S): value produced by given scheduler A VCA(S): value produced by clairvoyant scheduler, the scheduler which knows complete knowledge of all tasks at the beginning itself. CprE 458/558: Real-Time Systems (G. Manimaran) 5 Competitive Analysis of BE scheduler (contd.) • The upper bound on the competitive factor for any on-line scheduling is 1 ( 1 2 ) Where Y = highest value density / lowest value density • When Y = 1 (i.e., Vi = Ci), the competitive factor is 0.25 (for single processor, same as the result discussed in chapter 2) CprE 458/558: Real-Time Systems (G. Manimaran) 6