A Method for Transparent Admission Control and Request

Download Report

Transcript A Method for Transparent Admission Control and Request

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 Tyrel Russell
The Idea
Reduce contention at the database server
No modification of existing systems
Increase response time and maintain peak
throughput
Outline
Introduction
The Gatekeeper Proxy
Experimental Environment
Conclusion and Discussion
The Problems
Two problems for e-commerce web sites


Overload
Responsiveness
Solution is admission control



Measures performance
Enables overload protection
Improves response time
The Architecture
The Gatekeeper Proxy
Intercepts dynamic web content requests
Requests generated by Java servlets on the
application server
Estimates expected service times for each type
Determines the capacity of the system
Schedules the requests to improve performance
Estimated Load
Generates estimated load from expected
service times for each servlet
This is a measure based on recent
executions of requests
Much greater variation between servlets
than within servlets
Service times vary based the load
System Capacity
Determined offline
Capacity is defined as the maximum load level
that produces the highest capacity
Found by searching the space using candidate
values and experimentally verifying them
120
100
80
60
40
20
0
0
20
40
60
80
100
120
140
160
Admission Control
Maintains running estimate of system load
When request is made, the work estimate
is checked against the capacity
If there is room, it is admitted otherwise
the request is queued
When jobs are finished, the queued
requests are admitted when the room
allows
Request Scheduling
To reduce average response time, they
use the shortest-job first policy
Queues request based on their expected
processing times
To prevent starvation, they used an agin
mechanism which enforces an upper
bound on the length of time the request
can stay in the queue
Experimental Environment
Locking is done by using concurrency
control at the application server
They don’t control the serving of images
as they are stored at the web server
Evaluate throughput and response time as
a function of load
Discussion and Conclusion
Is the concavity assumption of capacity reasonable?
Is the sliding window average of execution time actually
a good measure of expected execution time?
Is the assumption that servlets will have relatively
uniform loads justified?
Is locking at the server side a good idea? For example,
what happens if multiple application servers are used for
the same database?
They use a finite-state Markov model is used to model
user client behaviour. How were the transition
probabilities generated and is this realistic?
How does holding up requests at the proxy effect the
scheduling and optimization mechanisms of the
database server?