The Center for Education and Research in Information Assurance and Security (CERIAS)

The Center for Education and Research in
Information Assurance and Security (CERIAS)

Programming Methodologies for Resilience and Availability

Author

Wilkes

Entry type

techreport

Abstract

The goal of the Clouds project at Georgia Tech is the implementation of a fault-tolerant distributed operating system based on the notions of objects and actions, which will provide an environment for the construction of reliable applications. As part of the Clouds project, the author designed and implemented a high-level language in which those levels of the Clouds system above the kernel level are being implemented. The Aeolus language provides access to the synchronization and recovery features of Clouds. It also provides a framework within which to study programming methodologies suitable for action-object systems such as Clouds. This dissertation describes programming methodologies appropriate to the design of fault-tolerant servers needed in the Clouds system. Among the properties needed by these objects are resilience and availability. As part of this research, several case studies - that will serve as designs for actual Cloud servers - have been developed in Aeolus. Among the issues examined using these case studies are: the use of knowledge about the semantics of an object, as opposed to automatic provisions, in designing for resilience and availability; the tradeoffs between consistency and availability for such objects; the support from the Aeolus runtime system and from the Clouds kernel needed for providing fault tolerance; and high-level language features for resilience and availability which may be derived from experience with programming in Aeolus.

Institution

Georgia Institute of Technology

Key alpha

Wilkes

Note

GIT-ICS-87/32

Publication Date

1900-01-01

Contents

I. Introduction II. The Aeolus/Clouds Model III. Related Work IV. Case Studies V. Distributed Locking VI. Language Features for Resilience and Availability VII. Runtime and Operating System Support for Fault Tolerance VIII. Conclusions and Future Work

BibTex-formatted data

To refer to this entry, you may select and copy the text below and paste it into your BibTex document. Note that the text may not contain all macros that BibTex supports.