Results 1  10
of
62
Optimal Prefetching via Data Compression
, 1995
"... Caching and prefetching are important mechanisms for speeding up access time to data on secondary storage. Recent work in competitive online algorithms has uncovered several promising new algorithms for caching. In this paper we apply a form of the competitive philosophy for the first time to the pr ..."
Abstract

Cited by 245 (10 self)
 Add to MetaCart
Caching and prefetching are important mechanisms for speeding up access time to data on secondary storage. Recent work in competitive online algorithms has uncovered several promising new algorithms for caching. In this paper we apply a form of the competitive philosophy for the first time to the problem of prefetching to develop an optimal universal prefetcher in terms of fault ratio, with particular applications to largescale databases and hypertext systems. Our prediction algorithms for prefetching are novel in that they are based on data compression techniques that are both theoretically optimal and good in practice. Intuitively, in order to compress data effectively, you have to be able to predict future data well, and thus good data compressors should be able to predict well for purposes of prefetching. We show for powerful models such as Markov sources and nth order Markov sources that the page fault rates incurred by our prefetching algorithms are optimal in the limit for almost all sequences of page requests.
BEYOND COMPETITIVE ANALYSIS
, 2000
"... The competitive analysis of online algorithms has been criticized as being too crude and unrealistic. We propose refinements of competitive analysis in two directions: The first restricts the power of the adversary by allowingonly certain input distributions, while the other allows for comparisons ..."
Abstract

Cited by 123 (3 self)
 Add to MetaCart
The competitive analysis of online algorithms has been criticized as being too crude and unrealistic. We propose refinements of competitive analysis in two directions: The first restricts the power of the adversary by allowingonly certain input distributions, while the other allows for comparisons between information regimes for online decisionmaking. We illustrate the first with an application to the paging problem; as a byproduct we characterize completely the work functions of this important special case of the kserver problem. We use the second refinement to explore the power of lookahead in server and task systems.
Adaptive Disk Spindown via Optimal RenttoBuy in Probabilistic Environments
, 1999
"... In the single renttobuy decision problem, without a priori knowledge of the amount of time a resource will be used we need to decide when to buy the resource, given that we can rent the resource for $1 per unit time or buy it once and for all for $c. In this paper we study algorithms that make a ..."
Abstract

Cited by 83 (4 self)
 Add to MetaCart
In the single renttobuy decision problem, without a priori knowledge of the amount of time a resource will be used we need to decide when to buy the resource, given that we can rent the resource for $1 per unit time or buy it once and for all for $c. In this paper we study algorithms that make a sequence of single renttobuy decisions, using the assumption that the resource use times are independently drawn from an unknown probability distribution. Our study of this renttobuy problem is motivated by important systems applications, specifically, problems arising from deciding when to spindown disks to conserve energy in mobile computers [4], [13], [15], thread blocking decisions during lock acquisition in multiprocessor applications [7], and virtual circuit holding times in IPoverATM networks [11], [19]. We develop a provably optimal and computationally efficient algorithm for the renttobuy problem. Our algorithm uses O ( √ t) time and space, and its expected cost for the tth resource use converges to optimal as O ( √ log t/t), for any bounded probability distribution on the resource use times. Alternatively, using O(1) time and space, the algorithm almost converges to optimal. We describe the experimental results for the application of our algorithm to one of the motivating systems problems: the question of when to spindown a disk to save power in a mobile computer. Simulations using disk access traces obtained from an HP workstation environment suggest that our algorithm yields significantly improved power/response time performance over the nonadaptive 2competitive algorithm which is optimal in the worstcase competitive analysis model.
Adaptive Page Replacement Based on Memory Reference Behavior
, 1997
"... As disk performance continues to lag behind that of memory systems and processors, virtual memory management becomes increasingly important for overall system performance. In this paper we study the page reference behavior of a collection of memoryintensive applications, and propose a new virtual m ..."
Abstract

Cited by 71 (1 self)
 Add to MetaCart
