Program-counter-based pattern classification in buffer caching
Chris Gniady, Ali Raza Butt, Y. Charlie Hu · 2004
Program-counter-based (PC-based) prediction techniques have been shown to be highly effective and are widely used in computer architecture design. In this paper, we ex-plore the opportunity and viability of applying PC-based prediction to operating systems design, in particular, to optimize buffer caching. We propose a Program-Counter-based Classification (PCC) technique for use in pattern-based buffer caching that allows the operating system to correlate the I/O operations with the program context in which they are issued via the program counters of the call instructions that trigger the I/O requests. This correlation allows the operating system to classify I/O access pattern on a per-PC basis which achieves significantly better ac-curacy than previous per-file or per-application classifica-tion techniques. PCC also performs classification more quickly as per-PC pattern just needs to be learned once. We evaluate PCC via trace-driven simulations and an im-plementation in Linux, and compare it to UBM, a state-of-the-art pattern-based buffer replacement scheme. The per-formance improvements are substantial: the hit ratio im-proves by as much as 29.3 % (with an average of 13.8%), and the execution time is reduced by as much as 29.0% (with an average of 13.7%). 1