
Thursday, March 2
3 :10-4:00 p.m.
1065 Kemper - refreshments to follow in 1131 Kemper Hall
File systems employ buffer cache to mitigate the effect of the growing gap between processor speeds and disk access times. After decades of research, the design of effective replacement algorithms for the buffer cache remains one of the most active research areas in operating systems design. The various approaches proposed have focused primarily on two techniques, namely, replacement algorithms that exploit temporal locality in cache accesses, and prefetching algorithms that exploit spatial locality. In this talk, I will first discuss a common pitfall in the design and evaluation of buffer cache replacement algorithms: They do not take into account the complex interactions between the buffer cache and various other components on the disk I/O path in modern operating systems. I will show that such interactions can have a significant impact; they can not only narrow the performance gap but also change the relative performance benefits of different algorithms. I will then briefly describe an automatic integrated caching and prefetching scheme that extends a state-of-the-art replacement algorithm (PCC). Finally, I will propose lossless compression as a simple alternative technique to the complex algorithms required to support the intertwined operations of prefetching and caching. I will present the design, implementation, and evaluation of Compactor, an adaptive compressed buffer cache management system. Compactor achieves performance improvement comparable to that from complex state-of-art cache replacement algorithms. Furthermore, it is an orthogonal and complementary technique that can be applied in conjunction with better cache replacement and prefetching schemes.