Distributed Commit Protocols for Nested Atomic Actions

Abstract : Nested atomic actions are a useful tool for building robust distributed programs. This thesis examines two aspects of the design of commit protocols for nested actions: semantics and efficiency. Most existing protocols provide relatively weak guarantees about when sites learn the outcomes of actions. The notion of an eager diffusion semantics for action completion is introduced . A protocol that supports eager diffusion guarantees that a site in a distributed system knows as much about commits and aborts of actions as do the actions running at the site. The focus of the work is the design and rigorous correctness proof of a new nested action commit protocol that supports eager diffusion. The protocol works by piggy backing information on existing messages flowing around the system. A series of optimizations that reduce the amount of information added to messages and stored at sites lays the groundwork for an efficient implementation of the protocol. Even the most efficient of the protocols used in existing systems still have performance problems. The optimization techniques can be applied to improve the performance of nested action commit protocols that provide only a weaker semantics than eager diffusion, of which the protocol used in the Argus distributed system is an example. Keywords: Commit protocols, Nested transactions; Atomicity; Distributed computer systems; Eager diffusion; Argus; Input output automatic; Theses.