| MojaveFS: A Speculative Distributed File System |
| Cristian Tapus, Jason Frantz, Justin D. Smith, and Jason Hickey |
| {crt, buckweat, justins, jyh}@cs.caltech.edu |
| Abstract |
The Mojave File System (MojaveFS) is a distributed file system that uses speculations to facilitate reliable concurrent programming. Speculations are a central tool for failure isolation. MojaveFS is a central component of a distributed, fault-tolerant computing platform, and it evolves in parallel with the development of the Mojave Compiler Collection (MCC). MCC is a multi-language compiler supporting both imperative languages like C and Pascal, and semi-functional languages like ML. MCCs extensions to the programming languages include primitives for speculations and process checkpointing, which simplify fault-recovery. Seamless integration with programming languages provides a new programming model for designing verifiable highly-available distributed systems. MojaveFS provides location transparency and transparent support for speculations on file I/O, enabling effective process mobility. MojaveFS supports these features while retaining backward compatibility with existing file systems. |