powerperfcenter: a power and performance prediction tool for multi-tier applications
DESCRIPTION
PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications. Varsha Apte, Bhavin Doshi Department of Computer Science and Engineering IIT Bombay, Mumbai, INDIA CMG Meeting, April 4 th , 2014, IIT Bombay. The application performance prediction problem. Application. - PowerPoint PPT PresentationTRANSCRIPT
1
PowerPerfCenter: A Power and Performance PredictionTool For Multi-Tier Applications
Varsha Apte, Bhavin DoshiDepartment of Computer Science and EngineeringIIT Bombay, Mumbai, INDIA
CMG Meeting, April 4th, 2014, IIT Bombay
2 2
The application performance prediction problem
A multi-tier application is ready to be “rolled out”. •How many users can it support?•With some N simultaneous users, what will be the response time?•What sort of hardware and deployment architecture is required to support a target N users?
WebApplication
Database
Application
3 3
Application performance prediction- how?
Carry out “load testing” on a testbed
Clients running load generators
Servers running system under test
GenerateRequests, measure performance
Extrapolate to “production” environment, using
models. More specifically, modeling tools.
4
PerfCenter – Multi-tier Application Performance Modeling Tool
Machine 1 Machine 2 Machine 3
Takes as input, the server, host, network, deployment, request types, message flow details, and resource usage details.
Request
WAN
WAN
LAN
Web Server Auth ServerWeb Server
10ms
5
PerfCenter Model Specification Language
variablenusr 1end
deviceintel_xeon_cpuraid_diskend
host server_host[2]intel_xeon_cpu count 1intel_xeon_cpu buffer 99999intel_xeon_cpu schedP fcfsraid_disk count 1raid_disk buffer 99999raid_disk schedP fcfsend
task verify_sessionintel_xeon_cpu servt 0.010end
…server webthread count 150thread buffer 0thread schedP fcfstask verify_credentialstask prepare_calendar_pagetask verify_session…enddeploy web server_host[1]deploy db server_host[2]
lan lan1end
deploy server_host[1] lan1deploy server_host[2] lan1
scenario Login prob 0.05 user verify_credentials 100 SYNC branch prob 0.05 verify_credentials display_error_message 100 SYNC end …..endloadparamsnoofusers nusrthinktime exp(2)end
modelparamsmethod simulationtype closednoofrequests 40000end
for nusr = 5 to 100 incr 5print nusr+","+respt()+","+tput()+","+ util(server_host[1]:intel_xeon_cpu)+ ","+util(server_host[2]:intel_xeon_cpu)nusr=nusr+5end
6
Power – an important resource•Power Costs are now a significant part of overall datacenter expenses
•Specifically, many devices in servers run in self-tuned mode to save power
•Typically: low speed low power
Run at low speed when load is low
•But low power low performance
1. Application Performance Modeling Tools must predict performance in presence of power-managed devices
2. Power Consumption should also be modeled and predicted
7
PowerPerfCenter
A multi-tier application performance modeling tool which can represent “power-managed” devices and predict power consumption
Extension of existing FOSS tool developed at IIT Bombay “PerfCenter”* (www.cse.iitb.ac.in/panda/tools/perfcenter)
*"PerfCenter: a performance modeling tool for application hosting centers" , Akhila Deshpande, Varsha Apte and Supriya Marathe, Proceedings of the 7th international workshop on Software and performance, June 2008.
8
PowerPerfCenter Can specify power-managed devices
Abstraction: set of speed levels, and power consumed at those speed levels
Current model based on linux governors of “frequency scaled CPUs”: two static
powersave: fixed at lowest speed performance: fixed at highest speed
two dynamic ondemand: speed jumps to highest if utilization exceeds
upthreshold conservative: speed jumps by one step when low/high thresholds
crossed
Power usage model within PerfCenter:
power used by device (speed, utilization) = idlepower(speed) + utilization X max_dynamic(speed)
Power (watts)
idle power
utilization 1.0
max dynamic
9
PowerPerfCenter Specificationpowermanagement corei5speed_levels 1.2 2.26 2.39 2.53 2.66 2.79 2.93 3.06 3.19 3.19 endpower_consumed 10.36 69.259 81.911 97.166 112.926 130.306 150.922 171.916 194.771 194.771 end idlepower 65 65 65 65 65 65 65 65 65 65 endprobe_interval 0.08governor_up_threshold 80governor_down_threshold 20end
host arpa[1]corei5 count 1corei5 buffer 99999corei5 schedP fcfs
corei5 power_managed governor conservativedisk count 1disk buffer 99999disk schedP fcfsdisk speedup 1end
power(arpa[1]:corei5) // average power consumed by // corei5
eperr(arpa[1]:corei5) //energy per request
respt(), tput() // avg response time, and throughput
10
PowerPerfCenter Validation: Application Example: “Webcalendar”
Two tier application Request “scenarios”
ViewEventViewWeekViewMonth…
11
PowerPerfCenter Validation: Testbed
Web server:Intel Core i5 650 processor •One active core •Frequency scaled:•1.2 GHz to 3.19 GHz in steps of 133 MHz•Idle power consumption:65 w at all frequency levels•Dynamic power consumption:Varies with frequency levels
Database server:Intel Core2 Duo E4500 2.2 GHz processorNot frequency scaled5000 users, 100 events each
Client for Load Generation
Load generator:AutoPerf AutoPerf generates usual
performance metrics as well as per scenario, per server, resource demands
e.g. CPU execution time of ViewEvent request at Web server
12
PowerPerfCenter Validation:Workload Dynamic workload (cyclic) number of
simultaneous users changes over time Dynamic workload can highlight the impact of using
power-managed devices
Each user logins, then navigates randomly through a set of various requests
PowerPerfCenter specification
workload cyclicnoofusers 25 30 35 40 45 40 35 30 25 25 20 15 20 25 endinterval 300 300 300 300 300 300 300 300 300 300 300 300 300 300 endthinktime exp(6)
13
Experiments - 1: Validation of Perfomance Metrics WebCalendar performance
Measured on testbed Estimated using PowerPerfCenter model
Metrics compared Throughput, response time, and resource utilizations
Governors compared POwersave (PO): CPU Frequency fixed at lowest Conservative (C): Speed increases/decreases when
high/low utilization thresholds are crossed Performance (PE): CPU Frequency fixed at highest
14
Model vs Measured – Conservative Governor
ModeledMeasured
Th
rou
gh
pu
tR
esp
on
se T
ime
Web
CP
U U
tili
zati
on
Nu
mb
er o
f U
sers
Time Time
15
Governors comparison
CPU with PowerSave (PO) governor does not have enough capacity
Performance of Conservative (C) governor very close to Performance (PE) governor
16
Experiments-2: Power-performance Tradeoff Validation
Only by trend checking – currently not validated by measurement
power consumed by PE > power consumed by C > power consumed by PO
Response time of PE <Response time of C < Response time of of PO
Demonstrate insights possible by using PowerPerfCenter
Compare CPU with same idlepower consumption at different frequency settings (corei5), with CPU with different idle power consumption at different frequency settings (core i7)
17
Power-Performance Results (corei5) Power & performance trends are as expected
However, power saving by Conservative governor is insignificant
Explanation: CPU utilization is not high enough– “idlepower” consumption dominates – which is the same at all speeds – so power management is not very useful
Workload-2 (w2):75 users for 60 seconds, and 3 usersfor 600 seconds
18
Power-Performance Results (corei7)
40% power saving by conservative governor, as compared with performance governor, with much smaller performance penalty than PO
corei7: Idle power Consumption different at different frequenciespowermanagement corei7speed_levels 2.8 3.4 4.0 endpower_consumed 120 120 195 end idlepower 51 66 90 end
19
Summary & Future Work PowerPerfCenter:a powerful tool for
performance prediction in presence of power-managed devices Performance metrics validated Power modeling shown to lead to interesting insights
in the power-performance trade-off This is just a start (work-in-progress) – lots of
future work further validation of performance metrics validation of power metrics generalized power consumption model analytical models
20
Thank you/ Questions
Acknowledgements:Yogesh Bagul and Rakesh Mallick for contribution to PowerPerfCenter developmentSwetha P. T. Srinivasan for providing us with power usage dataSenthil Nathan and Swetha P. T. Srinivasan for valuable feedback This work was supported by Tata Consultancy Services, Mumbai, IBM , Intel IT and MHRD