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.