As disk performance continues to lag behind that of memory systems and processors, virtual memory management becomes increasingly important for overall system performance. In this paper we study the page reference behavior of a collection of memoryintensive applications, and propose a new virtual memory page replacement algorithm, SEQ. SEQ detects long sequences of page faults and applies mostrecentlyused replacement to those sequences. Simulations show that for a large class of applications, SEQ performs close to the optimal replacement algorithm, and significantly better than LeastRecentlyUsed (LRU). In addition, SEQ performs similarly to LRU for applications that do not exhibit sequential faulting.
Competitive Analysis of Randomized Paging Algorithms
, 2000
"... The paging problem is defined as follows: we are given a twolevel memory system, in which one level is a fast memory, called cache, capable of holding k items, and the second level is an unbounded but slow memory. At each given time step, a request to an item is issued. Given a request to an item p ..."
Abstract

Cited by 63 (9 self)
 Add to MetaCart
The paging problem is defined as follows: we are given a twolevel memory system, in which one level is a fast memory, called cache, capable of holding k items, and the second level is an unbounded but slow memory. At each given time step, a request to an item is issued. Given a request to an item p,amiss occurs if p is not present in the fast memory. In response to a miss, we need to choose an item q in the cache and replace it by p. The choice of q needs to be made online, without the knowledge of future requests. The objective is to design a replacement strategy with a small number of misses. In this paper we use competitive analysis to study the performance of randomized online paging algorithms. Our goal is to show how the concept of work functions, used previously mostly for the analysis of deterministic algorithms, can also be applied, in a systematic fashion, to the randomized case. We present two results: we first show that the competitive ratio of the marking algorithm is ex...
EELRU: Simple and Effective Adaptive Page Replacement
, 1999
"... Despite the many replacement algorithms proposed throughout the years, approximations of Least Recently Used (LRU) replacement are predominant in actual virtual memory management systems because of their simplicity and e ciency. LRU, however, exhibits wellknown performance problems for regular acce ..."
Abstract

Cited by 60 (1 self)
 Add to MetaCart
Despite the many replacement algorithms proposed throughout the years, approximations of Least Recently Used (LRU) replacement are predominant in actual virtual memory management systems because of their simplicity and e ciency. LRU, however, exhibits wellknown performance problems for regular access patterns over more pages than the main memory can hold (e.g., large loops). In this paper we present Early Eviction LRU (EELRU). EELRU is a simple adaptive replacement algorithm, which uses only the kind of information needed by LRU  how recently each page has been touched relative to the others. It exploits this information more effectively than LRU, using a simple online cost/benefit analysis to guide its replacement decisions. In the very common situations where LRU is good, EELRU is good because it behaves like LRU. In common worst cases for LRU, EELRU is significantly better, and in fact close to optimal as it opts to sacrifice some pages to allow others to stay in memory longer. Overall, in its worst case, EELRU cannot be more than a constant factor worse than LRU, while LRU can be worse than EELRU bya factor almost equal to the number of pages in memory. In simulation experiments with a variety of programs and wide ranges of memory sizes, we show that EELRU doesin fact outperform LRU, typically reducing misses by ten to thirty percent, and occasionally by much moresometimes by a factor of two to ten. It rarely performs worse than LRU, and then only by a small amount. Overall, EELRU demonstrates several principles which could be widely useful for adaptive page replacement algorithms: (1) it adapts to changes in program behavior, distinguishing important behavior characteristics for each workload. In particular, EELRU is not affected by highfrequency behavior (e.g., loops much smaller than the memory size) as such behavior may obscure important largescale regularities; (2) EELRU chooses pages to evict in a way that respects both the memory size and the aggregate memoryreferencing behavior of the program; (3) depending This research was supported by IBM, Novell, and the National
Minimizing Stall Time in Single and Parallel Disk Systems
, 1998
"... We study integrated prefetching and caching problems following the work of Cao et. al. [3] and Kimbrel and Karlin [14]. Cao et. al. and Kimbrel and Karlin gave approximation algorithms for minimizing the total elapsed time in single and parallel disk settings. The total elapsed time is the sum of ..."
Abstract

Cited by 32 (0 self)
 Add to MetaCart
We study integrated prefetching and caching problems following the work of Cao et. al. [3] and Kimbrel and Karlin [14]. Cao et. al. and Kimbrel and Karlin gave approximation algorithms for minimizing the total elapsed time in single and parallel disk settings. The total elapsed time is the sum of the processor stall times and the length of the request sequence to be served. We show that an optimum prefetching/caching schedule for a single disk problem can be computed in polynomial time, thereby settling an open question by Kimbrel and Karlin. For the parallel disk problem we give an approximation algorithm for minimizing stall time. Stall time is an important and harder to approximate measure for this problem. All of our algorithms are based on a new approach which involves formulating the prefetching/caching problems as integer programs.
Experimental Studies of Access Graph Based Heuristics: Beating the LRU standard?
 In Proceedings of the Eighth Annual ACMSIAM Symposium on Discrete Algorithms
