a method for transparent admission control and request scheduling in e-commerce web sites s....
TRANSCRIPT
A Method for Transparent A Method for Transparent Admission Control and Admission Control and Request Scheduling in Request Scheduling in E-Commerce Web SitesE-Commerce Web Sites
S. Elnikety, E. Nahum, J. Tracey and S. Elnikety, E. Nahum, J. Tracey and W. ZwaenpoelW. Zwaenpoel
Presented By Tyrel RussellPresented By Tyrel Russell
The IdeaThe Idea
Reduce contention at the database serverReduce contention at the database server
No modification of existing systemsNo modification of existing systems
Increase response time and maintain peak Increase response time and maintain peak throughputthroughput
OutlineOutline
IntroductionIntroduction
The Gatekeeper ProxyThe Gatekeeper Proxy
Experimental EnvironmentExperimental Environment
Conclusion and DiscussionConclusion and Discussion
The ProblemsThe Problems
Two problems for e-commerce web sitesTwo problems for e-commerce web sites OverloadOverload ResponsivenessResponsiveness
Solution is admission controlSolution is admission control Measures performanceMeasures performance Enables overload protectionEnables overload protection Improves response timeImproves response time
The ArchitectureThe Architecture
The Gatekeeper ProxyThe Gatekeeper Proxy
Intercepts dynamic web content requestsIntercepts dynamic web content requests
Requests generated by Java servlets on the application serverRequests generated by Java servlets on the application server
Estimates expected service times for each typeEstimates expected service times for each type
Determines the capacity of the systemDetermines the capacity of the system
Schedules the requests to improve performanceSchedules the requests to improve performance
Estimated LoadEstimated Load
Generates estimated load from expected Generates estimated load from expected service times for each servletservice times for each servlet
This is a measure based on recent This is a measure based on recent executions of requestsexecutions of requests
Much greater variation between servlets Much greater variation between servlets than within servletsthan within servlets
Service times vary based the loadService times vary based the load
System CapacitySystem Capacity
Determined offlineDetermined offlineCapacity is defined as the maximum load level Capacity is defined as the maximum load level that produces the highest capacitythat produces the highest capacityFound by searching the space using candidate Found by searching the space using candidate values and experimentally verifying themvalues and experimentally verifying them
0
20
40
60
80
100
120
0 20 40 60 80 100 120 140 160
Admission ControlAdmission Control
Maintains running estimate of system loadMaintains running estimate of system load
When request is made, the work estimate When request is made, the work estimate is checked against the capacityis checked against the capacity
If there is room, it is admitted otherwise If there is room, it is admitted otherwise the request is queuedthe request is queued
When jobs are finished, the queued When jobs are finished, the queued requests are admitted when the room requests are admitted when the room allowsallows
Request SchedulingRequest Scheduling
To reduce average response time, they To reduce average response time, they use the shortest-job first policyuse the shortest-job first policy
Queues request based on their expected Queues request based on their expected processing timesprocessing times
To prevent starvation, they used an agin To prevent starvation, they used an agin mechanism which enforces an upper mechanism which enforces an upper bound on the length of time the request bound on the length of time the request can stay in the queuecan stay in the queue
Experimental EnvironmentExperimental Environment
Locking is done by using concurrency Locking is done by using concurrency control at the application servercontrol at the application server
They don’t control the serving of images They don’t control the serving of images as they are stored at the web serveras they are stored at the web server
Evaluate throughput and response time as Evaluate throughput and response time as a function of loada function of load
Discussion and ConclusionDiscussion and Conclusion
Is the concavity assumption of capacity reasonable?Is the concavity assumption of capacity reasonable?Is the sliding window average of execution time actually Is the sliding window average of execution time actually a good measure of expected execution time?a good measure of expected execution time?Is the assumption that servlets will have relatively Is the assumption that servlets will have relatively uniform loads justified?uniform loads justified?Is locking at the server side a good idea? For example, Is locking at the server side a good idea? For example, what happens if multiple application servers are used for what happens if multiple application servers are used for the same database?the same database?They use a finite-state Markov model is used to model They use a finite-state Markov model is used to model user client behaviour. How were the transition user client behaviour. How were the transition probabilities generated and is this realistic?probabilities generated and is this realistic?How does holding up requests at the proxy effect the How does holding up requests at the proxy effect the scheduling and optimization mechanisms of the scheduling and optimization mechanisms of the database server?database server?