Sie sind auf Seite 1von 16

Energy Efficient Computing: from

milliwatt to megawatt

Feng Zhao, Assistant Managing Director


Microsoft Research Asia
http://research.microsoft.com/~zhao

Joint work with Aman Kansal, Jie Liu, Suman Nath, Bodhi Priyantha

Talk at Santa Barbara Summit on Energy Efficiency, May 20, 2009


The Power Spectrum
• Sensors, embedded networks:
– running on AA batteries for months to years
• Data centers with 100,000s of servers:
– often located near large hydro power plants

Computing on a dime Computing in a warehouse


9 orders of magnitude in power difference.
102W 107W
Tradeoffs in energy and performance across the scale
Modular sensor platform
• Lego-like kit to explore design of mobile devices (e.g.
cell-phones) with multiple processors, radios, storage

Processor “brick” (ARM)

Scalable
Radio “brick” (WiFi)
interconnect
Low Power Processor “brick” (MSP430)

• Optimizing system wide energy consumption for


applications

Lymberopoulos, Priyantha, Zhao, "mPlatform: A Reconfigurable Architecture and Efficient Data Sharing Mechanism for Modular Sensor Nodes." IPSN’07.
Lymberopoulos, Priyantha, Goraczko, Zhao, "Towards Energy Efficient Design of Multi-Radio Platforms for Wireless Sensor Networks.“ IPSN’08.
Map tasks to components
• Multiple processors
– Radio MAC processor, app processor, DSP
– Each has multiple P-states/C-states

Map application to
components and power states

Static Dynamic
(design time) (run time)
Task Allocation
• Task processing requirements may only
become known at run time
– Varying sensed event rate, varying application mix
supported by platform
• Solution: Adapt power state usage
dynamically
– E.g. Trade-off responsiveness for power savings
through increased sleep state usage
Data centers

Data centers are often over provisioned


• Low average CPU utilization
• Over-cooling due to hot spots/large thermal Load fluctuation
gradient (D15-25F on front)

6
Data Center Genome
Saving energy and improving operation efficiency by networked sensing, data mining, and control.

MSR Genomotes

Collect, archive, Cooling Systems


and understand
operations data

Power Systems

Operation monitoring,
Capacity planning,
Device provisioning,
Resource control
Networking Server load
Messenger Connection Services
Login Requests Clients

Pick a CS
Dispatch Server

Connection
Load reporting

Connection Server Connection Server Connection Server

Backend Servers:
Authentication, address book, etc.
Workload and power
Weekly Windows Live Messenger traffic on 60 servers

1400 Login Rate 5 Typical Server Power Consumption

Number of connections (millions)


Connections 180
Login rate (per second)

Intel(R) 2CPU 2.4GHz


1200 160 Intel(R) 2CPU 3GHz
4

Power Consumption (Watts)


140
1000
120
3
800 100

80
2
600 60

40
400 1
20

200 0
0 20 40 60 80 100 120 140 160 0 Sleep Idle 20% 40%
40$ 60% 80% 100%
CPU Utilization
Time in hours

• Server loads fluctuate over time


• Servers are installed to handle peak load
• Shutting down unused servers can yield significant energy
saving
Load Dispatching Strategies
Load Balancing Load Skewing
pi 
1 1 N
(  i ) round robin over 
K K N tot busiest server as long as Ni  Ntgt
e.g. Ntgt  0.9 N max
 controls convergence rate
Starve a server before shutting down Declare Ni  Ntail as shut down candidates

Ltot (t ) User requests Ltot (t ) User requests

Load Load
Dispatcher Dispatcher
Li (t ) Li (t )

N i (t ) N tgt
N i (t )
Di (t ) Di (t )
Load Dispatching Strategies
Load Balancing Load Skewing
pi 
1 1 N
(  i ) round robin over 
K K N tot busiest server as long as Ni  Ntgt
e.g. Ntgt  0.9 N max
 controls convergence rate at steady states
Starve a server before shutting down Declare Ni  Ntail as shut down candidates

Ltot (t ) User requests Ltot (t ) User requests

Load Load
Dispatcher Dispatcher
Li (t ) Li (t )

N tgt
N i (t ) N i (t )
Di (t ) Di (t )
Energy Saving and Performance
Tradeoffs
kWh With vs. Without Forecasting
440

420

400
Forecasting Balancing Starving
Reactive skewing
380 Nt:10K
Reactive Balancing Starving

360

Nt:40K
S: 2hr
340
S: 4hr

320 SIDs
0 200000 400000 600000 800000 1000000

• Accurate forecasting gives better energy saving with less SIDs.


• When loads are not predictable, reactive skewing can perform well.
Gong Chen, Wenbo He, Jie Liu, Suman Nath, Leonidas Rigas, Lin Xiao, and Feng Zhao, "Energy-Aware Server Provisioning and Load
Dispatching for Connection-Intensive Internet Services,“ NSDI'08, April 16–18, 2008, San Francisco.
JouleMeter: Profiling Application
Energy Using Performance Events

Detailed Energy Run-time control


Source code Profile (Eg. Reduce QoS)

JouleMeter
Auto-optimize
Workload (Eg. Compiler warning:
Change line 136 in
Program.c to save …)

Designer Insights
(Eg. Network is holding up the
CPU in method X …)

Optimizations

Aman Kansal and Feng Zhao, "Fine-Grained Energy Profiling for Power-Aware Application Design,“ HotMetrics08, June 6, 2008,
Annapolis, MD.
How it works

Trace Collection (events, Trace Energy


counters, power) Processing Data

Test Workload
Execution
Error
Analysis
<

• Power tracing only required for learning phase or


error analysis
Energy Profiles
Estimation Error
Energy Model Error
Component Energy
Component Dynamic Energy
60 20
Measured CPU
Estimate 18 Memory
50 Error Disk
16

14
Watts

40
12 CPU
Disk
Watts

Watts
30 10

8
20
6 Memory
4
10
2

0 0
0 50 100 150 200 250 300 0 50 100 150 200 250 300
TimeTime(s) Time(s)

Application Energy Application/Component


Application Dynamic Energy Component Dynamic Energy (Cumulative)
25 2500
Total CPU
App 1 Memory

20
Controlled Load App 2
2000
Disk

15 Joules 1500
Watts

10
System 1000

5 500

0 0
0 50 100 150 200 250 300 Total App 1 App 2
Time(s)
Making energy a first class citizen in design

Many energy saving opportunities


• Exist at multiple layers of systems and apps
• Need to discover, expose and exploit relevant power
knobs

Consider “energy complexity”


• Not just algorithmic complexity, but also tradeoff
between energy, performance and other system
metrics

Think holistically
• Optimize across workload, performance, energy
• Relating energy saving to end user experiences

Das könnte Ihnen auch gefallen