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
Dynamic Content
Online shopping Amazon, BestBuy
News snippets http://news.google.com/
Current weather conditionsReal-time stock tickers
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
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
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
Why Self-Tuning ?
Parameter Setting Lots of experimentation Workload characterization
Re-done for every system change
Outline
Motivation & BackgroundThe ‘Yaksha’ Controller Architecture Modeling Design Self-Tuning
Experimental EnvironmentExperimental ResultsSummary and Conclusions
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
Reference Input = Desired Response/Sojourn times = Incoming job acceptance probability
Modeling
rWeb ServerController)(tp
refT)(te
)(tT
)()( tTte +
– )(1 sG )(2 sG
Tp
Modeling
System Abstraction M/GI/1 Processor Sharing Queue Linearization approximation
Open loop transfer function 2
02 )( refTsG
Proportional Integral (PI) Control Zero steady state error
Closed loop transfer function
Design
s
KKsPI ip )(
)(1
)()(
20
20
sPIT
sPITsC
ref
ref
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
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
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
Outline
Motivation & BackgroundThe ‘Yaksha’ ControllerExperimental Environment Setup & Methodology Software & Hardware
Experimental ResultsSummary and Conclusions
Experimental Setup
Workload GeneratorSQL
Database ServerWeb/App Server
Lightweight Proxy
Controller
httpTomcat MySQL
SQL
Emulated Clients
EmulatedClients
Remote Browser Emulator Session duration Think time Markov model
Load is a function of the number of clients
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
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
Outline
Motivation & BackgroundThe ‘Yaksha’ ControllerExperimental EnvironmentExperimental Results Response time control Throughput control Self-tuning Model validation
Summary and Conclusions
Results: Response time control
Results: Throughput control
Results: Self-tuning
Results: Self-tuning
Results: Model Validation
1
][)(
XEXTPS
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
Thank You!
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
Results: Throughput control - Pa