My UW | UW Search

   
   

Computer Science Home Page
> ~ncb
 

Homepage

Publications & Talks

ADSL

UW Systems Research

C.S. Dept.

Quotes

UW-Madison
Computer Sciences Dept.

Nathan C. Burnett, Ph.D.

Alumnus
Computer Sciences

Nathan C. Burnett

Information and Control in File System Buffer Management

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

Abstract:

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

Publications

 
Computer Sciences | UW Home

Page last modified: Monday, 14-Aug-2006 23:26:15 CDT
Feedback or content questions: send email to ncb@cs.wisc.edu