Program-counter-based pattern classification in buffer caching

Chris Gniady, Ali R. Butt, Y. Charlie Hu

Research output: Contribution to conferencePaperpeer-review

70 Scopus citations


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 explore 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 accuracy than previous per-file or per-application classification 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 implementation in Linux, and compare it to UBM, a state-of-the-art pattern-based buffer replacement scheme. The performance improvements are substantial: the hit ratio improves 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%).

Original languageEnglish (US)
Number of pages14
StatePublished - 2004
Event6th Symposium on Operating Systems Design and Implementation, OSDI 2004 - San Francisco, United States
Duration: Dec 6 2004Dec 8 2004


Conference6th Symposium on Operating Systems Design and Implementation, OSDI 2004
Country/TerritoryUnited States
CitySan Francisco

ASJC Scopus subject areas

  • Information Systems
  • Computer Networks and Communications
  • Hardware and Architecture


Dive into the research topics of 'Program-counter-based pattern classification in buffer caching'. Together they form a unique fingerprint.

Cite this