Advertisement

Strategien zur Festlegung von Rücksetzpunkten in Prozeβ-Systemen unter Berücksichtigung der Programm-Redundanz zur Ausnahmebehandlung

  • Andreas Pfitzmann
Conference paper
Part of the Informatik-Fachberichte book series (INFORMATIK, volume 83)

Zusammenfassung

Vier Strategien zur Festlegung von Rücksetzpunkten in Prozeβ-Systemen werden entwickelt, die
  • * während der Übersetzung eines mehrere Prozesse umfassenden Programms angewandt werden können und die

  • * es erlauben, die im Prozeß-System enthaltene Redundanz zur VorwärtsFehlerbehebung (z. B. Ausnahmebehandlung) zu nutzen, wenn Fehler im Grundsystem durch Rücksetzen der betroffenen Prozesse nicht maskiert werden können.

Der Umfang von Rücksetzpunkten kann verringert werden, indem nur Unbekannte mit lebendigem Inhalt in Rucksetzpunkte aufgenommen werden.

Erkennt der Übersetzer bei der globalen Programmoptimierung, daß Prozesse mehrmals hintereinander interagieren, kann er gemeinsame Rucksetzpunkt-Strukturen bilden, die dem Sprachkonstrukt Konversation entsprechen. Es müssen dann seltener Rucksetzpunkte erstellt werden.

In robusten Programmen kann Vorwärts-Fehlerbehebung als Indikator für die Wichtigkeit von System-Funktionen und damit als Indikator für die Notwendigkeit von Rücksetzpunkten verwendet werden.

Durch Erhaltung alter, lokaler Rücksetzlinien, sofern ihr Speicherplatz nicht anderweitig benötigt wird, d. h. durch einen zweiten Rücksetzpunkt pro Prozeß, kann die Menge der tolerierbaren Fehler vergrößert werden, ohne daß der Aufwand nennenswert steigt.

Abstract

Four strategies to insert checkpoints into a system of cooperating processes are developed. These strategies
  • * may be applied by a compiler and

  • * enable the use of program capabilities for forward error recovery (e. g. exception handling) if backward error recovery using the inserted checkpoints and retry fails.

Checkpoints can be kept small by only including live and at compilation-time unknown contents of variables. The content of a variable is called live at a program point, if a successive “read” is possible before a “store”.

During global program optimization, the compiler may find that e. g. two processes communicate several times in a row. The compiler may then generate checkpoints at the beginning and the end only, which decreases checkpointing overhead and corresponds to a conversation.

In robust programs, measures for forward error recovery may be taken as a hint which system-functions are crucial and therefore where checkpoints are really necessary.

