Download PPT

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Open energy system models wikipedia , lookup

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