A simple characterization of provably efficient prefetching algorithms
In this paper, we characterize a broad class C of prefetching algorithms and prove that, for any prefetching algorithm in this class, its total elapsed time is no more than twice the smallest possible total elapsed time. This result provides a performance guarantee for several practical prefetching algorithms, which fall into this class and have no previously proven performance bound. Prefetching involves making two fundamental decisions: when to begin a prefetch operation and which page to replace. Provably optimal prefetching algorithms are rendered impractical because of complicated techniques to decide when to issue prefetches. However, a Class C algorithm only has to obey certain simple (previously known) guidelines governing these decisions. The performance guarantee for this class strongly relies on the optimal replacement requirement, and this suggests that more so than the decision of when to start prefetching the next missing page, the replacement decision remains the most important decision to be made in prefetching algorithms.