|
File systems have proven to be useful in enriching and extending
system functionality. We are investigating ways of simplifying file
system development and using the file system abstraction for
extending legacy systems to support the requirements of ubiquitous
computing services.
As a first step towards this end, we have created FiST (File System
Translator), a tool for stackable file system code generation. FiST
helps to ease the the development of file systems by providing a
higher-level infrastructure for layering new file system functionality
on top of existing file systems. FiST consists of a language, code
generator, and file system templates. In particular, the language
provides higher-level primitives as more powerful basic building
blocks to simplify file system development. It abstracts operations
based on the UNIX vnode interface to provide generalized file system
features that can be used across several operating systems.
FiST-generate file systems provide kernel-level performance without
kernel modification. FiST has been implemented and tested using three
different and widely-used UNIX operating systems: Solaris, FreeBSD,
and Linux. We have constructed several real-world file systems using
FiST to demonstrate its effectiveness. These file systems include a
union file system, an encryption file system, a file system that load
balances across replicated file systems, and compression file systems.
Our experiences with these systems shows that FiST can reduce
development time and code size by an order of magnitude while
extending file system functionality with little performance overhead.
More Information:
- Erez Zadok, Jeffrey Osborn, Ariye Shater, Charles Wright, Kiran-Kumar Muniswamy-Reddy, and Jason Nieh, "Reducing Storage Management Costs via Informed User-Based Policies", Proceedings of the Twelfth NASA Goddard, Twenty-first IEEE Conference on Mass Storage Systems and Technologies (MSST), College Park, MD, April 13-16, 2004, pp. 193-198.
- Erez Zadok, Jeffrey Osborn, Ariye Shater, Charles Wright, Kiran-Kumar Muniswamy-Reddy, and Jason Nieh, "Reducing Storage Management Costs via Informed User-Based Policies", Technical Report FSL-03-01, Dept. of Computer Science, Stony Brook University, March 2003.
- Ozgur Can Leonard, Jason Nieh, Erez Zadok, Jeffrey Osborn, Ariye Shater, and Charles Wright, "The Design and Implementation of Elastic Quotas: A System for Flexible File System Management", Technical Report CUCS-014-02, Department of Computer Science, Columbia University, June 2002.
- Erez Zadok, Johan M. Andersen, Ion Badulescu, and Jason Nieh, "Fast Indexing: Support for Size-Changing Algorithms in Stackable File Systems", Proceedings of the 2001 USENIX Annual Technical Conference, Boston, MA, June 25-30, 2001, pp. 289-304.
- Erez Zadok, "FiST: A System for Stackable File System Code Generation", Ph.D. Thesis, Department of Computer Science, Columbia University, May 2001.
- Erez Zadok, Johan M. Andersen, Ion Badulescu, and Jason Nieh, "Performance of Size-Changing Algorithms in Stackable File Systems", Technical Report CUCS-023-00, Department of Computer Science, Columbia University, November 2000.
- Erez Zadok and Jason Nieh, "FiST: A Language for Stackable File Systems", Proceedings of the 2000 USENIX Annual Technical Conference, San Diego, CA, June 18-23, 2000, pp. 55-70.
- Erez Zadok and Jason Nieh, "FiST: A Language for Stackable File Systems", Technical Report CUCS-034-99, Department of Computer Science, Columbia University, December 1999.
- Erez Zadok, Ion Badulescu, and Alex Shender,, "Extending File Systems Using Stackable Templates", Proceedings of the 1999 USENIX Annual Technical Conference, Monterey, CA, June 6-9, 1999, pp. 57-70.
- FiST Home Page, maintained by Erez Zadok.
- FiST
System Software,
includes FiST system software and several file systems built using
FiST.
- FiST Mailing List, list is for people who use or develop code for the FiST system.
|