1. University of St Andrews
School of Computer Science
Energy Aware Clouds
St Andrews Cloud Computing co-laboratory
James W. Smith
jws7@cs.st-andrews.ac.uk
2. University of St Andrews
School of Computer Science
Justification
• Total Carbon Footprint of the IT industry was 2% of all human
activity in 2007
– 830 MtCO2e
– Energy powering devices is 75% of this total
– Need to build sci-fi power or improve efficiency
• Energy Aware Computing
– reducing power on chips
– cooling
– build efficient systems
– software?
2
3. University of St Andrews
School of Computer Science
Cloud Computing
• Defined by characteristics:
– On Demand Self-Service
– Broad Network Access
– Resource Pooling
– Rapid Elasticity
– Measured Service
• Datacentres
– Concentrated Centres of Computation
– Always on
– Cost effective?
• Nearly every major corporation in IT has interest in Cloud
Computing...
– $150bn market by 2013? 3
4. University of St Andrews
School of Computer Science
Is this new?
John McCarthy (1961):
“computation may someday be organised as a public utility”
4
5. University of St Andrews
School of Computer Science
Is this just Grid Computing?
Grids Clouds
On demand Self-Service
Broad Network Access
Resource Pooling
Rapid Elasticity
Measured Service
Disclaimer: I didn’t come up with this, Ian Foster et al did...
5
6. University of St Andrews
School of Computer Science
One man & a credit card
Can now access one of the largest computing resources in the world
6
7. University of St Andrews
School of Computer Science
Datacentres
• Smart Construction
– Location, Location, Location
• Monitoring
– Tough Job (Yi)
• Power Usage Effectiveness
– Total Facility Power / IT Equipment Power
• Cooling
– Is the massive amount of cooling required a good thing or a bad thing?
7
8. University of St Andrews
School of Computer Science
Cooling
• Why do we need to cool?
– Preserve lifetime of components
• Mechanical Engineering
– Air or water?
– Direct Heat Exchange
• Computer Science
– Smart load balancing?
8
9. University of St Andrews
School of Computer Science
Virtualization
• Virtualization makes clouds run
– Run multiple VMs on each physical machine
– Improves utilization, cost effectiveness
• Save Energy
– Increase Utilization
– Migrate work?
• Clouds
– Can we save even more energy? S.E.P.
9
10. University of St Andrews
School of Computer Science
Energy-Aware Computing
• Cost of purchase is now exceed by cost of operation
– Enterprise is not good at estimating operational costs
– And it varies with workload...?
• So how do we construct Energy Aware Systems?
– Power Down
– Consolidate Tasks
– Scale Resources
– Balance Work Smartly
10
11. University of St Andrews
School of Computer Science
Power Management
• Migrate Components between Power States
• How much do we switch off?
– Laptop analogy
• Sending to sleep still costs energy
• Shutting down would save more at the cost of additional time
• Performance & Response Times vs. Energy Savings
11
12. University of St Andrews
School of Computer Science
Task Consolidation
• Keep machines well utilised
• Bin packing problem
– Tasks are objects
– Servers are bins
– Resources are dimensions
• Relies upon being able to accurately predict tasks
resource requirements
– performance adjusting applications?
12
13. University of St Andrews
School of Computer Science
Resource Scaling
• Use only the amount of resource required to
complete a task
– Give each task a deadline
– Only give resources to allow completion within that
deadline
• Speed Scaling
– Adjust CPU speed
– Save energy & cooling costs
• Fine for individual components, but how do we do
13
14. University of St Andrews
School of Computer Science
Load Balancing
• Traditional model
– Distribute work evenly
– Each node has equal workload
14
15. University of St Andrews
School of Computer Science
Load Skewing
• Energy efficient model
– “Skew” load
– Give work to nodes while they can handle it
– Power down unused nodes
15
16. University of St Andrews
School of Computer Science
Power Efficient Software
• Different devices consume different amounts of energy doing
(roughly) the same task.
– i.e. Making a call, playing a song
– Why? Difference in hardware & Difference in software implementation
• Is it possible to produce energy efficient software?
– Optimise for time, scalability, robustness, but energy?
• Principles:
– 1) Work done corresponds to resources consumed
– 2) Event based rather than polling
– 3) Take care with memory
– 4) Batch Additional resource requests
16
17. University of St Andrews
School of Computer Science
Future Work
• Virtualisation
– Measure performance derogation
– Energy savings?
– Is the power cloud more efficient?
• Modify Allocation algorithms
– Taking into consideration Energy-Aware principles
• Power Efficient Software
– Experiment to see if its possible
– Draw up guidelines
17
18. University of St Andrews
School of Computer Science
Questions?
18