Presentation is loading. Please wait.

Presentation is loading. Please wait.

Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk, M. Kandemir, M. Karakoy.

Similar presentations


Presentation on theme: "Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk, M. Kandemir, M. Karakoy."— Presentation transcript:

1 Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk, M. Kandemir, M. Karakoy

2 Outline Introduction MPSoC Architecture Energy Reduction Schemes Unified Approach ILP formulation Results Conclusion

3 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

4 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

5 Scenario with no energy saving scheme P0P0 P2P2 P1P1 P3P3 P4P4 P5P5 Processor BusyProcessor Idle

6 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

7 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

8 Scenario with processor shutdown P0P0 P2P2 P1P1 P3P3 P4P4 P5P5 Processor Busy Processor Idle Processor Shutdown

9 Voltage Scaling Active Power  Voltage level 2 –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 time and reduce dynamic energy consumption! But leakage increases!

10 Scenario with voltage scaling P0P0 P2P2 P1P1 P3P3 P4P4 P5P5 Processor Voltage Scaled Processor ActiveProcessor Idle

11 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!

12 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)

13 Scenario with voltage scaling and processor shutdown P0P0 P2P2 P1P1 P3P3 P4P4 P5P5 Processor Voltage Scaled Processor ActiveProcessor Idle Processor Shutdown

14 Scenario with unified approach including workload clustering P0P0 P2P2 P1P1 P3P3 P4P4 P5P5 Processor Active Processor Voltage ScaledProcessor Shutdown

15 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

16 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.

17 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

18 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

19 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

20 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

21 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

22 Results -Energy Savings

23 Results Job Assignment

24 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.

25


Download ppt "Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk, M. Kandemir, M. Karakoy."

Similar presentations


Ads by Google