Skip to Main Content
Interprocess communication (IPC) is ubiquitous in today's computing world. One of the simplest mechanisms for IPC is shared memory. We present a system that enhances the System V IPC API to support distributed shared memory (DSM) by using speculations. Speculations provide performance improvements by enabling rollback of overly optimistic speculative executions. This paper describes a speculative total order communication protocol, a speculative sequential consistency model, and a speculative distributed locking mechanism. All these are supported by a mathematical model showing the advantages of speculative execution over traditional execution. Our DSM system is part of the Mojave system, which consists of a compiler and the extensions of the operating system designed to support speculations and process migration. The goal of our system is to provide a simpler programming paradigm for designers of distributed systems.