190 likes | 319 Views
Energy Minimization with Deadline Feasibility. Rachel Ferst Alan Papir. Motivation. Since the early 1970s, the power densities in microprocessors has doubled every three years. Power consumption of computing devices rising exponentially.
E N D
Energy Minimization with Deadline Feasibility Rachel Ferst Alan Papir
Motivation • Since the early 1970s, the power densities in microprocessors has doubled every three years. • Power consumption of computing devices rising exponentially. • Cooling costs rising exponentially. • Energy consumption is a problem for battery operated devices. • Battery capacity increasing at a rate slower than power consumption is growing.
Problem • Two energy minimization problems • Energy minimization with deadline feasibility • Minimizing flow time and energy processes without deadlines • Two papers of interest: • YDS. A Scheduling Model for Reduced CPU Energy. [YDS, 1995] • Pruhs, et al. Getting the Best Response for Your Erg. [Pruhs, 2008]
Problem • Variable speed processor • Allows an operating system to reduce energy consumption by scheduling jobs at different speeds while meeting deadline requirements. • Scope • Implemented YDS algorithm under different sets of data and compared with naïve models • Discuss Pruhs, et al. approach
YDS Algorithm • Off-line algorithm that computes the minimum-energy schedule for any set of jobs. • Power function must be convex • We used P(s) = s3 • An instance of the scheduling problem is the set J of jobs to be executed during a fixed time interval [t0,t1] defined by: • Arrival time, aj • Deadline, bj • Required number of CPU cycles Rj
YDS Algorithm • Notation: • A schedule is a pair S=(s(t),job(t)) • s(t) is the speed at time t • job(t) defines the job or idleness being executed at time t • Let the interval of a job j be [aj,bj]. • A schedule is feasible if S gives each job j the required number of CPU cycles between its arrival time and deadline (with preemption possible).
YDS AlgorithmDefinitions • Energy: • Let the intensity, g(I), of an interval, I=[z,z’] be • Where the sum is taken over all jobs with aj,bj contained in the interval [z,z’] • g(I) is a lower bound on the average speed needed in interval I • Call I*=[z,z’] a critical interval for J if I* maximizes g(I), and the set of jobs within that interval the critical group, JI*.
YDS Algorithm • Algorithm • Schedule the jobs in JI* by EDD policy. Run all jobs in JI*at speed g(I*) • Modify the problem to reflect the deletion of JI*and I*. • Remove jobs JI*from J. • Update arrival times and deadlines to ensure no job outside of JI*is scheduled in the interval I*.
Naïve Algorithms • Created two algorithms that guarantee a deadline feasible solution with little regard for energy consumption: • Naïve 1: Run each job, j, at a speed such that the completion time of job j is min[release time of j+1, deadline of j]. Naïve 2: Find the minimum speed necessary to complete every job before its deadline. Run every job at that speed. • i
A World Without Deadlines • Deadline feasibility may not be realistic… • So, how do we measure quality of service? • Average flow time • Most processes do not have natural deadlines. • Windows and Unix do not have deadline based schedulers • i • i
A World Without Deadlines • Bi-criteria optimization problem • Minimize average flow time • Minimize energy consumed • Objectives are contradictory • Methodology: • Bound one objective and optimize the other • More natural to bound energy