117a15ee5d59897a591e1d8b1511d16a.ppt
- Количество слайдов: 24
Design, Implementation and Evaluation of a Client Characterization Driven Web Server Balachander Krishnamurthy – AT&T Research Labs Craig Wills – WPI Yin Zhang – AT&T Research Labs Kashi Vishwanath – Duke University
Motivation Web server End Users • • • Users with varying connectivity request a variety of files Web site wants no user to get disinterested Handle requests based on connectivity
Outline of our solution n Figure out connectivity : use web server logs 122. 3. 4. 22 - - [12/Apr/2003: 01: 40: 22 – 0400] “GET /foo. html HTTP/1. 0” 200 147 n n Classify clients(IPs) : store in shared memory u Cluster: group of IPs [KW 00] When a page is requested, the Web server: u Identifies client connectivity u Takes action if required: alternate content etc.
System Architecture Server Log Classifier User Requests Apache Processes Classification Table (Shared Memory)
What is a page access? n n n User clicks: container page eg. /foo. html Subsequent requests : embedded objects eg. /img 1. gif At server : how long before the user u starts getting the first object ? : E_first u gets the entire page ? : E_last Smoothed means for popular pages Classes (poor, rich, normal) – [KW 02] u Poor : E_first >3 and E_last >5 u Rich : E_first <=1 and E_last <=2
Modified Apache Server n n Modification to Apache 1. 3. 24 u three files, less than 200 lines t http_main. c, http_protocol. c, http_core. c One time overhead u Open cluster library u Read in configuration file t /foo. html. gz. p_lc ; . r_mc u Initialize shared memory
Modified Apache Server : Per Request Changes n Per Request Changes u Is it a popular page ( URI ) ? u Lookup class (in shared memory data) t Cluster lookup if IP unavailable u Tailored action if appropriate and log it
Testing: How to choose test pages n n n Proxy logs from a large manufacturing company (Dec 2001) Over 100, 000 users Select 1000 most popular pages Download these : April 2002 641 successful pages reconstructed 33% and 66% percentile value for characteristics u Container bytes, # of Embedded object, embedded bytes u 3 x 3 = 27 buckets of pages
Testing: Distribution for test pages Percentage of pages in each bucket
Server Overhead : Latency increase at client Generate IPs (X-IP header)
Stress Test n Plot of average increase in processing time for the modified server
Placing Clients and Modified Servers n n Prototype Apache Server with our test site u Linux – att. com in NJ, USA u Linux – wpi. com MA, USA u Free. BSD – icir. org CA, USA Clients u att: AT&T Labs-Research, NJ, USA u de: Saarbruecken University, Germany u cable: cable modem user, NJ, USA u modem: 56 Kbps dialup modem user, NJ, USA u uk: London, U. K via a dedicated 56 Kbps line.
Clients: Observed network characteristics uk-icir Spans a wide spectrum uk-att cable-icir uk-wpi de-att att-icir att-wpi
Experiments : Httperf Clients n n n Request similar mix of pages as described earlier 200 random requests each New Headers: X-Server-Actions, X-Class Baseline measure u parallel-1. 0 – up to 4 parallel HTTP/1. 0 requests Server actions u Manner of delivery t Compress, serial-1. 1, pipeline-1. 1, bundle u Amount served t Base-only, half-object, half-resolution
Classifier Stability and Correctness Rich Moderate Poor Overall consistent with expectation 90%
Results : Low throughput client Uk-wpi
Results : medium throughput n de-att
Results: Summary
Conclusions n What all do we do ? u Online client classification u Deliver modified server actions u Measure latency reduction to different clients u Compare various actions First to do this in a unified framework.
Conclusions: Server and Classifier n n Overhead at server u Average: 75 usec. Negligible for end-user u Turn off classification during overload u Server poor-content during overload Classification u Close to expectation u Stable over the duration of experiment u Improve by using select pages and better thresholds
Future Other server actions u Delta encoding u Policies regarding cacheablility of objects n Create a test for clustering n
Acknowledgement Client testing u Saarbruecken, Germany u ICIR, USA n Proxy logs - Manufacturing company n
Thanks! Slides: http: //www. cs. duke. edu/~kvv/www. ppt Questions ?
Related Work n n n Mark network packets [NT 02] u Improve performance of all clients Adapt content based on server load [AB 99] User’s expectation [BBK 00] Alternate admission control and server scheduling policies [CMC 01, CR 02] Dynamically altering multimedia content [MB 01] Explicit client notification e. g. SPAND [ SSK 97]


