This Article 
 Bibliographic References 
 Add to: 
UCFS-A Novel User-Space, High Performance, Customized File System for Web Proxy Servers
September 2002 (vol. 51 no. 9)
pp. 1056-1073

Abstract—Web proxy caching servers play a key role in today's Web infrastructure. Previous studies have shown that disk I/O is one of the major performance bottlenecks of proxy servers. Most conventional file systems do not work well for proxy server workloads and have high overheads. This paper presents a novel, User-space, Customized File System, called UCFS, that can drastically improve the I/O performance of proxy servers. UCFS is a user-level software component of a proxy server which manages data on a raw disk or disk partition. Since the entire system runs in the user space, it is easy and inexpensive to implement. It also has good portability and maintainability. UCFS uses efficient in-memory meta-data tables to eliminate almost all I/O overhead of meta-data searches and updates. It also includes a novel file system called Cluster-structured File System (CFS). Similarly to the Log-structured File Systems (LFS), CFS uses large disk transfers to significantly improve disk write performance. However, CFS can also markedly improve file read operations and it does not generate garbage. Comprehensive simulation experiments using five representative real-world traces show that UCFS can significantly improve proxy server performance. For example, UCFS achieves 8-19 times better I/O performance than the state-of-the-art SQUID server running on a Unix Fast File System (FFS), 4-7.5 times better than SQUID on asynchronous FFS, and 3-9 times better than the improved SQUIDML.

