powerperfcenter: a power and performance prediction tool for multi-tier applications

20
1 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

Upload: paulos

Post on 12-Jan-2016

31 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 2: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 3: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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.

Page 4: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 5: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 6: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 7: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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.

Page 8: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 9: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 10: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

10

PowerPerfCenter Validation: Application Example: “Webcalendar”

Two tier application Request “scenarios”

ViewEventViewWeekViewMonth…

Page 11: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 12: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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)

Page 13: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 14: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 15: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

15

Governors comparison

CPU with PowerSave (PO) governor does not have enough capacity

Performance of Conservative (C) governor very close to Performance (PE) governor

Page 16: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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)

Page 17: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 18: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 19: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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

Page 20: PowerPerfCenter: A Power and Performance Prediction Tool For Multi-Tier Applications

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