POWER BUDGETING FOR VIRTUALIZED DATA CENTERS Harold Lim (Duke - - PowerPoint PPT Presentation
POWER BUDGETING FOR VIRTUALIZED DATA CENTERS Harold Lim (Duke - - PowerPoint PPT Presentation
POWER BUDGETING FOR VIRTUALIZED DATA CENTERS Harold Lim (Duke University) Aman Kansal (Microsoft Research) Jie Liu (Microsoft Research) Power Concerns in Data Centers Consumption costs Provisioning costs Cost of supply
Power Concerns in Data Centers
Consumption costs Provisioning costs Cost of supply infrastructure, generators, backup UPSs Can be higher than consumption cost in large data centers due to
discounted/bulk price on consumption
Addressed through peak power management
Provisioning Cost Data from James Hamilton
Over-subscription reduces provisioning cost
Lower allocated capacity => lower provisioning cost (Slight perf hit) Possible because power can be capped if exceeds [Lefurgy et al.
2003, Femal et. al 2005, Urgaonkar et al. 2009, Wang et al. 2010]
Data Center Power
Rated peak (never reached) Allocated Capacity
Actual power consumption (peak
- f the sum usually lower than
allocated, but can exceed)
Possible peak (sum of server peaks)
Time
Savings from Power Capping
Enter Virtualization
Existing capping methods fall short
Servers shared by VMs from different applications: cannot cap
a server or blade cluster in hardware
VM VM … VM VM … VM VM … Rack Server-12 … Server-1j Server-11
Challenge 1: Disconnect Between Physical Layout and Logical Organization of Resources Server
VM1 VM2 Existing Hardware Capping: Unaware of Applications
Server
VM1 VM2 Need: Application Aware Capping
Challenge 1: Disconnect Between Physical Layout and Logical Organization of Resources Server
VM1 VM2
Server
VM1 VM2 Existing Hardware Capping: Unaware of Applications Need: Application Aware Capping
Challenge 2: Multi-dimensional Power Control
100 150 200 250 300 350 400 450 500 550 600 1 2 3 4 5
Performance (TPS) Power (Watt)
DVFS = 100 DVFS = 94 DVFS = 88 DVFS = 82 DVFS = 76 DVFS = 70
Two knobs: DVFS and CPU time cap Different marks are different DVFS levels, multiple marks correspond to different CPU time caps
Perf gap at same power
Challenge 3: Dynamic Power Proportions
Applications’ input workload volume changes over time
Proportion among applications changes Proportion of power among app tiers changes CPU Disk
Front-End Back-End Low Load 50W (CPU Idle) 80W (Disk Spinning, Low IO)
CPU Disk
Front-End Back-End High Load 100W (CPU busy) 90W (Disk Spinning, High IO)
Virtualized Power Shifting (VPS): A Power Budgeting System for Virtualized Infrastructures
Addresses the above three challenges
Application-aware
Eg. Interactive apps not affected during capping
Shifts power dynamically as workloads change
Distributes power among applications and application
tiers for best performance
Exploits performance information (if available) and
multiple power knobs
Selects optimal operating point within power budget
Application-aware Hierarchy
PT(t) Data Center Controller Application Level Controller 1
…
Tier Level Controller 1 Tier Level Controller n Application Level Controller n
…
Tier Level Controller 1 Tier Level Controller n
…
VM VM
…
VM VM
…
VM VM
…
VM VM
…
Papp-1(t) Papp-n(t) Ptier-1(t) Ptier-n(t) Ptier-1(t) Ptier-n(t)
Top Level Controller: Issues
Determines amount of power for
each application
Static allocations does not work
Dynamic workloads and power
usage
Unused power wasted
Must compensate for hidden
power increase in shared infrastructure (e.g., cooling load) that are hard to assign to each application
PT(t) Data Center Controller App 1 App n
…
HVAC, Etc.
Top Level Controller: Solution
Uses feedback (PID) to adapt to dynamic workload and power Estimates uncontrollable power
PU(t) = PM(t) – Sum(Pai(t))
Outputs application power to be allocated
Papp(t+1) = PM(t) + D(t+1) - PU(t)
Top Level Controller App 1 App m … Data Center Power PT(t) PA1(t) PAm(t) PM(t)
Top Level Controller: Power Split
How is Papp distributed among apps?
Using Weighted Fair Sharing (WFS)
Each application has an initial budget
E.g., 99th percentile of its max power
In each priority class, allocate power needed to each
app, up to its initial budget
If not enough power, allocate proportion via WFS
Application Level Controller: Issues
Determines how much
budget to allocate to each tier
Prior work: Learn model
- f power ratios among
tiers a-priori. Problems:
Model changes with
workload
Depends on the control
knobs used
Application behavior
may change over time
Tier 1
…
Application
Tier N
Application Level Controller: Solution
VPS: dynamically tunes power allocations without
relying on learned models
Observations:
Application tiers are arranged in a pipeline Throttling one tier affects other tiers
Tier 1
…
Application Tier N
Application Level Controller (contd.)
Uses PID control
Measures total application power usage but only
control one tier
Automatically achieves right proportion
Controller
Tier 1 (Controlled) Tier n
- Budget
…
u(t) e(t) Pa(t)
Controller:
Tier Level Controller
Tracks tier power
budget by controlling VM power usage
Many power control
knobs available
Use DVFS and VM CPU
time allocation as knobs
PT(t) Tier Level Controller VM 1 VM n
…
Multiple trade-offs exist w.r.t accuracy, speed,
models needed, app visibility needed
Study 3 design options
Option 1: Open Loop Control
Uses power model to convert power budget to
control knob setting
E.g., PVM=cfreq*ucpu
Easy and instantaneous Does not require visibility into application
performance
But does not compensate for errors
Option 2: PID Control
Real time measurements to tune power settings:
compensates for error
Slower (needs time to converge) Single control knob (no notion of performance
- ptimality)
Controller VM1 VM k
- Tier
Budget … u(t), VM CPU Time e(t) Sum of VM power consumptions
Option 3: Model Predictive Control (MPC)
Optimizes performance using multiple power control
knobs (DVFS and VM CPU time)
Uses a cost function that consists of error and performance terms Solves for the optimal outputs for the next N steps but only apply
the setting for next time step
Requires application performance measurement Requires system models that relate control knobs to system
state
Summary of Design Options
Pros Cons
Open Loop Fast Needs power models Higher error PID Low error No performance
- ptimization
Slower MPC Optimizes performance Needs system models Needs performance measurement
Experiments
VPS controllers run as
network services in root VM on each server
Controller tuned using
known methods
Physical Server VM
… VM
Controller Service Root VM
Testbed: 17 Quad core HP Proliant servers (11 host
the apps, 6 generate the workload)
VMs mixed across the physical servers VM power measured using Joulemeter, Hardware
power using WattsUp PRO meters
Experiment Workloads
Applications
Interactive: StockTrader – open source multi-tiered cluster
web application benchmark
3 instances, 2 are High priority
Background: SPEC CPU 2006 benchmark
Low priority Use Microsoft data center traces as input to simulate
realistic workloads that vary over time
20 40 60 80 100 Workload (%) Time (s)
Metric: Total Budgeting Error
Error = excess power consumed above the assigned
budget, normalized by the power budget
0.05 0.1 0.15 0.2 0.25 0.3 0.35 Open Loop PID MPC Physical Hierarchy Overshoot Error (%) VPS
Metrics: Errors within App Hierarchy
Application power enforcement errors
0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00% Lo-1 Lo-2 Hi-1 Hi-2 Error (%) Open Loop PID MPC
Metric: Power Differentiation
VPS is designed to respect application priorities and QoS
constraints in a shared infrastructure
PID and MPC perform appropriate application differentiation
5 10 15 20 25 30 35 40 Open Loop PID MPC Physical Hierarchy Power Reduction (%) Lo-1 Lo-2 Hi-1 Hi-2
Metric: Application Performance
Performance of (low priority) app that was capped
0.2 0.4 0.6 1000 2000 3000 4000 5000
Response Time (s) Time (s)
PID MPC 2000 3000 4000 5000 1000 2000 3000 4000 5000
Throughput (TPS) Time (s) PID MPC
Conclusions
VPS: power budgeting system for virtualized data
centers
Hierarchy of control follows application layout
Respects application priorities and application VM
boundaries
Optimizes application performance, given a power
budget
Dynamically adjusts power proportions Exploits multiple knobs