In the file caching problem, the input is a sequence of requests for files out of a slow memory. A file has two attributes, a retrieval cost and an integer size. It is required to maintain a cache of size k, bringing each file, which is not present in the cache at the time of request, from the slow memory into the cache. This incurs a cost equal to the retrieval cost of the file. Well-known special cases include paging (all costs and sizes are equal to 1), the cost model which is also known as weighted paging (all sizes are equal to 1), the fault model (all costs are equal to 1) and the bit model (the cost of a file is equal to its size).
We study two online variants of the problem, caching with bypassing and caching with rejection. If bypassing is allowed, a miss for a file still results in an access to this file in the slow memory, but its subsequent insertion into the cache is optional. In the model with rejection, together with each request for a file, the algorithm is informed with a rejection penalty of the request. When a file which is not present in the cache is requested, the algorithm must either bring the file into the cache, paying the retrieval cost of the file, or reject the file, paying the rejection penalty of the request. The goal function is the sum of total rejection penalty and the total retrieval cost.
We design deterministic and randomized algorithms for both problems. The competitive ratios of these randomized algorithms match the best known results for caching. In the deterministic case, it is known that a (k + 1)-competitive algorithm for caching with bypassing exists, and this is best possible. In contrast, we present a lower bound of 2k + 1 on the competitive ratio of any deterministic algorithm for the variant with rejection, which holds already for paging. We design a (2k + 2)-competitive algorithm for caching with rejection, and a different (2k + 1)-competitive algorithm , which is applicable for paging, the bit model and the cost model.
Fault Model Cost Model Competitive Ratio Online Algorithm Deterministic Algorithm
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in to check access.
Albers, S., Arora, S., Khanna, S.: Page replacement for general caching problems. In: Proc. of the 10th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1999), pp. 31–40 (1999)Google Scholar
Bansal, N., Buchbinder, N., Naor, J.: Towards the randomized k-server conjecture: A primal-dual approach. In: Proc. of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2010), pp. 40–55 (2010)Google Scholar
Bansal, N., Buchbinder, N., Naor, S.: A primal-dual randomized algorithm for weighted paging. In: Proc. of the 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS 2007), pp. 507–517 (2007)Google Scholar
Bansal, N., Buchbinder, N., Naor, S.: Randomized competitive algorithms for generalized caching. In: Proc. of the 40th Annual ACM Symposium on Theory of Computing, STOC 2008 (2008)Google Scholar
Bar-Noy, A., Bar-Yehuda, R., Freund, A., Naor, J., Schieber, B.: A unified approach to approximating resource allocation and scheduling. Journal of the ACM 48(5), 1069–1090 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
Bartal, Y., Leonardi, S., Marchetti-Spaccamela, A., Sgall, J., Stougie, L.: Multiprocessor scheduling with rejection. SIAM Journal on Discrete Mathematics 13(1), 64–78 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
Belady, L.A.: A study of replacement algorithms for a virtual-storage computer. IBM Systems Journal 5(2), 78–101 (1966)CrossRefGoogle Scholar
Blum, A., Burch, C., Kalai, A.: Finely-competitive paging. In: Proc. of the 40th Annual IEEE Symposium on Foundations of Computer Science (FOCS 1999), pp. 450–458 (1999)Google Scholar
Cao, P., Irani, S.: Cost-aware www proxy caching algorithms. In: Proc. of the USENIX Symposium on Internet Technologies and Systems, pp. 193–206 (1997)Google Scholar
Chrobak, M., Woeginger, G.J., Makino, K., Xu, H.: Caching is hard – even in the fault model. In: de Berg, M., Meyer, U. (eds.) ESA 2010. LNCS, vol. 6346, pp. 195–206. Springer, Heidelberg (2010)CrossRefGoogle Scholar
Epstein, L., Noga, J., Woeginger, G.J.: On-line scheduling of unit time jobs with rejection: minimizing the total completion time. Operetions Research Letters 30(6), 415–420 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
Fiat, A., Karp, R.M., Luby, M., McGeoch, L.A., Sleator, D.D., Young, N.: Competitive paging algorithms. Journal of Algorithms 12, 685–699 (1991)CrossRefzbMATHGoogle Scholar