Admission Control and Request Scheduling in E-Commerce Web Sites

Slides:



Advertisements
Similar presentations
Case Study: Photo.net March 20, What is photo.net? An online learning community for amateur and professional photographers 90,000 registered users.
Advertisements

Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.
1 SLA Enforcement in the Service Cloud Anja Grünheid Fakultät für Informatik Lehrstuhl III - Datenbanksysteme.
The Effects of Wide-Area Conditions on WWW Server Performance Erich Nahum, Marcel Rosu, Srini Seshan, Jussara Almeida IBM T.J. Watson Research Center,
Exploiting Distributed Version Concurrency in a Transactional Memory Cluster Kaloian Manassiev, Madalin Mihailescu and Cristiana Amza University of Toronto,
1 Database Replication Using Generalized Snapshot Isolation Sameh Elnikety, EPFL Fernando Pedone, USI Willy Zwaenepoel, EPFL.
Predicting Replicated Database Scalability Sameh Elnikety, Microsoft Research Steven Dropsho, Google Inc. Emmanuel Cecchet, Univ. of Mass. Willy Zwaenepoel,
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Handling Web Hotspots at Dynamic Content Web Sites Using DotSlash Weibin Zhao Henning Schulzrinne Columbia University NYMAN’04.
Handling Web Hotspots at Dynamic Content Web Sites Using DotSlash Weibin Zhao Henning Schulzrinne Columbia University Dagstuhl.
Adaptive Content Delivery for Scalable Web Servers Authors: Rahul Pradhan and Mark Claypool Presented by: David Finkel Computer Science Department Worcester.
Yaksha: A Self-Tuning Controller for Managing the Performance of 3-Tiered Web Sites Abhinav Kamra, Vishal Misra CS Department Columbia University Erich.
Towards Autonomic Hosting of Multi-tier Internet Services Swaminathan Sivasubramanian, Guillaume Pierre and Maarten van Steen Vrije Universiteit, Amsterdam,
Towards Eco-friendly Database Management Systems W. Lang, J. M. Patel (U Wisconsin), CIDR 2009 Shimin Chen Big Data Reading Group.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Database Replication Policies for Dynamic Content Applications Gokul Soundararajan, Cristiana Amza, Ashvin Goel University of Toronto EuroSys 2006: Leuven,
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science An Analytical Model for Multi-tier Internet Services and its Applications Bhuvan.
1 Scheduling Processes. 2 Processes Each process has state, that includes its text and data, procedure call stack, etc. This state resides in memory.
Profile Driven Component Placement for Cluster-based Online Services Christopher Stewart (University of Rochester) Kai Shen (University of Rochester) Sandhya.
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
Scaling Dynamic Content Applications through Data Replication - Opportunities for Compiler Optimizations Cristiana Amza UofT.
1 Specification and Implementation of Dynamic Web Site Benchmarks Sameh Elnikety Department of Computer Science Rice University.
DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software
Simulating a $2M Commercial Server on a $2K PC Alaa R. Alameldeen, Milo M.K. Martin, Carl J. Mauer, Kevin E. Moore, Min Xu, Daniel J. Sorin, Mark D. Hill.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
Usenix Annual Conference, Freenix track – June 2004 – 1 : Flexible Database Clustering Middleware Emmanuel Cecchet – INRIA Julie Marguerite.
Difference of Degradation Schemes among Operating Systems -Experimental analysis for web application servers- Hideaki Hibino*(Tokyo Tech) Kenichi Kourai.
TPC BENCHMARK W (Web Commerce) SeungLak Choi Dept. of Computer Science, KAIST.
Database Replication in Tashkent CSEP 545 Transaction Processing Sameh Elnikety.
Online Music Store. MSE Project Presentation III
A Method for Transparent Admission Control and Request Scheduling in E-Commerce Web Sites S. Elnikety, E. Nahum, J. Tracey and W. Zwaenpoel Presented By.
1 Admission Control and Request Scheduling in E-Commerce Web Sites Sameh Elnikety, EPFL Erich Nahum, IBM Watson John Tracey, IBM Watson Willy Zwaenepoel,
Empirical Quantification of Opportunities for Content Adaptation in Web Servers Michael Gopshtein and Dror Feitelson School of Engineering and Computer.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Injecting Realistic Burstiness to.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
R. Jiménez-Peris Scalability Evaluation of the Replication Support of JOnAS, an Industrial J2EE Application Server A. Paz, F. P é rez-Sorrosal, M. Patiño-Martínez,
Internet Applications: Performance Metrics and performance-related concepts E0397 – Lecture 2 10/8/2010.
A Comparative Evaluation of Transparent Scaling Techniques for Dynamic Content Servers Presented by Chen Zhang Written by C. Amza, A. L. Cox,
An Architectural Evaluation of Java TPC-W Harold “Trey” Cain, Ravi Rajwar, Morris Marden, Mikko Lipasti University of Wisconsin-Madison
Admission Control and Request Scheduling in Dynamic E-Commerce Web Sites Sameh Elnikety, Erich Nahum, John Tracey, Willy Zwaenepoel C.S. Dept. EPFL IBM.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
CERN IT Department CH-1211 Genève 23 Switzerland t Load testing & benchmarks on Oracle RAC Romain Basset – IT PSS DP.
TPC Benchmark™ W 2002 년 6 월 이상호 교수 숭실대학교 데이터베이스 연구실
Understanding and Improving Server Performance
OPERATING SYSTEMS CS 3502 Fall 2017
Abhinav Kamra, Vishal Misra CS Department Columbia University
Cultivating Software Quality In Cloud Via Load Testing Tools
Regulating Data Flow in J2EE Application Server
CPU Scheduling Chapter 5.
PHP / MySQL Introduction
Process Scheduling B.Ramamurthy 9/16/2018.
Capacity Analysis, cont. Realistic Server Performance
Predictive Performance
Process Scheduling B.Ramamurthy 11/18/2018.
Building a Database on S3
Zhen Xiao, Qi Chen, and Haipeng Luo May 2013
Process Scheduling B.Ramamurthy 12/5/2018.
DotSlash: An Automated Web Hotspot Rescue System
Simulating a $2M Commercial Server on a $2K PC
Multiple-resource Request Scheduling. for Differentiated QoS
Process Scheduling B.Ramamurthy 2/23/2019.
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Process Scheduling B.Ramamurthy 4/19/2019.
Performance And Scalability In Oracle9i And SQL Server 2000
Process Scheduling B.Ramamurthy 5/7/2019.
Presentation transcript:

