Buffl

KE 4

MW
by Michael W.

Koordination - Verteilter Algorithmus

  • baut auf Lamports Uhr auf

  • braucht totale Ordnung der Ereignisse im System

Vorgehen:

  1. Anfrage = Nachricht mit

    • Name der Ressource

    • Prozessnummer

    • gegenwärtige (logische) Zeit

    • geht an alle Prozesse

      • inkl. sich selbst

  2. Nachricht empfangen

    • 3 Möglichkeiten:

      • 1. Empfänger ist nicht in Ressource und will sie auch nicht

        • -> schickt ok zurück

      • 2. Empfänger nutzt Ressource

        • antwortet nicht

        • stellt Anfrage in Warteschlange

      • 3. Empfänger wartet auch auf Ressource

        • vergleicht Zeit mit Zeit der eigenen Anfrage

        • nächste Anfrage gewinnt

        • andere näher? -> schickt ok

        • eigene näher? -> schickt gar nichts

  3. alle Nachrichten empfangen

    • beginnt arbeit

    • danach schickt er "ok" zu allen wartenden Nachrichten in seiner Warteschlange

    • löscht dann die Anfragen aus Warteschlange


Eigenschaften:

  • kein deadlock

  • kein starvation

  • braucht 2 * ( N - 1) Nachrichten

  • es gibt N points of failure

    • weil fehlende Antwort eines (gecrashten) Prozeses als verweigerte Erlaubnis interpretiert wird

    • Verbesserung:

      • bei Anfragen immer Antwort schicken

      • entweder Zustimmung oder Verweigerung

      • dann noch mal versuchen und irgendwann annehmen, dass der andere Prozess tot ist

  • man muss festhalten, welche Prozesse in der Gruppe sind

    • entweder multicast communication primitive

    • oder jeder Prozess muss selbst Tabelle verwalten

    • -> geht am Besten mit kleiner Gruppe von Prozessen

      • die nie Mitgliedschaft ändern

  • alle Prozesse sind immer an allen Entscheidungen beteiligt

    • verlangt viel Aufmerksamkeit

    • Verbesserung:

      • Mehrheit der Prozesse reicht für Zugriff auf Ressource


Author

Michael W.

Information

Last changed