Lecture 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12? | 13? | Index


To add a question because something is unclear or was not understood, just insert the question and add the prefix %q% for each addition (q like question). This is the "question-style". Like this:

* %q% What kind of problems could have decentralized nature?
  • What kind of problems could have decentralized nature?

If you want to answer a question or add a comment please put a %a% in front. This is thea "answer-style" (a lilke answer). An example:

* %a% This is an addition to something that I consider important.
  • This is an addition to something that I consider important.

For citations or references to the slides of Prof. Suri pleas add the lecture and slide number in braces: (<lecture>.<slide>).

Please make sure that you enter an author name, else your changes will not be saved!


Lecture 8 - Recovery oriented Software Issues

  • Software-faults/errors
    • Heisenbug: Failure due to special sequence of events
    • Bohrbug: Fail at the same place every time
  • Recovery via diversity
    • Code diversity
      • Recovery block
        • Provide several modules to reach the same goal
        • Can be nested
        • Needs acceptance test (assertions) to detect errors
      • N-version programming (NVP?)
        • Use N independent versions for one program specification
          • Varied programmers, algorithms, programming languages, compilations, ...
          • Real independence hardly reachable
        • "Software-TMR"
    • Data diversity
      • N-copy programming (NCP?)
      • Re-express the data in multile ways (if possible)
      • Vary data within toleration limits
  • Software aging
    • Memory leaks, file descriptor leaks, unreleased file locks, ...
    • 70% of software errors are transient
    • Rejuvenation
      • Controlled shut-down to refresh instead of crash (uncontrolled shut-down)
      • Goal: maximize uptime
      • Only makes sense if failure rate increases over time
      • When to rejuvenate?
        1. Static (periodically)
        2. Dynamic (time and load driven)
        3. Random
      • Granulatities
        • Level 1: Partial (restart service)
        • Level 2: Full (OS reboot)

Nach oben

Lecture 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12? | 13? | Index


Recent Changes


Nach oben

Zuletzt geändert am 06 März 2005 18:10 Uhr von chrschn