Admission Control and Request Scheduling in E-Commerce Web Sites Sameh Elnikety, EPFL Erich Nahum, IBM Watson John Tracey, IBM Watson Willy Zwaenepoel, EPFL

Dynamic Content Is Important 1 2 3

Generating Dynamic Content Web Server Dynamic Content Generator Database Server http Several components Examples of request types

Objective: Stable Performance Ideal Throughput Actual Underload Saturation overload Sustain peak throughput Load Prevent overload (admission control) Sustain peak throughput in overload region

Objective: Improve Response Time Excess requests are queued Improve response time (request scheduling) Sustain peak throughput

Main Idea: Gatekeeper Proxy Web Server Dynamic Content Generator Gate Keeper Database Server http Transparent Intercept requests to the bottleneck Maintains measurement-based estimates Performs: Admission control Request scheduling Transparently control how requests are admitted (non-invasive)

Admission Control Sustain peak throughput during overload Amount of work required by each request Capacity of the system

Estimating Work by Request Type Web Server Dynamic Content Generator Gate Keeper Database Server http Key Observations: Finite number of request types Requests of same type take same execution time Different requests differ greatly in execution time Online measurements Gatekeeper maintains per-request estimates

Service Time Distributions To drive these points home let us look at this graph Request type is key! Online measurement

