UW-Madison Logo

The ADvanced Systems Laboratory (ADSL)
Publication abstract

Information and Control in File System Buffer Management

Nathan C. Burnett
Department of Computer Sciences , University of Wisconsin-Madison


By implementing file system caching within the operating system, applications are required to cede to the OS a degree of control over memory utilization and IO scheduling. This dissertation explores ways in which applications can rediscover information hidden by the file system buffer cache and reclaim some of the control ceded to it. We find that this can be achieved without a wholesale redesign of either the operating systems or applications concerned.

We present Dust a tool to automatically determine the buffer cache replacement policy of an operating system. We describe a cache-aware web server. Using the information gained through Dust, our cache-aware web server is able to infer the contents of the buffer cache. It uses this information to schedule web connections on an in-cache-first basis, improving throughput and response time.

Implicit information can be imprecise. To address this limitation, we modify Linux and NetBSD to expose a list of pages which are about to be evicted. This explicit information is always accurate. We present Inforeplace, a user library which observes that list and touches pages that should remain cached, allowing applications to transform the kernel policy into one of the application's choice.

Some applications, such as those that use write-ahead logging, require control over the order in which data is written to disk. We propose two new interfaces by which applications can express write ordering constraints to the operating system. File system barriers introduce the barrier() system call. The operating system guarantees that no write operations will be reordered across a barrier. Asynchronous graphs allows applications to specify ordering constraints on a per-write-operation basis. Both would be difficult to implement with only information.

Full Paper: Postscript   PDF   BibTeX