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

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

description

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

Transcript of Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk,...

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

Workload Clustering for Increasing Energy Savings on

Embedded MPSoCsS. H. K. Narayanan, O. Ozturk, M.

Kandemir, M. Karakoy

Page 2: 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

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

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

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

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

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

Scenario with no energy saving scheme

P0 P2P1 P3 P4 P5

Processor Busy Processor Idle

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

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

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

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

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

Scenario with processor shutdown

P0 P2P1 P3 P4 P5

Processor Busy Processor Idle

Processor Shutdown

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

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 time and reduce dynamic energy consumption! But leakage increases!

Voltage

PowerFrequency

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

Scenario with voltage scaling

P0 P2P1 P3 P4 P5

Processor Voltage Scaled

Processor Active Processor Idle

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

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!

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

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)

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

Scenario with voltage scaling and processor shutdownP0 P2P1 P3 P4 P5

Processor Voltage Scaled

Processor Active Processor Idle

Processor Shutdown

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

Scenario with unified approach including workload clustering

P0 P2P1 P3 P4 P5

Processor Active

Processor Voltage Scaled Processor Shutdown

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

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

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

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.

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

Mathematical programming model

• X(p,j,v)– Binary variable– Expresses whether processor p runs job j at voltage v

} 1 |0 { v)j,X(p, vj,p,

• Job assignment Constraint– A job runs only on one processor – All jobs must be run once

1 v)j,X(p, p v

j

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

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

j v

max ),,( T(j,v)Job_LengthjvpXp

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

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

),,( ,, vjpX Busy(p)vjp

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

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

p j v

),(_ ),,( _ vjEnergyJobvjpXEnergyD

• 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

p

_ _ Busy(p)ValueLeakageEnergyL

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

Mathematical programming model

• Objective function– Sum of the dynamic and leakage energy

EnergyLEnergyDEnergyTotal _ _ _

• Simple variants– Reduce model to job clustering without voltage scaling– Reduce model to voltage scaling without job clustering

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

Results -Energy Savings

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

Results Job Assignment

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

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.

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