Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk, M. Kandemir, M. Karakoy Outline • • • • • • • Introduction MPSoC Architecture Energy Reduction Schemes Unified Approach ILP formulation Results Conclusion Introduction • Systems are heading towards Multiprocessor Systems on Chip (MPSoC) design. • Energy consumption on these systems is of concern, especially in embedded MPSoCs • Current energy reduction techniques – Work independently – Not optimal • This work makes use of a unified, optimal scheme to reduce the overall energy consumption Architectural Details • CMP/MPSoC • Shared memory system • Each processor can operate at a different frequency. • Each processor can operate at a different voltage level. • Scaling can take place between jobs Scenario with no energy saving scheme P0 P1 Processor Busy P2 P3 P4 P5 Processor Idle Energy Reduction Schemes • There are two primary groups – Voltage scaling techniques – Processor shutdown schemes • They can be applied using hardware or an optimizing compiler • They are applied independently • They are applied in disjoint manner Processor Shutdown • • • • Saves leakage energy Not all processors are used. These processors spend energy. Shut off unused processors. – Low power mode – Another idea • Turn off processors by detecting that jobs have finished • Turn them on later if necessary Scenario with processor shutdown P0 P1 Processor Busy P2 P3 P4 P5 Processor Idle Processor Shutdown Voltage Scaling • Active Power Voltage level2 – Need to reduce voltage level in order to increase energy savings. – But how? Scaling! Power Frequency • Frequency Voltage levels – Time 1/Frequency – So, Time Voltage levels Voltage So, scale the voltage down to take advantage of extra available time and reduce dynamic energy consumption! But leakage increases! Scenario with voltage scaling P0 P1 P2 Processor Active Processor Voltage Scaled P3 P4 P5 Processor Idle Intuition for a unified approach • Processor shut down does not try to take advantage voltage scaling. • Pure Voltage scaling will not shut off idle processors. • Job clustering is not being done. • Hence a unified approach that optimally uses a combination of the two schemes on a perjob/processor basis is needed! Unified approach • Cluster jobs on as few processors as possible – Increases number of completely idle processors – They can be shut down • Perform voltage scaling of those processors that have remaining slack. • Question – How is it possible to select the optimal voltage level for a particular job? – How is it possible to determine the optimal clustering of jobs? • Answer – Integer Linear Programming (ILP) Scenario with voltage scaling and processor shutdown P0 P1 P2 P3 P4 P5 Processor Active Processor Idle Processor Voltage Scaled Processor Shutdown Scenario with unified approach including workload clustering P0 P1 P2 P3 P4 P5 Processor Active Processor Voltage Scaled Processor Shutdown Integer Linear Programming (ILP) • A Linear Program (LP) is a problem that can be expressed as follows * minimize cx subject to Ax = b x >= 0 • x is a vector of vector of variables to be solved for • A is a matrix of known coefficients • c and b are vectors of known coefficients *http://www-unix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html#Q1 System and Job Model • • • • • Tmax Deadline for the jobs to finish Jmax jobs Pmax processors. Vnum discrete voltage levels Job_length(j,v) , captures time taken by j to execute at voltage v. • Job_Dynamic(j,v) captures dynamic energy spent by processsor executing Job j at Voltage level v. Mathematical programming model • X(p,j,v) – Binary variable – Expresses whether processor p runs job j at voltage v p, j, v X(p, j, v) • Job assignment Constraint – A job runs only on one processor – All jobs must be run once j X(p, j, v) p v 1 { 0| 1 } Mathematical programming model • Deadline constraint – All jobs finish before the deadline • Deadline must be within bounds – Normally • Tmax = Length of longest job without voltage scaling p j v X ( p, v, j ) Job_Length(j,v) T max Mathematical programming model • Job Clustering and Shutdown constraint – Clusters jobs if there are more jobs than processors – If it reduces the overall energy of the system • If a processor has no job scheduled on it – Shut it down • How do we find out if a processor is busy? – Busy(p) is a binary variable p, j , v Busy(p) X ( p, j , v) Mathematical programming model • Dynamic Energy computation – If a processor p executes a job j at voltage level v • Add the energy spent in doing so to the over all sum D _ Energy p j X ( p, j , v) Job _ Energy ( j , v) v • Leakage Energy computation – If a processor p is not shutdown, i.e. it is busy • It spends leakage energy, add this to the overall sum L _ Energy Leakage _ Value Busy(p) p Mathematical programming model • Objective function – Sum of the dynamic and leakage energy Total _ Energy D _ Energy L _ Energy • Simple variants – Reduce model to job clustering without voltage scaling – Reduce model to voltage scaling without job clustering Results -Energy Savings Results Job Assignment Conclusion • Implemented a unified ILP model to take advantage of both Voltage Scaling and processors shutdown. • Model implements voltage scaling to reduce dynamic energy • Model implements job clustering to reduce dynamic energy • Model can represent voltage scling and job clustering individually as well.