Estimating System Capacity Request load = Execution time (work units of required) Database capacity = max # work units before overload To determine system capacity Binary search Offline Unit approximates resource usage Oblivious to the bottleneck resource

Admission Control - Example req type units R1 5 R2 500 R3 300 … R2 R3 700 1 R1 6 Table: maintain for each type, online estimates of service time (moving average) R1 R2 R3 695 2 R3 195 3 R1 R2 R3 200 4 R2

Request Scheduling - Example (0+500) + (500+10) = 1010  505 (0+10) + (10+500) = 520  260 10 500 500 10

Request Scheduling Reduce average response time Use shortest job first (SJF) policy Reorder requests in admission queue No preemption

Large Variability: TPC-W Requests 95% require < 1000 ms Scheduling has high impact Large variability in many internet workloads

Request Scheduling: Aging Prevent starvation Limit the delay due to scheduling Limit is X times “expected service time” 1 1 1 Big 1 Some graphics in here delay due to sched.

Outline Motivation & Background The Gatekeeper Proxy Experimental Environment Software & Hardware Metrics & Methodology Results Summary and Conclusions

TPC-W Benchmark Transaction Processing Council (TPC-W) Workload generator Models a large e-commerce site: Online bookstore Searching, browsing, buying, registration, … Persistent data Static images on web server All others on back-end database

TPC-W Benchmark - Snapshot Image Promotion (ad) Shopping Cart Next Interaction

TPC-W: Interactions 14 interactions, e.g.: Scale Home (read-only query) Best sellers (complex) Secure payment (ssl) Shopping cart (update query) Scale 10,000 items 288,000 clients 350 MB database (fits in main memory) 183 MB images (in file system of web server)

Software Web Server Dynamic Content Generator Gate Keeper Database http GateKeeper Implemented in Java (JDBC driver) Web Server Apache 1.3.27 App Server Jakarta Tomcat 3.2.4 Database MySQL 3.23.53 OS RedHat 7.2 Linux 2.4.18

Hardware Apache Tomcat MySQL http sql CPU AMD Athlon 1.33 GHz Memory GateKeeper MySQL http sql CPU AMD Athlon 1.33 GHz Memory 768 MB Disk 60 GB, 12 msec, 5400 rpm Network 100 Mbps Ethernet

Emulated Clients Emulated Clients Apache Tomcat MySQL http sql GateKeeper MySQL http sql Client emulator Session duration Think time Markov model Load is a function of the number of clients

Experiments Performance Metrics Methodology Throughput (interactions/minute) Response time (msec, submission to completion) Examine each as a function of load (# of clients) Methodology Average of 5 runs 100 second warm-up 600 second measurement

Admission Control - Throughput 1 db processes: 49 used mem: 275 MB 2 db processes: 233 used mem: 450 MB 3 db processes: 345 used mem: 509 MB

Request Scheduling - Response Time

Request Scheduling - Analysis Response time = Waiting time + Execution (service) time Large variability Many short requests Few very large requests

Request Scheduling - Explanation Big effect on waiting times Average job 9000 200 430

Request Scheduling - Explanation There are many small requests, whose waiting time is affected greatly Few large requests, big effect, but relatively small Net result is … Short job Average job Long job 8000 100 9000 200 13000 16000 400 430 4800

Request Scheduling - Fairness Response time = Waiting time + Execution (service) time Fairness trade-off FIFO Fair: all wait for same amount of time SJF Unfair: favors short requests Better average response time Control waiting time Trade-off

Aging: Prevent Starvation 1 3 5 ∞

In The Paper More results Related work Different bottleneck (database lock contention) Online vs. offline measurements DB2 Related work Most other methods are invasive

Summary Presented the Gatekeeper proxy Admission control Transparent (non-invasive) Intercept requests Online measurements Admission control Consistent performance during overload Improves throughput 10 % Request scheduling using SJF Improves response time 14 times Penalizes long jobs only 13 % Aging controls penalty

Thank You!