Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Ähnliche Präsentationen


Präsentation zum Thema: "Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld."—  Präsentation transkript:

1 Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld

2 Mit "Situationen" bezeichnen wir globale Zustände (eines Netzes): Wird aufeinander gewartet (Verklemmung)? Ist die verteilte Aufgabe erledigt (Terminierung)? Sind Ressourcen knapp geworden (auch: Geld)? und andere "pathologische" Zustände Vireninfektion? Wartung Inbetriebname Strukturänderungen (des Netzes) sind in eigenem Kapitel behandelt.eigenem Kapitel

3 Initiierung Sequenzieller Fall einfach (?) Mehrere, auf einem Rechner verteilte Instanzen schwieriger. Aber wenn es einmal klappt, dann immer wieder (vgl. Betriebssystem) Bei Instanzen auf verschiedenen Rechnern muss das schon bei der Programmierung beachtet werden, die Instanzen sollten am besten unabhängig voneinander gestartet werden können. beliebig? vgl. entspr. Frage bei Organisationen

4 Terminierung ist aufgabenbezogen: Das verteilte System hat eine Aufgabe erledigt, und es "könnte eigentlich aufhören zu arbeiten". Weil man meist das Ergebnis nicht von vornherein kennt, weiß man auch nicht, wann dies soweit ist. Im Unterschied zur Initialisierung ist diese Situation meist sehr schwer zu erkennen. Als Indiz kann dienen, dass das verteilte System zweimal in ein und denselben Zustand gerät. Beispiel: Fluten. Sobald alle Knoten informiert sind, muss diese Situation sich dauernd wiederholen. Beispiel: Maximum. Wann ist das Maximum erreicht? widerspricht etwas dem üblichen Sprachgebrauch

5 Halteproblem (der Turingmaschine) Nicht: Erkennen, dass die gegebene Aufgabe erledigt ist. Sondern: Aufgrund des Programmtexts entscheiden, ob die gegebene Aufgabe irgendwann (nach endlich vielen Schritten) erledigt ist. (aus Wikipedia:) Die wichtigste Fragestellung bezüglich des Halteproblems ist hier, ob es entscheidbar ist, also ob eine Turingmaschine existiert, die für jedes Paar aus kodierter Turingmaschine und Eingabe berechnen kann, ob die kodierte Maschine auf dieser Eingabe anhält. In der angewandten Informatik lautet die Frage: Kann man ein Programm entwickeln, das als Eingabe den Quelltext eines zweiten Programms sowie dessen Eingabewerte erhält, welches entscheiden kann, ob das zweite Programm terminiert, d. h. nicht endlos weiterläuft. Alan Turing bewies 1936, dass es keine Turingmaschine gibt, die das Halteproblem für alle Eingaben löst.

6 Verklemmung ist eine Situation, in der alle Instanzen aufeinander warten. Sie kann nur im nicht-sequenziellen Fall eintreten. Hier wartet 1 darauf, dass ihm der Bildschirm zugeteilt wird. Gleichzeitig benötigt 1 allerdings den Drucker. Auf der anderen Seite ist der Drucker dem Prozess 2 zugeteilt, der wiederum den Bildschirm fordert. Ein anderes Beispiel für eine Verklemmung ist eine Straßenkreuzung, an der von allen vier Seiten Autos gekommen sind und nun (die Regel rechts vor links vorausgesetzt) darauf warten, dass das jeweils rechts wartende Auto zuerst fährt.

7 Verklemmung (2) verhindern am einfachsten: nur mit einer Instanz arbeiten vermeiden verschiedende praktische Methoden beseitigen am einfachsten: alle Instanzen neu starten


Herunterladen ppt "Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld."

Ähnliche Präsentationen


Google-Anzeigen