250 likes | 264 Views
This work proposes a unified approach for reducing energy consumption on embedded MPSoCs through workload clustering, voltage scaling, and processor shutdown. The approach is based on integer linear programming and optimally selects voltage levels and clustering configurations for jobs on a per-job/processor basis.
E N D
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
P0 P1 P2 P3 P4 P5 Processor Busy Processor Idle Scenario with no energy saving scheme
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
P0 P1 P2 P3 P4 P5 Processor Busy Processor Shutdown Processor Idle Scenario with processor shutdown
Voltage Scaling • Active Power Voltage level2 • Need to reduce voltage level in order to increase energy savings. • But how? Scaling! • Frequency Voltage levels • Time 1/Frequency • So, Time Voltage levels So, scale the voltage down to take advantage of extra available timeand reduce dynamic energy consumption! But leakage increases!
P0 P1 P2 P3 P4 P5 Processor Active Processor Voltage Scaled Processor Idle Scenario with voltage scaling
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 per-job/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)
P0 P1 P2 P3 P4 P5 Processor Active Processor Shutdown Processor Voltage Scaled Processor Idle Scenario with voltage scaling and processor shutdown
P0 P1 P2 P3 P4 P5 Processor Active Processor Voltage Scaled Processor Shutdown Scenario with unified approach including workload clustering
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 • Job assignment Constraint • A job runs only on one processor • All jobs must be run once
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
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
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 • 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
Mathematical programming model • Objective function • Sum of the dynamic and leakage energy • Simple variants • Reduce model to job clustering without voltage scaling • Reduce model to voltage scaling without job clustering
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.