[1] J. Wang, R. Min, Z. Wu, and Y. Hu, “Boosting I/O Performance of Internet Servers with User-Level Custom File Systems,” Proc. Second Workshop Performance and Architecture of Web Servers (PAWS2001), also in ACM Sigmetrics Performance Evaluation Reviews, vol. 29, no. 2, pp. 26-31, Feb. 2001.
[2] J. Almeida and P. Cao, “Measuring Proxy Performance with the Wisconsin Proxy Benchmark,” Technical Report 1373, Computer Science Dept., Univ. of Wisconsin-Madison, Apr. 1998.
[3] C. Maltzahn, K.J. Richardson, and D. Grunwald, “Reducing the Disk I/O of Web Proxy Server Caches,” Proc. 1999 USENIX Ann. Technical Conf. (USENIX-99), pp. 225-238, June 1999.
[4] S.D. Gribble and E.A. Brewer, “System Design Issues for Internet Middleware Services: Deductions from a Large Client Trace,” Proc. 1997 Usenix Symp. Internet Technologies and Systems (USITS-97), Dec. 1997.
[5] B.M. Duska, D. Marwood, and M.J. Freeley, “The Measured Access Characteristics of World-Wide-Web Client Proxy Caches,” Proc. 1997 Usenix Symp. Internet Technologies and Systems (USITS-97), Dec. 1997.
[6] A. Rousskov and D. Wessels, “The Third Cache-Off the Offical Report,” The Measurement Factory, Inc., Oct. 2000.
[7] A. Rousskov and V. Soloviev, “A Performance Study of the Squid Proxy on http,” World-Wide Web J., 1999.
[8] D. Wessels, “SQUID Frequently Asked Questions,” , 2001.
[9] J. Ousterhout and F. Douglis, “Beating the I/O Bottleneck: A Case for Log-Structured File Systems,” technical report, Computer Science Division, Electrical Eng. and Computer Sciences, Univ. of California at Berkeley, Oct. 1988.
[10] M. Rosenblum and J.K. Ousterhout, "The Design and Implementation of a Log-Structured File System," ACM Trans. Computer Systems, vol. 10, no. 1, Feb. 1992.
[11] M. Seltzer, K. Bostic, M.K. McKusick, and C. Staelin, “An Implementation of a Log-Structured File System for UNIX,” Proc. Winter 1993 USENIX, pp. 307-326, Jan. 1993.
[12] Y. Hu and Q. Yang, “DCD—Disk Caching Disk: A New Approach for Boosting I/O Performance,” Proc. 23rd Int'l Symp. Computer Architecture (ISCA '96), pp. 169-178, May 1996.
[13] R. Hagmann, “Reimplementing the Cedar File System Using Logging and Group Commit,” Proc. 11th ACM Symp. Operating Systems Principles, pp. 155-162, Nov. 1987, also in ACM Operating Systems Rev., vol. 21, no. 5, 1987.
[14] G.R. Ganger and Y.N. Patt, “Metadata Update Performance in File Systems,” Proc. USENIX Symp. Operating System Design and Implementation (OSDI), pp. 49-60, Nov. 1994.
[15] G.R. Ganger, M.K. McKusick, C.A.N. Soules, and Y.N. Patt, “Soft Updates: A Solution to the Metadata Update Problem in File Systems,” ACM Trans. Computer Systems, vol. 18, pp. 127-153, May 2000.
[16] C.R. Lumb, J. Schindler, G.R. Ganger, and D.F. Nagle, “Towards Higher Disk Head Utilization: Extracting Free Bandwidth from Busy Disk Drives,” Proc. 2000 Conf. Operating System Design and Implementation (OSDI), Oct. 2000.
[17] E.P. Markatos, M.G.H. Katevenis, D. Pnevmatikatos, and M. Flouris, “Secondary Storage Management for Web Proxies,” Proc. Second USENIX Symp. Internet Technologies and Systems (USITS-99), pp. 93-104, Oct. 1999.
[18] M. Seltzer, K.A. Smith, H. Balakrishnan, J. Chang, S. McMains, and V. Padmanabhan, “File System Logging versus Clustering: A Performance Comparison,” Proc. 1995 USENIX, pp. 249-264, Jan. 1995.
[19] T. Nightingale, Y. Hu, and Q. Yang, “The Design and Implementation of DCD Device Driver for UNIX,” Proc. 1999 USENIX Technical Conf., pp. 295-308, Jan. 1999.
[20] U. Vahalia, UNIX Internals—The New Frontiers. Prentice Hall, 1996.
[21] R.L. Rivest, “MD5 Unoffical Homepage,” md5.html, 1991.
[22] B. Jenkins, “A New Hash Functions for Hash Table Lookup,” Dr. Dobb's J., Sept. 1997.
[23] A. Mahanti, C. Williamson, and D. Eager, “Traffic Analysis of a Web Proxy Caching Hierarchy,” IEEE Network Magazine, pp. 16-23, May/June 2000.
[24] M. Arlitt and C. Williamson, “Trace-Driven Simulation of Document Caching Strategies for Internet Web Servers,” Simulation J., vol. 68, pp. 23-33, Jan. 1997.
[25] L. Breslau, P. Cao, L. Fan, G. Phillips, and S. Shenker, Web Caching and Zipf-Like Distributions: Evidence and Implications Proc. Infocom '99, Mar. 1999.
[26] P. Barford, A. Bestavros, A. Bradley, and M.E. Crovella, “Changes in Web Client Access Patterns: Characteristics and Caching Implications,” World Wide Web J. vol. 2, no. 1, pp. 15-28, Jan. 1999.
[27] G.R. Ganger and Y.N. Patt, “Using System-Level Models to Evaluate I/O Subsystem Designs,” IEEE Trans. Computers, vol. 47, no. 6, pp. 667-678, June 1998.
[28] Quantum, “Quantum Atlas[tm] 10KII Disk Drives,” 2000.
[29] D. Wessels, “NLANR CACHE README,” Apr. 1998,
[30] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee, “Hypertext Transfer Protocol—http/1.1,” rfc2616.html, June 1999.
[31] G.R. Ganger and M.F. Kaashoek, “Embedded Inodes and Explicit Grouping: Exploiting Disk Bandwidth for Small Files,” Proc. USENIX Technical Conf., pp. 1-17, Jan. 1997.
[32] S. Williams et al., "Removal Policies in Network Caches for World Wide Web Documents," Applications, Technologies, Architectures, and Protocols for Computer Communications, ACM Press, New York, 1996, pp. 293-305.
[33] Wcol Group, “WWW Collector: The Prefetching Proxy Server for WWW,” 1997, wcol.html.
[34] M.F. Kaashoek, D.R. Engler, G.R. Ganger, and D.A. Wallach, “Server Operating Systems,” Proc. 1996 SIGOPS European Workshop, Sept. 1996.
[35] B. Krishnamurthy and C.E. Wills, “Study of Piggyback Cache Validation for Proxy Caches in the World Wide Web,” Proc. USENIX Symp. Internet Technologies and Systems (ITS-97), pp. 1-12, Dec. 1997.
[36] B. Krishnamurthy and C.E. Wills, “Piggyback Server Invalidation for Proxy Cache Coherency,” Computer Networks and ISDN Systems, vol. 30, nos. 1-7, pp. 185-193, Apr. 1998.
[37] K. Kant and P. Mohapatra, “Scalable Internet Servers: Issues and Challenges,” Performance Evaluation Rev., 2000.
[38] A. Rousskov and V. Soloviev, “On Peformance of Caching Proxies,” Proc. SIGMETRICS 1998/PERFORMANCE 1998, pp. 272-273, June 1998.
[39] V. Soloviev and A. Yahin, “File Placement in a Web Cache Server,” Proc. 10th ACM Symp. Parallel Algorithms and Architectures, 1998.
[40] A. Iyengar, S. Jin, and J. Challenger, “Efficient Algorithms for Persistent Storage Allocation,” Proc. 18th IEEE Symp. Mass Storage Systems, Apr. 2001.
[41] P. Danzig, “Netcache Architecture and Deployment,” 1998,
[42] CacheFlow, “High-Performance Web Caching White Paper,” 1998.
[43] C. Martin, P.S. Narayanan, B.O.R. Rastogi, and A. Silberschatz, The Fellini Multimedia Storage Server, chapter 5. Kluwer Academic, 1996.

Index Terms:
File systems, web proxy servers, disk I/Os, performance improvement.
Jun Wang, Rui Min, Yingwu Zhu, Yiming Hu, "UCFS-A Novel User-Space, High Performance, Customized File System for Web Proxy Servers," IEEE Transactions on Computers, vol. 51, no. 9, pp. 1056-1073, Sept. 2002, doi:10.1109/TC.2002.1032625
Usage of this product signifies your acceptance of the Terms of Use.