An Object-Oriented Framework for Userland Filesystem Development
Professor of Computer Science
Co-Director, Center for Textual Studies and Digital Humanities
Loyola University Chicago
Stuart Building 111
Monday, April 9th, 2012
Abstract: Userland filesystems (also known as virtual/installable filesystems) represent a promising direction for interfacing the traditional filesystem concept to specific domain instances (e.g. finance, bioinformatics, astronomy, photo sharing services, etc.) One might initially be inclined to think of filesystems as “old school” or “so 1980s” but their use remains an established practice in computational science and in many business domains, owing to the stability of filesystems interfaces and the continued perception of having great overall performance. While the promise of building one’s own userland filesystems is great, the approach has seen little adoption, owing to the complexity of working with low-level interfaces such as FUSE (Filesystems in User Space), which essentially require a complete mastery of Posix to build even the simplest filesystem.
In this talk, I will present work being done by the Pervasive Computing Group (with Joe Kaylor and Konstantin Läufer) at Loyola University Chicago on object-oriented frameworks to support the rapid creation and deployment of domain-specific userland filesystems. The focus will be on the Naked Objects Filesystem (NOFS), which supports the wiring of object oriented domain models to FUSE filesystems. (For details about the Naked Objects pattern, see Pawson’s Ph.D. thesis.) NOFS greatly simplifies the task of filesystems development by providing the glue code needed between a domain model and the filesystem contract. I’ll describe enhancements to the NOFS framework to support domain models that are larger than physical memory and demonstrate how the concerns of caching can be removed from user-mode filesystem implementations and placed into the NOFS framework. We illustrate how these new capabilities further simplify the development of user-mode filesystems. NOFS can be downloaded from http://code.google.com/p/nofs/.
Bio: George K. Thiruvathukal (http://thiruvathukal.com) is a full professor of computer science at Loyola University Chicago. He holds a Ph.D. from the Illinois Institute of Technology (1995) where he worked with Thomas W. Christopher on a number of experimental message-passing systems for high-performance parallel/distributed programming. He was also a postdoctoral scientist at Argonne National Laboratory, where he worked with Ian Foster on the first version of MPICH to run on the emerging grid (now known as MPICH-G). It was here at IIT where the seeds for his interests in raising the level of abstraction (using object-oriented and functional paradigms) to support systems programming and high-performance computing were first planted. Dr. Thiruvathukal’s interests span a variety of areas in computer science with a focus on languages, (parallel/distributed) systems, and software engineering. His interests also span the sciences and humanities. In recent years he has been working in the emerging area of digital humanities, focusing on collaborative editing tools to support textual scholarship/critical editions and platform studies. He has recently co-authored a book in the MIT Press Platform Studies (platformstudies.org), entitled Codename Revolution: The Nintendo Wii Platform. Dr. Thiruvathukal serves as an associate editor in chief for Computing Now (http://computingnow.computer.org) and Computing in Science and Engineering (http://www.computer.org/portal/web/computingnow/cise), published by the IEEE Computer Society and the American Institute of Physics. For more details, see http://www.thiruvathukal.com/about.html.