, 1997
"... In this paper we devise new paging heuristics motivated by the access graph model of paging [2]. Unlike the access graph model [2, 9, 4] and the related Markov paging model [11] our heuristics are truly online in that we do not assume any prior knowledge of the program just about to be executed. Th ..."
Abstract

Cited by 31 (2 self)
 Add to MetaCart
In this paper we devise new paging heuristics motivated by the access graph model of paging [2]. Unlike the access graph model [2, 9, 4] and the related Markov paging model [11] our heuristics are truly online in that we do not assume any prior knowledge of the program just about to be executed. The Least Recently Used heuristic for paging is remarkably good, and is known experimentally to be superior to many of the suggested alternatives on real program traces [24]. Experiments we've performed suggest that our heuristics beat LRU consistently, over a wide range of cache sizes and programs. The number of page faults can be as low as 75% less than the number of page faults for LRU and is typically 5%30% less than that of LRU. We have built a program tracer that gives the page access sequence for real program executions of 200  1,500 thousand page access requests, and our simulations are based on these real program traces. While we have no real evidence to suggest that the programs...
Page Replacement for General Caching Problems
, 1999
"... Caching (paging) is a wellstudied problem in online algorithms, usually studied under the assumption that all pages have a uniform size and a uniform fault cost (uni form caching). However, recent applications related to the web involve situations in which pages can be of different sizes and cost ..."
Abstract

Cited by 30 (3 self)
 Add to MetaCart
Caching (paging) is a wellstudied problem in online algorithms, usually studied under the assumption that all pages have a uniform size and a uniform fault cost (uni form caching). However, recent applications related to the web involve situations in which pages can be of different sizes and costs. This general caching problem seems more intricate than the uniform version. In particular, the offline case itself is NPhard. Only a few results exist for the general caching problem [8, 17]. This paper seeks to develop good offline page replacement policies for the general caching problem, with the hope that any insight gained here may lead to good online algorithms. Our first main result is that by using only a small amount of additional memory, say O(1) times the largest page size, we can obtain an O(1)approximation to the general caching problem. Note that the largest page size is typically a very small fraction of the total cache size, say 1%. Our second result is that when no add...
Optimal Prediction for Prefetching in the Worst Case
, 1998
"... Response time delays caused by I/O are a major problem in many systems and database applications. Prefetching and cache replacement methods are attracting renewed attention because of their success in avoiding costly I/Os. Prefetching can be looked upon as a type of online sequential prediction, whe ..."
Abstract

Cited by 28 (7 self)
 Add to MetaCart
Response time delays caused by I/O are a major problem in many systems and database applications. Prefetching and cache replacement methods are attracting renewed attention because of their success in avoiding costly I/Os. Prefetching can be looked upon as a type of online sequential prediction, where the predictions must be accurate as well as made in a computationally efficient way. Unlike other online problems, prefetching cannot admit a competitive analysis, since the optimal offline prefetcher incurs no cost when it knows the future page requests. Previous analytical work on prefetching [J. Assoc. Comput. Mach., 143 (1996), pp. 771–793] consisted of modeling the user as a probabilistic Markov source. In this paper, we look at the much stronger form of worstcase analysis and derive a randomized algorithm for pure prefetching. We compare our algorithm for every page request sequence with the important class of finite state prefetchers, making no assumptions as to how the sequence of page requests is generated. We prove analytically that the fault rate of our online prefetching algorithm converges almost surely for every page request sequence to the fault rate of the optimal finite state prefetcher for the sequence. This analysis model can be looked upon as a generalization of the competitive framework, in that it compares an online algorithm in a worstcase manner over all sequences with a powerful yet nonclairvoyant opponent. We simultaneously achieve the computational goal of implementing our prefetcher in optimal constant expected time per prefetched page using the optimal dynamic discrete random variate generator of Matias, Vitter, and Ni [Proc. 4th Annual SIAM/ACM