Application-Controlled Storage Management

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 a small trusted subsystem, 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). Based on our prototype implementations, we have found that the cost of protection is very low (generally, in the noise) and that the flexibility of application-controlled storage management can be exploited to achieve substantial performance improvements.


Our work on application-controlled storage management has gone thru several iterations. Our first cut was based on the exodisk system, as described in Robert Grimm's Masters thesis. We generated a paper that described the resulting system ("Application-Controlled Storage Management" by G. Ganger, R. Grimm, M.F. Kaashoek and D. Engler), but ended up not publishing it. Our current approach, based on the XN system, offers greater application control with less complexity. It is currently best described in our SOSP paper on exokernel-based systems.