Application-Controlled Storage Management

by Gregory R. Ganger, Robert Grimm, M. Frans Kaashoek and Dawson R. Engler


Abstract

We propose a new disk system architecture that, in contrast to traditional file systems, securely exposes the raw disk system interface and allows applications to implement their own, specialized disk storage abstractions. On top of the exodisk system, user-level programs can employ application-specific data layouts, metadata structures, caching, prefetching, and integrity, security and persistence mechanisms. The only limitations are those necessary to control access (i.e., prevent one application from accessing another's data, if not authorized to do so). In this paper, we describe the exodisk architecture and our prototype implementation. We show that the cost of protection in the exodisk system is very low (mostly less than 10\% and usually in the noise).

On top of the exodisk, we have constructed an application-level file system as a default storage management scheme. We show that the performance overhead of our application-level file system is very close to that of the exodisk protection model on which it is built. When compared to the Ultrix file system on the same hardware, this represents more than a three-fold increase in performance (for small file I/O). We then illustrate the power of application-controlled storage management with several examples: fast file insertion, disk-directed I/O, application-specific persistence, application-controlled disk striping and replication, and a fast, simple web server. Each of these demonstrates significant performance improvements.

Status

Submitted for publication.

Not currently available on-line