Abhinav Kamra, Vishal Misra CS Department Columbia University 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
Dynamic Content Online shopping News snippets Amazon, BestBuy News snippets http://news.google.com/ Current weather conditions Real-time stock tickers
Dynamic Content Generation Web Server App Server Database Server http 3-Tier Structure: Web Server: Static web pages App Server: CGI / Java servlets Database Server: Backend Data Store
Major Problems Overloaded Web Sites: Unresponsive 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: Throughput Actual Ideal 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
Why Self-Tuning ? Parameter Setting Re-done for every system change Lots of experimentation Workload characterization Re-done for every system change
Outline Motivation & Background The ‘Yaksha’ Controller Architecture Modeling Design Self-Tuning Experimental Environment Experimental Results Summary and Conclusions
The ‘Yaksha’ Controller Architecture Web Server App Server Database Server Clients http 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
Modeling Reference Input S = Desired Response/Sojourn times + S Controller Web Server – Reference Input = Desired Response/Sojourn times = Incoming job acceptance probability
Modeling System Abstraction Open loop transfer function M/GI/1 Processor Sharing Queue Linearization approximation Open loop transfer function
Design Proportional Integral (PI) Control Zero steady state error Closed loop transfer function
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
Self-Tuning ‘Pure gain’ open loop transfer function Effective arrival rate ‘Tuned’ transfer function Running average for pa
Parameter Setting Parameters w/o Self-Tuning Expected input rate Expected connection drop rate Target response time Parameters with Self-Tuning
Motivation & Background The ‘Yaksha’ Controller Outline Motivation & Background The ‘Yaksha’ Controller Experimental Environment Setup & Methodology Software & Hardware Experimental Results Summary and Conclusions
Experimental Setup Database Server Web/App Server Lightweight Proxy Workload Generator SQL Database Server Web/App Server Lightweight Proxy Controller
Emulated Clients Emulated Clients Tomcat MySQL http SQL 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 SQL Database Server Web/App Server Lightweight Proxy Controller 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
Hardware http SQL TPC-W Client Tinyproxy/ Tomcat MySQL CPU Intel Pentium 1.7 GHz Memory 512 MB Disk 12 GB, 12 ms, 5400 RPM Network 100 Mbps Ethernet
Outline Motivation & Background The ‘Yaksha’ Controller Experimental Environment Experimental 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
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: Control 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