By preservation of local recovery lines, as far as their memory space is not needed otherwise, i. e. by a second checkpoint for each process, more faults may be tolerated without considerable additional overhead.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. AnLe_81.
    T. Anderson, P. A. Lee: Fault Tolerance - Principles and Practice; Prentice Hall, Englewood Cliffs, New Jersey, 1981Google Scholar
  2. Corn_83.
    Dennis Cornhill: A Survivable Distributed Computing System For Embedded Application Programs Written in Ada; Ada LETTERS, A Bimonthly Publication of AdaTEC, the SIGPLAN Technical Committee on Ada; Vol. III, Nu. 3, November, December 1983, Seite III-3.79 bis III-3.87Google Scholar
  3. DalC_84.
    M. Dal Cin: Software-implementierte Fehlertoleranz; Informatik- Spektrum Band 7, Heft 2, April 1984, Seite 108Google Scholar
  4. Gray_78.
    J. N. Gray: Notes on Data Base Operating Systems; Operating Systems, An Advanced Course, Edited by R. Bayer, R. M. Graham, G. Seegmüller; Lecture Notes in Computer Science LNCS 60, 1978; Nachgedruckt als Springer Study Edition, 1979; SpringerVerlag, Heidelberg, Seite 393 bis 481Google Scholar
  5. Kron_83.
    G. Kronawitter: Aspekte der Zustandssicherung in der Fehlertolerierenden Regler- und Steuerstation (FTR); Workshop Fehlertolerante Mehrprozessor- und Mehrrechnersysteme, Erlangen, 14. Oktober 1983, veranstaltet von der Fachgruppe 3.1.1 “Fehlertolerierende Rechensysteme” der Gesellschaft für Informatik E. V. (GI); Arbeitsberichte des Instituts für Mathematische Maschinen und Datenverarbeitung (Informatik), Friedrich Alexander Universität Erlangen Nürnberg, Band 16, Nu. 11, Dezember 1983, Seite 90 bis 99Google Scholar
  6. MBQG_79.
    C. Meraud, F. Browaeys, J. P. Queille, G. Germain: Hardware and Software of the Fault Tolerant Computer COPRA; FTCS-9, Proceedings 1979 International Symposium on Fault-Tolerant Computing, Madison, Wisconsin, June 20–22, 1979, Seite 167Google Scholar
  7. McDe_81.
    J. A. McDermid: Checkpointing and Error Recovery in Distributed Systems; Proceedings The 2nd International Conference on Distributed Computing Systems; Paris, France, April 8–10, 1981, Seite 271 bis 282Google Scholar
  8. MeBG_76.
    C. Meraud, F. Browaeys, G. Germain: Automatic Rollback Techniques of the COPRA Computer; FTCS-6, Proceedings 1976 International Symposium on Fault-Tolerant Computing, Pittsburgh, Pennsylvania, June 21–23, 1976, Seite 23 bis 29Google Scholar
  9. MeRa_78.
    P. M. Merlin, B. Randell: State Restoration in Distributed Systems; Proceedings of Fault Tolerant Computing Symposium 8, France, 1978, Seite 129 bis 134Google Scholar
  10. Mich_82.
    Frank Michel : Rückwärts-Wiederaufsetzen in verteilten, fehlertoleranten Rechnersystemen; Diplomarbeit am Fraunhofer-Institut für Informations- und Datenverarbeitung Karlsruhe; Universität Karlsruhe, Fakultät für Informatik, Februar 1982Google Scholar
  11. OBri_76.
    Frank J. O’Brien: Rollback Point Insertion Strategies; FTCS-6, International Symposium on Fault-Tolerant Computing, June 21–23 1976, Pittsburgh, Pennsylvania, Seite 138 bis 142Google Scholar
  12. Patz_81.
    Manfred Patz: Zustandssicherung- und Wiederanlaufverfahren für verteilte Netzbetriebssysteme mit dynamischer Redundanz; Dissertation an der Fakultät für Elektrotechnik der TU München, 1981Google Scholar
  13. Pfit_82.
    Andreas Pfitzmann: Konfigurierung und Modellierung von Mehrmikrorechnern aus um Zuverlässigkeitsanforderungen erweiterten ADA-Programmen; Interner Bericht Nr. 8/82, Institut für Informatik IV, Fakultat für Informatik, Universität Karlsruhe, Februar 1982Google Scholar
  14. Pfit_84.
    Andreas Pfitzmann: Festlegung des Ortes und Umfangs von Rücksetzpunkten in Prozeß-Systemen bei der Übersetzung und Berücksichtigung der Programm-Redundanz zur Ausnahmebehandlung; GI-NTG-Fachtagung Architektur und Betrieb von Rechensystemen, Universität Karlsruhe, 26. – 28.3.1984, Informatik-Fachberichte Band 78, Springer-Verlag Heidelberg, Seite 362 bis 377Google Scholar
  15. Rand_75.
    Brian Randeil: System Structure for Software Fault Tolerance; IEEE Transactions on Software Engineering Vol. SE-1, No. 2, June 1975, Seite 220 bis 232Google Scholar
  16. REFE_83.
    Reference Manual for the Ada Programming Language; ANSI/MIL-STD -1815A-1983, February 17, 1983; Lecture Notes in Computer Science LNCS 155, Springer-Verlag HeidelbergGoogle Scholar
  17. WaGo_84.
    William M. Waite, Gerhard Goos: Compiler Construction; Texts and Monographs in Computer Science, Springer-Verlag Heidelberg, 1984Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1984

Authors and Affiliations

  • Andreas Pfitzmann
    • 1
  1. 1.Institut für Informatik IVUniversität KarlsruheKarlsruheGermany

Personalised recommendations