170 likes | 248 Views
Cooperative Caching of Dynamic Content on a Distributed Web Server. Vegard Holmedahl, Ben Smith, Tao Yang Speaker: SeungLak Choi, DB Lab., CS Dept. Contents. Introduction Access log analysis Design of the Swala Experiments Conclusions Critiques. Introduction (1/2).
E N D
Cooperative Caching of Dynamic Content on a Distributed Web Server Vegard Holmedahl, Ben Smith, Tao Yang Speaker: SeungLak Choi, DB Lab., CS Dept.
Contents • Introduction • Access log analysis • Design of the Swala • Experiments • Conclusions • Critiques
Introduction (1/2) • Web caching reduces mainly the network delay • Processor bottleneck is also important in sites serving extensive requests to dynamic contents
Introduction (2/2) • Swala • Distributed Web server • Cooperatively caches the results of CGI requests • Alexandria Digital Library (ADL) system at UCSB • Accessing multi-resolution images • Spatial database queries
Access Log Analysis (1/2) • There is significant potential for reducing response time by optimizing CGI
Access Log Analysis (2/2) • By caching a few number of CGI results, achieve significant response time reduction
Design of the Swala (1/3) • Module design • HTTP Module • Handling HTTP requests • Cache module • Updates local directory • Send contents to other node • Delete expired cache entries
Design of the Swala (2/3) • Cache table consistency • Intra-node consistency • Avoiding corruption from simultaneous updates • Locking granularity – directory, table, entry • Inter-node consistency • Weak consistency • Broadcast update information to the other nodes • False cache miss, false cache hit
Design of the Swala (3/3) • Content consistency • Weak consistency – TTL • Reasonable for dynamic contents with infrequent updates • Store the cache directory in main memory • Store CGI results in disk • System administrator must specify uncacheable CGI
Experiments (1/6) • Environment • Sun Ultra 1 143-MHz • Sun Ultra 2 167-MHz • 64 or 128 MB • Connected by 100Mbps Ethernet • WebStone
Experiments (2/6) • Single-node performance and overhead of cache fetch • 24 clients request nullcgi that does no work and produces <1000 bytes output
Experiments (3/6) • Multi-node performance
Experiments (4/6) • Cache insertion overhead • Each unique request generates a cache miss
Experiments (5/6) • Cache directory maintenance overhead • Generate update messages to Swala
Experiments (6/6) • A comparison between cooperative and stand-alone caching Cache size 2000 Cache size 20
Conclusions • Caching CGI results on a cluster of workstations • Significant potential for time saving through caching CGI results • Overhead of cooperative cache management is small • Cooperative caching of CGI results substantially improves the response time
Critiques • Strengths • Attack the important problem occurred in common web sites • CGI programs don’t have to be rewritten • Weaknesses • Weak content consistency • Remote cache fetch can incur network congestion in heavy network traffic • Contents hashing of requests?