Multi-Model Fault-Tolerant Programming in Distributed Object-Based Systems
MetadataShow full item record
Many transaction models, and computation replication schemes based on such models have been proposed in the literature. All these techniques for software fault tolerance, referred to herein as action models, provide data consistency and/or forward progress for distributed applications. The action models themselves can be implemented at the operating system(OS) level for efficiency reasons. However, this approach is restrictive for many application domains since the underlying OS can implement only a fixed set of action models. Alternatively, in our earlier work, we developed a set of OS mechanisms to support multiple action models at a higher level. The mechanisms facilitate efficiency and flexibility. Nevertheless, programming using these OS primitives could be complex. To ease the programmer's task, in this paper, we develop higher level abstractions that can be implemented using the underlying system mechanisms as part of a library or a language run-time system. We informally argue the flexibility of our approach for programming nested and colored actions and Parallel Execution Threads (PETs). We quantify the costs of fault tolerance through a prototype implementation of nested transactions and PETs on the Clouds distributed OS platform. Key Words: Objects, Transaction Models, Computation Replication Schemes, Distributed Operating Systems, Programming Support.