Faculty Candidate

Chris Gniady, School of Electrical and Computer Engineering at Purdue
Instruction-based Prediction Techniques in Operating Systems
Date: Thursday, March 10, 2005
Time: 11:00AM
Place: Gould-Simpson, Room 701
Refreshments will be served in the 7th floor lobby of Gould-Simpson at 10:45 AM


Program instructions uniquely identified by their program counters (PCs) provide a convenient and accurate means of recording the context of program execution and instruction-based prediction techniques have been widely used for performance optimizations at the architectural level. Operating systems, on the other hand, have not fully explored the benefits of instruction-based prediction for resource management. This research explores the potential benefits provided by instruction-based prediction in operating systems. In particular, we investigate the potential of using instruction-based prediction techniques for managing I/O devices in operating systems.

We first propose an instruction-based access pattern classification technique for buffer cache management. Our technique 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-call-site basis, which achieves significantly better accuracy than previous per-file or per-application classification techniques.

We then propose an instruction-based technique for power management that dynamically learns the application I/I access patterns and associated disk idle times to predict when an I/O device can be shut down to save energy. The technique uses path-based correlation to observe a particular sequence of I/O triggering instructions leading to each idle period, and accurately predicts future occurrences of that idle period.