Connection caching: model and algorithms

We introduce a theoretical model for connection caching. In our model each host maintains (caches) a limited number of open connections to other hosts. A request may utilize an open connection in which case it is a hit, or it may require to open a new connection in which case it is a miss. Establishment of a new connection may force termination (eviction) of another connection at each of the endpoints. The goal is to serve the request sequence with minimum number of misses. This model differs from the standard caching model as it involves many caches which affect each other: a decision to terminate a connection by one node affects the cache of another node that is forced to accept the termination. Our motivation to study the problem stems from Web applications, namely the transmission of Hyper Text Transfer Protocol (HTTP) messages over persistent Transmission Control Protocol (TCP) connections. We consider both the off-line connection caching problem where the request sequence is given in advance, and the online connection caching problem, where the algorithm has to serve a request when it arrives without knowledge of future requests. In the off-line settings we show that finding the optimal strategy is NP-hard. We also derive natural algorithms from the optimal cache replacement algorithm for standard caching and prove that the miss rate of these algorithms is within a factor of 2 from optimal. In the online setting we study several families of distributed algorithms that can be implemented by running an independent process at each node. The algorithms differ by the amount of communication which they utilize between pairs of hosts engaged in an open connection. We show optimal k-competitive deterministic algorithms that utilize one communication bit per open connection, where k is the size of the largest cache in the network. On the other hand without such communication bit the best algorithms which we describe are only (2k - 1)-competitive. We also analyze what one can gain by using randomization at different levels of allowed communication.

[1]  Amos Fiat,et al.  Competitive Paging Algorithms , 1991, J. Algorithms.

[2]  James Gettys,et al.  Network performance effects of HTTP/1.1, CSS1, and PNG , 1997, SIGCOMM '97.

[3]  Wilson,et al.  An Empirical Evaluation of Virtual Circuit Holding Time Policies in IP-Over-ATM Networks , 1995, IEEE J. Sel. Areas Commun..

[4]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[5]  Prabhakar Raghavan,et al.  Memory versus randomization in on-line algorithms , 1994, IBM J. Res. Dev..

[6]  V. Jacobson,et al.  Congestion avoidance and control , 1988, CCRV.

[7]  Neal E. Young,et al.  Competitive paging and dual-guided on-line weighted caching and watching algorithms , 1992 .

[8]  Edith Cohen,et al.  Managing TCP Connections Under Persistent HTTP , 1999, Comput. Networks.

[9]  Anja Feldmann,et al.  Performance of Web proxy caching in heterogeneous bandwidth environments , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[10]  Sandy Irani,et al.  Online computation , 1996 .

[11]  Neal E. Young,et al.  Competitive paging and dual-guided algorithms for weighted caching and matching (Thesis) , 1991 .

[12]  Neal E. Young,et al.  Thek-server dual and loose competitiveness for paging , 1994, Algorithmica.

[13]  Neal E. Young,et al.  On-Line File Caching , 2002, SODA '98.

[14]  Edith Cohen,et al.  Connection caching , 1999, STOC '99.

[15]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[16]  Dorit S. Hochbaum,et al.  Approximation Algorithms for NP-Hard Problems , 1996 .

[17]  Srinivasan Keshav,et al.  An empirical evaluation of virtual circuit holding times in IP-over-ATM networks , 1994, Proceedings of INFOCOM '94 Conference on Computer Communications.

[18]  Marek Chrobak,et al.  New results on server problems , 1991, SODA '90.

[19]  Allan Borodin,et al.  Online computation and competitive analysis , 1998 .

[20]  Marek Chrobak,et al.  Competive Analysis of Randomized Paging Algorithms , 1996, ESA.

[21]  Prabhakar Raghavan,et al.  Memory Versus Randomization in On-line Algorithms (Extended Abstract) , 1989, ICALP.

[22]  Susanne Albers Generalized connection caching , 2000, SPAA '00.

[23]  Carsten Lund,et al.  An Empirical Evaluation of Virtual Circuit Holding Time Policies in IP-Over-ATM Networks , 1995, IEEE J. Sel. Areas Commun..

[24]  Jeffrey C. Mogul,et al.  Improving HTTP Latency , 1995, Comput. Networks ISDN Syst..

[25]  Edith Cohen,et al.  Connection caching under various models of communication , 2000, SPAA '00.

[26]  M. Luby,et al.  On ~ competitive algorithms for paging problems , 1991 .

[27]  Haim Kaplan LP-based analysis of greedy-dual-size , 1999, SODA '99.

[28]  Lyle A. McGeoch,et al.  A strongly competitive randomized paging algorithm , 1991, Algorithmica.

[29]  Anna R. Karlin,et al.  Competitive snoopy caching , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[30]  Sandy Irani,et al.  Page replacement with multi-size pages and applications to Web caching , 1997, STOC '97.

[31]  Carsten Lund,et al.  IP over connection-oriented networks and distributional paging , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[32]  Marek Chrobak,et al.  Competitive analysis of randomized paging algorithms , 2000, Theor. Comput. Sci..