Advertisement

Fault Tolerance by Transparent Replication for Distributed Ada 95

  • Thomas Wolf
  • Alfred Strohmeier
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1622)

Abstract

This paper presents the foundations of RAPIDS (“Replicated Ada Partitions In Distributed Systems”), an implementation of the Distributed Systems Annex E incorporating the transparent replication of partitions in distributed Ada 95 applications. RAPIDS is a replication manager for semi-active replication based on a piecewise deterministic computation model. It guarantees replica consistency for arbitrary Ada 95 partitions despite the inherent non-determinism of multitasking, offering k-resilient partitions. The RAPIDS prototype is implemented for the GNAT compiler and evolved from its PCS, Garlic.

Keywords

Distributed Systems Fault Tolerance Non-Determinism Piecewise Determinism Replica Consistency Semi-Active Replication 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BHV+90]
    Barrett, P. A.; Hilborne, A. M.; Veríssimo, P. et al.: “The Delta-4 Extra Performance Architecture XPA”, in Proceedings of the 20 th International Symposium on Fault-Tolerant Computing Systems (FTCS-20), pp. 481–488, Newcastle upon Tyne, UK, June 1990.Google Scholar
  2. [Bir93]
    Birman, K. P.: “The Process Group Approach to Reliable Distributed Computing”, Communications of the ACM 36(12), Dec. 1993, pp. 37–53.CrossRefGoogle Scholar
  3. [BN84]
    Birrell, A. D.; Nelson, B. J.: “Implementing Remote Procedure Calls”, ACM Transactions on Computer Systems 2(1), 1984, pp. 39–59.CrossRefGoogle Scholar
  4. [Eln93]
    Elnozahy, E. N.: Manetho: Fault Tolerance in Distributed Systems using Rollback Recovery and Process Replication, PhD Thesis, Rice University, Houston TX, USA, Oct. 1993.Google Scholar
  5. [HW90]
    Herlihy, M. P.; Wing, J. M.: “Linearizability: A Correctness Criterion for Concurrent Objects”, ACM Transactions on Programming Languages and Systems 12(3), July 1990, pp. 463–492.CrossRefGoogle Scholar
  6. [ISO95]
    ISO: International Standard ISO/IEC 8652:1995(E): Ada Reference Manual, Lecture Notes in Computer Science 1246, Springer Verlag, 1997; ISO, 1995.Google Scholar
  7. [KPT95]
    Kermarrec, Y.; Pautet, L.; Tardieu, S.: “GARLIC: Generic Ada Reusable Library for Interpartition Communication”, in Proceedings of Tri-Ada’ 95, pp. 263–269, Anaheim CA, USA, Nov. 1995.Google Scholar
  8. [MFSW95]
    Malloth, C.; Felber, P.; Schiper, A.; Wilhelm, U.: “Phoenix: A Toolkit for Building Fault-Tolerant, Distributed Applications in Large-Scale Network”ö, in Workshop on Parallel and Distributed Platforms in Industrial Products, San Antonio TX, USA, Oct. 1995.Google Scholar
  9. [Mos81]
    Moss, J. E. B.: Nested Transactions: An Approach to Reliable Distributed Computing, PhD Thesis MIT/LCS/TR-260, MIT, Cambridge MA, USA, Apr. 1981.Google Scholar
  10. [Pow91]
    Powell, D. (Ed.): Delta-4: A Generic Architecture for Dependable Distributed Computing, volume 1 of ESPRIT Research Reports, Project 818/2252-Delta-4, Springer Verlag, 1991.Google Scholar
  11. [Sch90]
    Schneider, F. B.: “Implementing Fault-Tolerant Services using the State Machine Approach”, ACM Computing Surveys 22(4), Dec. 1990, pp. 299–319.CrossRefGoogle Scholar
  12. [SY85]
    Strom, R. E.; Yemini, S.: “Optimistic Recovery in Distributed Systems”, ACM Transactions on Computer Systems 3(3), Aug. 1985, pp. 204–226.CrossRefGoogle Scholar
  13. [Wol97]
    Wolf, T.: “Fault Tolerance in Distributed Ada 95”, in Proceedings of the 8th International Real-Time Ada Workshop, pp. 106–110, Ravenscar, UK, Apr. 1997, ACM Ada Letters XVII(5).Google Scholar
  14. [Wol98]
    Wolf, T.: Replication of Non-Deterministic Objects, PhD Thesis #1903, Swiss Federal Institute of Technology, Lausanne, Switzerland, Nov. 1998.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Thomas Wolf
    • 1
  • Alfred Strohmeier
    • 1
  1. 1.Software Engineering LaboratorySwiss Federal Institute of TechnologyLausanne EcublensSwitzerland

Personalised recommendations