The Internet's ever-increasing popularity demands the Web sites to handle large amount of requests. This has created an urgent need for a more powerful Web server architecture to handle this problem. We have built a parallel Web server with intelligent cooperative caching support, called p-Jigsaw. In this system, an application- level global object space (GOS) is constructed to effectively utilize the available physical memory of the cluster as a giant object cache to shorten the object access time. Global object space also provides a unified view of cluster-wide resource allocation to help achieve better load balance. A cooperative object caching mechanism based on the concept of “hot object” is built in the global object space for improving the whole system performance. A preliminary prototype system is implemented by modifying the W3C’s Jigsaw Web server, and good speedup was gained in the benchmark tests. The hot object caching greatly improved the performance as compared with a Web server system without a cluster-aware object caching mechanism.
Cooperative Caching for Hot Objects
Figure 2: Performance Results of p-Jigsaw on an 8-node PC cluster
1. The State of the Internet 2000. http://www.usic.org. Accessed at December 20, 2001.
2. Lake D. The need for speed. http://www.idg.net/ic_527364_5054_1-3901.html. Access at December 20, 2001.
3. Thompson K, Miller G, Wilder R. Wide-Area Internet Traffic Patterns and Characteristics. IEEE Network 2000; 11(6):10-23.
4. Hu J, Schmidt D, JAWS: A Framework for High-performance Web Servers. http://www.cs.wustl.edu/~jxh/research/research.html. Accessed at December 20, 2001.
5. Pai V, Druschel P, Zwaenepoel W. Flash: An Efficient and Portable Web Server. Proceedings of the 1999 USENIX Annual Technical Conference, Monterey, CA, USA, June 1999.
6. kHTTPd Linux HTTP Accelerator. http://www.fenrus.demon.nl. Accessed at December 20, 2001.
7. Burns R, Rees R, Long D. Efficient Data Distribution in a Web Server Farm. IEEE Internet Computing 2001; 5(4):56-65.
8. Iyengar A, Challenger J, et al. High-Performance Web Site Design Techniques. IEEE Internet Computing 2000; 4(2):17-26.
9. Aron M, Druschel P, Zwaenepoel W. Efficient Support for P-HTTP in Cluster-Based Web Servers. Proceedings of the 1999 USENIX Annual Technical Conference, Monterey, CA, June 1999.
10. Holmedahl V, Smith B, Yang T. Cooperative Caching of Dynamic Content on a Distributed Web Server. Proceedings of the Seventh IEEE International Symposium on High Performance Distributed Computing (HPDC-7), Chicago, IL USA, July 1998.
11. Li Q, Moon B. Distributed Cooperative Apache Web Server. Proceedings of the tenth World Wide Web Conference, Hong Kong, May 2001.
12. Bryhni H, Klovning E, Kure O. A Comparison of Load Balancing Techniques for Scalable Web Servers, IEEE Network 2000; 14(4):58-64.
13. Richard B, Derek L, et al. Achieving Load Balance and Effective Caching in Clustered Web Servers. The fourth International Web Caching Workshop, San Diego, CA, USA, March 31-April 2, 1999.
14. Cardellini V, Colajanni M, Yu P. Dynamic Load Balancing on Web-Server Systems. IEEE Internet Computing May-June 1999; 3(3):28-39.
15. Andresen D, Yang T, et al.. SWEB: Towards a Scalable World Wide Web Server on Multicomputers. Proceedings of International Conference of Parallel Processing Symposium (IPPS), Honolulu, Hawaii, USA, April 1996.
16. Schroeder T, Steve G, Byrav R. Scalable Web Server Clustering Technologies. IEEE Network 2000; 14(3):38-45.
17. David D, Shrivastava S, Panzieri F. Constructing Dependable Web Services. IEEE Internet Computing 2000; 4(1):25-33.
18. Schroeder T, Goddard S. The SASHA Cluster-Based Web Server. http://www.zweknu.org/tech/src/lsmac2/paper/paper.html. Accessed at December 20, 2001.
19. Brewer E. Lessons from Giant-Scale Services. IEEE Internet Computing 2001; 5(4):46-55.
20. Wang J. A Survey of Web Caching Schemes for the Internet. ACM Computer Communication Review (CCR) 1999; 29(5).
21. Barish G, Obraczka K. World Wide Web Caching: Trends and Techniques. IEEE Communications Magazine 2000; 38(5):178-184.
22. Davison B. A Web Caching Primer. IEEE Internet Computing 2001; 5(4):38-45.
23. Menaud J, Issarny V, Banatre M. A Scalable and Efficient Cooperative System for Web Caches. IEEE Concurrency 2000; 8(3):56-62.
24. Wolman A, Voelker G, et al. On the scale and performance of cooperative Web Proxy Caching, ACM Operating System Review 1999; 34(5):16-31.
25. Korupolu M, Dahlin M. Coordinated Placement and Replacement for Large-Scale Distributed Caches. Proceedings of the 1999 IEEE Workshop on Internet Applications, San Jose, CA, USA, July 1999.
26. Sarkar P, Hartman J. Hint-Based Cooperative Caching. ACM Transactions on Computer Systems 2000; 18(4):387-419.
27. Cortes T, Girona S, Labarta J. PACA: a Cooperative File System Cache for Parallel Machines. Proceedings of the Second International Euro-Par Conference, Lyon, France, August 1996.
28. Dahlin M, Wang R, et al. Cooperative Caching: Using Remote Client Memory to Improve File System Performance. Proceeding of First Symposium on Operating Systems Design and Implementation, November 1994.
29. Tatarinov I. Performance Analysis of Cache Policies for Web Servers. Proceedings of 9th International Conference on Computing and Information, Manitoba, Canada, 1998.
30. Jigsaw-W3C’s Server. http://www.w3c.org/Jigsaw.
31. Arlitt M, Williamson C. Trace-Driven Simulation of Document Caching Strategies for Internet Web Servers. Simulations 1997; 68(1):23-33.
32. Arlitt M, Friedrich R, Jin T. Performance evaluation of Web proxy cache replacement policies, Performance Evaluation 2000; 39(1-4):149-164.
33. Pierre G, Kuz I, et al. Differentiated Strategies for Replicating Web Documents. Proceedings of 5th International Web Caching and Content Delivery Workshop, Lisbon, Portugal, May 2000.
34. Anderson T, Dahlin M, et al. Serverless Network File Systems. ACM transaction on Computer Systems 1996; 14(1):41-79.
35. Tatarinov I. Performance Analysis of Cache Policies for Web Servers. Proceedings of 9th International Conference on Computing and Information, Manitoba, Canada, June 1998.
36. Cohen E, Kaplan H. Exploiting Regularities in Web Traffic Patterns for Cache Replacement. Proceedings of the Thirty-First Annual ACM Symposium on Theory of Computing (STOC99), Atlanta, Georgia, USA, May, 1999.
37. Cohen E, Kaplan H. The Age Penalty and its Effects on Cache Performance. Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems (USITS), San Francisco, CA, USA, March 2001.
38. Reddy N. Effectiveness of Caching Policies for a Web Server. Proceedings of the 4th International Conference on High Performance Computing, Cambridge, Massachusetts, USA, December 1997.
39. Robinson J, Devarakonda M. Data Cache Management Using Frequency-Based Replacement. Proceedings of the 1990 ACM SIGMETRICS Conference on the Measurement and Modeling of Computer Systems, Boulder, Colorado, USA, May 1990.
40. Williams S, Abrams M, et al. Removal Policies in Network Caches for World Wide Web Documents. Proceedings of ACM SIGCOMM ‘96, Stanford University, CA, USA, August 1996.
41. Rizzo L, Vicisano L. Replacement Policies for a Proxy Cache, UCL-CS Research Note RN/98/13, Department of Computer Science, University College London, 1998.
42. Gadde S, Chase J, Rabinovich M. A Taste of Crispy Squid. Proceedings of Workshop on Internet Server Performance (WISP98), Madison, Wisconsin, USA, June 1998.
43. Chankhunthod A, Danzig P, Neerdaels C. A Hierarchical Internet Object Cache. Proceedings of the USENIX 1996 Annual Technical Conference, San Diego, California, January 1996.
44. Fan L, Cao P, et al. Summery Cache: A Scalable Wide-Area Web Cache Sharing Protocol, IEEE/ACM Transactions on Networking 2000; 8(3):281-293.
45. Internet Cache Protocol. http://icp.ircache.net. Accessed at December 20, 2001.
46. Protic J, Tomasevic M, Milutinovic V. Distributed Shared Memory: Concepts and Systems. IEEE Parallel & Distributed Technology: Systems & Applications 1996; 4(2):63-71.
47. Cano J, Pont A, et al. The Difference between Distributed Shared Memory Caching and Proxy Caching. IEEE Concurrency 2000; 8(3):45-47.
48. Arlitt M, Williamson C. Internet Web Servers: Workload Characterization and Performance Implications. IEEE/ACM Transactions on Networking 1997; 5(5):631-645.
49. Baker S, Moon B. Distributed Cooperative Web Servers. Proceedings of the eighth World Wide Web Conference, Toronto, Canada, May 1999.
50. HTTP-Hypertext Transfer Protocol. http://www.w3c.org/Protocols. Access at December 20, 2001.
51. Mogul J. The Case for Persistent-Connection HTTP. Proceedings of the ACM SIGCOMM ’95 Symposium, Cambridge, USA, August 28-September 1, 1995.
52. Mosberger D, Jin T. httperf – A Tool for Measuring Web Server Performance. Proceedings of Workshop on Internet Server Performance (WISP98), Madison, Wisconsin, USA, June 1998.
53. Schroeder T, Goddard S, Ramamurthy B. Scalable Web Server Clustering Technologies, IEEE Network 2000; 14(3):38-45.
54. Crovella M, Frangioso R, Harchol-Balter M. Connection Scheduling in Web Servers. Proceedings of the 1999 USENIX Symposium on Internet Technologies and Systems (USITS ’99), Boulder, Colorado, October 1999.
55. Colajanni M, Yu P, Dias D. Analysis of Task Assignment Policies in Scalable Distributed Web-server Systems. IEEE Transaction on Parallel and Distributed Systems 1998; 9(6):585-598.
56. Ahn W, Park S, Park D. Efficient Cooperative Caching for File Systems in Cluster-Based Web Servers. Proceedings of IEEE International Conference on Cluster Computing, Chemnitz, Germany, November 28-December 1 2000.
57. Whizz Technology. http://www.whizztech.com. Accessed at December 20, 2001.
58. University of California, Berkeley. CS Access Log Files, http://www.cs.berkeley.edu/logs/.
Yiu-Fai Sit, Cho-Li Wang,
Francis Lau, ``Socket Cloning for Cluster-Based Web Server,'' to appear in IEEE
Fourth International Conference on Cluster Computing (CLUSTER 2002) Chicago,
USA - September 23-26, 2002.