29
Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich Nahum IBM TJ Watson Research Center

Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

  • View
    222

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web

Sites

Abhinav Kamra, Vishal Misra

CS DepartmentColumbia University

Erich NahumIBM TJ Watson

Research Center

Page 2: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Dynamic Content

Online shopping Amazon, BestBuy

News snippets http://news.google.com/

Current weather conditionsReal-time stock tickers

Page 3: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Dynamic Content Generation

3-Tier Structure: Web Server: Static web pages App Server: CGI / Java servlets Database Server: Backend Data Store

http DatabaseServer

WebServer

App Server

Page 4: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Major ProblemsOverloaded Web Sites: The “Slashdot Effect” Unanticipated load causes site to crash

Unresponsive Web Sites: The “Abandoned Shopping Cart’’ Unacceptable delays lead to reduced

usage

Page 5: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Admission Control

To prevent overload, perform admission control:

Notion of capacity in the system Identify the job ahead of time & amount of work

generated Only let jobs in if they won’t overload system

Once you reach full capacity: Make jobs wait Drop jobs

Load

Th

rou

gh

pu

t

Actual

Ideal

Page 6: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Why Self-Tuning ?

Parameter Setting Lots of experimentation Workload characterization

Re-done for every system change

Page 7: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Outline

Motivation & BackgroundThe ‘Yaksha’ Controller Architecture Modeling Design Self-Tuning

Experimental EnvironmentExperimental ResultsSummary and Conclusions

Page 8: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

The ‘Yaksha’ Controller Architecture

Intercepts HTTP requests Decides whether to accept or reject new connections

Maintains several measurement-based estimates: Per connection Response and Sojourn times Per customer-class based estimates Per query-type based estimates

http DatabaseServer

WebServer

AppServer

YakshaClients

Page 9: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Reference Input = Desired Response/Sojourn times = Incoming job acceptance probability

Modeling

rWeb ServerController)(tp

refT)(te

)(tT

)()( tTte +

– )(1 sG )(2 sG

Tp

Page 10: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Modeling

System Abstraction M/GI/1 Processor Sharing Queue Linearization approximation

Open loop transfer function 2

02 )( refTsG

Page 11: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Proportional Integral (PI) Control Zero steady state error

Closed loop transfer function

Design

s

KKsPI ip )(

)(1

)()(

20

20

sPIT

sPITsC

ref

ref

Page 12: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Design (contd.)

Setting system parameters Fix controller time constant to 10 sec

Fix phase margin at 45 degrees

Bilinear transform to convert to digital form

1.0 s

)()( 11 refkrefkkk TTBTTApp

Page 13: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Self-Tuning

‘Pure gain’ open loop transfer function

Effective arrival rate

‘Tuned’ transfer function

Running average for pa

20 refg TK

ap

a

refg p

TK

20

)1)(1( daa ppp

Page 14: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Parameter Setting

Parameters w/o Self-Tuning Expected input rate Expected connection drop rate Target response time

Parameters with Self-Tuning Target response time

0

refT

refT

0p

Page 15: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Outline

Motivation & BackgroundThe ‘Yaksha’ ControllerExperimental Environment Setup & Methodology Software & Hardware

Experimental ResultsSummary and Conclusions

Page 16: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Experimental Setup

Workload GeneratorSQL

Database ServerWeb/App Server

Lightweight Proxy

Controller

Page 17: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

httpTomcat MySQL

SQL

Emulated Clients

EmulatedClients

Remote Browser Emulator Session duration Think time Markov model

Load is a function of the number of clients

Page 18: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Software

Workload Generator

TPC-W 1.0.1

Lightweight Proxy Tinyproxy 1.6.1

Web/App Server Tomcat 4.1.27

Database Server MySQL 4.1.0

Workload GeneratorSQL

Database ServerWeb/App Server

Lightweight ProxyController

Page 19: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Hardware

CPU Intel Pentium 1.7 GHz

Memory 512 MB

Disk 12 GB, 12 ms, 5400 RPM

Network 100 Mbps Ethernet

http Tinyproxy/ Tomcat

MySQLSQLTPC-W

Client

Page 20: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Outline

Motivation & BackgroundThe ‘Yaksha’ ControllerExperimental EnvironmentExperimental Results Response time control Throughput control Self-tuning Model validation

Summary and Conclusions

Page 21: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Results: Response time control

Page 22: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Results: Throughput control

Page 23: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Results: Self-tuning

Page 24: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Results: Self-tuning

Page 25: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Results: Model Validation

1

][)(

XEXTPS

Page 26: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Summary & Future Work

Presented the ‘Yaksha’ Control System PI admission control for http connections Overload prevention Response time bounds Self-Tuning Control

Future Work Throughput maximization

Page 27: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Thank You!

Page 28: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Related Work

Admission Control for Static Content Web Servers:

Bhatti99, Li00, Voigt01, Pradhan02

Provide throughput/response time/BW guarantees

Control

Tarek01, Tarek02, Hellerstein01, Hellerstein02, Welsh03

Control theory for resource management

Admission control for Apache, Lotus notes

Dynamic Content:

Dynaserver project at Rice

TPC-W Benchmarks

Page 29: Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich

Results: Throughput control - Pa