• Keine Ergebnisse gefunden

Konsensus und die Herlihy-Hierarchie Prof. Dr. David Sabel

N/A
N/A
Protected

Academic year: 2021

Aktie "Konsensus und die Herlihy-Hierarchie Prof. Dr. David Sabel"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prinzipien, Modelle & Algorithmen der Nebenl¨ aufigen Programmierung

Wintersemester 2020/21

Konsensus und die Herlihy-Hierarchie

Prof. Dr. David Sabel

LFE Theoretische Informatik

Letzte ¨Anderung der Folien: 30. Dezember 2020

Ubersicht ¨

1

Einleitung

2

Motivationsbeispiel: Zwei Gener¨ ale-Problem

3

Das Konsensusproblem

4

Die Konsensus-Zahl

5

Universalit¨ at

TCS | 07 Konsensus und die Herlihy-Hierarchie| WS 2020/21 2/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Fragestellung

Jede Menge Nebenl. Objekte: Atomares Register, RMW-Objekt, Test-and-set-Objekt, usw.

Welche Objekte sind

” besser“ als die anderen?

Was bedeutet

” besser“?

Intuitiv klar:

Atomares Register ist eher schwach (z.B. da Mutual-Exklusion schwer) RMW-Objekt ziemlich stark, kann viele andere Objekte implementieren

Herlihy’s Modell

Maurice Herlihy hat dies 1991 untersucht / formalisiert aber: Anderes Modell!

Modell: Prozesse k¨ onnen jederzeit abst¨ urzen

Modellierung: Prozess bleibt vor einem Kommando h¨ angen

Beachte: Alle gesehenen Mutual-Exklusion Algorithmen vertragen keine Abst¨ urze!

(2)

Ein Beispiel f¨ ur abst¨ urzende Prozesse

Das Zwei-Gener¨ ale-Problem (auch Coordinated-Attack)

Fakten:

Angriff nur erfolgreich, wenn beide Divisionen zeitgleich angreifen Kommunikation nur ¨ uber Boten

Boten m¨ ussen durch das Feindesland und kommen daher nicht immer an Problem: Wie sprechen sich die Gener¨ ale ab?

TCS |07 Konsensus und die Herlihy-Hierarchie |WS 2020/21 5/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Zwei Gener¨ ale-Problem

Rechter General schickt Boten los: “Angriff um 12:00 mittags”

Rechter General kann nicht sicher sein, dass der Bote ankommt

⇒ wartet auf Best¨ atigung vom linken General

Linker General schickt Boten los: “Nachricht erhalten”

Linker General kann nicht sicher sein, dass der Bote ankommt

⇒ wartet auf Best¨ atigung vom rechten General

Rechter General schickt Boten los: “Nachricht erhalten”

usw.

Tats¨ achlich: Problem ist unl¨ osbar in diesem Modell!

TCS | 07 Konsensus und die Herlihy-Hierarchie| WS 2020/21 6/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Das Konsensusproblem

n Prozesse, die auch abst¨ urzen k¨ onnen

Prozess i erh¨ alt einen Eingabewert x

i

∈ {0, 1}

Programmiere die Prozesse, so dass

alle (nicht-abst¨ urzenden) Prozesse sich f¨ ur einen gemeinsamen Entscheidungswert d ∈ {0, 1}

entscheiden

x

1

. . . x

n

P

1

. . . P

n

d

Ubereinstimmung: Alle nicht-abgest¨ ¨ urzten Prozesse entscheiden sich f¨ ur den gleichen Wert d.

G¨ ultigkeit: d ∈ {x

1

, . . . , x

n

}, d.h. d ist einer der Eingabewerte.

Beachte: ¨ Ubereinstimmung ⇒ Algorithmus ist wait-frei:

Das Konsensusproblem (2)

Bei nicht-abst¨ urzenden Prozessen w¨ are das Problem einfach:

Alle Prozesse teilen sich (¨ uber gemeinsamen Speicher) untereinander alle ihre Eingabewerte mit

anschließend berechnet jeder Prozess d = f (x

1

, . . . , x

n

) = d

wobei f eine feste Funktion ist, die alle Prozesse kennen, z.B. f (x

1

, . . . , x

n

) = x

1

.

(3)

L¨ osung mit dreiwertigem RMW-Objekt

Objekte und Initialisierung:

x: RMW-Objekt mit den m¨ oglichen Werten ⊥, 0, 1, initial ⊥ x

i

: Eingabewert von Prozess i

d

i

: Entscheidungswert, den Prozess i trifft.

Programm des i. Prozesses

(1) d

i

:= read-modify-write(x,f

i

);

(2) if d

i

= ⊥ then d

i

:= x

i

;

Funktion f

i

des i. Prozesses function f

i

(v)

if v=⊥ then return x

i

else return v end function

} erster Prozess setzt sein x

i

als neuen Wert, alle anderen nicht-abst¨ urzenden Prozesse lesen diesen Wert

⇒ alle d

i

-Werte identisch

TCS |07 Konsensus und die Herlihy-Hierarchie |WS 2020/21 9/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

L¨ osung des Konsensusproblem

Mit dreiwertigem RMW-Objekt:

Der Algorithmus ist eine wait-freie L¨ osung f¨ ur beliebig viele Prozesse

Resultat f¨ ur atomare Register mit read und write : Selbst f¨ ur 2 Prozesse und nur einen Absturz nicht l¨ osbar:

Theorem

Es gibt keinen Konsensus-Algorithmus f¨ ur atomares read und write, der einen Absturz tolerieren kann.

Folgerung: Atomare Register k¨ onnen kein RMW-Objekt simulieren

TCS | 07 Konsensus und die Herlihy-Hierarchie| WS 2020/21 10/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Beweisskizze

Statt direkt mit Abst¨ urzen zu argumentieren zeigen wir:

Ein wait-freier Konsensusalgorithmus f¨ ur atomare Register und 2 Prozesse existiert nicht

Algorithmen, die Abst¨ urze tolerieren m¨ ussen wait-frei sein, denn:

nicht wait-frei

= ⇒ Prozess wartet auf Bedingung, die ein anderer Prozess wahr macht

= ⇒ Endlosschleife, wenn anderer Prozess abst¨ urzt

= ⇒ Absturz nicht tolerierbar

Beweisskizze (2)

Wir verwenden Berechnungsb¨ aume, um die Ausf¨ uhrung zweier Prozesse P

1

und P

2

zu betrachten

Berechnungsbaum:

Knoten: Zust¨ ande der Prozesse und des Speichers

Kanten: Wesentliche Schritte, d.h. Lese- oder Schreiboperation auf dem gemeinsamen Speicher (interne Schritte sind zusammengefasst) Kante nach links = Schritt von P

1

Kante nach rechts = Schritt von P

2

. . .

(4)

Beweisskizze (3)

Berechnungsbaum:

. . .

Bl¨ atter sind mit Entscheidungswert ∈ {0, 1} markiert.

Innere Knoten mit den noch m¨ oglichen Entscheidungswerten.

Bivalenter Knoten: Markierung 0 und 1

Univalenter Knoten: Markierung 0 (0-valent) oder Markierung 1 (1-valent) Da Algorithmus wait-frei, ist der Baum endlich!

TCS |07 Konsensus und die Herlihy-Hierarchie |WS 2020/21 13/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Beweisskizze (4)

Aussage:

Jeder 2-Prozess-Konsensusalgorithmus hat einen bivalenten Anfangszustand.

Beweis:

Nehme an P

1

hat Eingabewert x

1

= 0 und P

2

hat Eingabewert x

2

= 1.

Wenn nur P

1

Schritte macht (linkester Pfad im Baum), dann muss P

1

als Entscheidungswwert 0 berechnen

Wenn nur P

2

Schritte macht, dann muss als Entscheidungswert 1 berechnet werden.

TCS | 07 Konsensus und die Herlihy-Hierarchie| WS 2020/21 14/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Beweisskizze (5)

Ein Knoten ist kritisch, wenn er bivalent ist und jeder Nachfolger ist univalent.

Aussage:

Jeder Berechnungsbaum mit bivalenten Anfangszustand zu einem Konsensusalgorithmus hat einen kritischen Knoten.

Beweis:

Angenommen das gilt nicht.

Starte mit einem bivalenten Anfangszustand.

Solange es Schritte gibt, die zu einem bivalenten Zustand f¨ uhren, f¨ uhre diese Schritte aus.

Wenn das unendlich lange m¨ oglich ist, dann ist der Algorithmus nicht wait-frei.

Beweisskizze (6)

Sei nun ein Konsensusalgorithmus f¨ ur 2 Prozesse gegeben.

Gehe zu einem kritischem bivalenten Zustand z

O.b.d.A. linkes Kind ist 0-valent, rechtes Kind ist 1-valent

Untersuche alle F¨ alle.

(5)

Beweisskizze (7)

z 0,1 z

1

0

z

20

z

2

1

1

1

P

1

liest r

1

P

2

macht Schritt e

P

2

macht Schritt e nur P

2

macht Schritte nur P

2

macht

Schritte

TCS |07 Konsensus und die Herlihy-Hierarchie |WS 2020/21 17/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Beweisskizze (8)

z 0,1 z

1

0

z

10

z

2

1

0

0

P

1

macht Schritt e P

2

liest r

1

P

1

macht Schritt e nur P

1

macht

Schritte

nur P

1

macht Schritte

TCS | 07 Konsensus und die Herlihy-Hierarchie| WS 2020/21 18/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Beweisskizze (9)

z 0,1 z

1

0

z

0

0,1?

z

2

1 P

1

schreibt r

1

P

2

schreibt r

2

P

2

schreibt r

2

P

1

schreibt r

1

Beweisskizze (10)

z 0,1 z

1

0

z

02

z

2

1

1

1

P

1

schreibt r P

2

schreibt r

P

2

schreibt r nur P

2

macht

Schritte nur P

2

macht

Schritte

(6)

Die Konsensus-Zahl

Definition

F¨ ur ein nebenl¨ aufiges Objekt vom Typ o ist die Konsensus-Zahl CN (o) die gr¨ oßte Zahl an Prozessen n f¨ ur die man das Konsensus-Problem f¨ ur n Prozesse l¨ osen kann, indem man beliebig viele Objekte vom Typ o und beliebig viele atomare Register (mit read und write) verwendet.

Ist die Anzahl unbeschr¨ ankt, so sei CN (o) = ∞.

TCS |07 Konsensus und die Herlihy-Hierarchie |WS 2020/21 21/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Konsensus-Hierarchie

CN (o) Objekt o

1 atomares Register mit read und write

2 test-and-set-Objekt, fetch-and-increment-Objekt, fetch-and-add- Objekt, swap-Objekt, read-modify-write-Bit

Θ( √

m) swap

m

-Objekt

2m − 2 m-Register mit m-facher Zuweisung (m > 1)

∞ (drei-wertiges) RMW-Objekt, Compare-and-swap-Objekt, Sticky-Bit

TCS | 07 Konsensus und die Herlihy-Hierarchie| WS 2020/21 22/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Eigenschaften der Konsensus-Hierarchie

Theorem

Wenn o

1

und o

2

zwei Objekte sind mit CN (o

1

) < CN (o

2

), dann gilt f¨ ur ein System mit CN (o

2

) Prozessen:

Es gibt keine wait-freie Implementierung von Objekt o

2

ausschließlich mit Objekten vom Typ o

1

und atomaren Registern.

Es gibt eine wait-freie Implementierung von Objekt o

1

ausschließlich mit Objekten vom Typ o

2

und atomaren Registern.

F¨ ur Teil 1: G¨ abe es eine Implementierung von o

2

-Objekten mit o

1

-Objekten, k¨ onnte man damit auch das Konsensusproblem f¨ ur CN (o

2

) Prozesse l¨ osen. Dann gilt CN (o

1

) ≥ CN (o

2

). Widerspruch!

F¨ ur Teil 2: Die Aussage folgt aus dem n¨ achsten Theorem (n¨ achste Folie), welches

Universalit¨ at

Theorem

Ein Objekt o mit CN (o) ≥ n ist universell in einem System mit n Prozessen. D.h. jedes wait-freie Objekt (mit einer sequentiellen Beschreibung) kann durch Objekte vom Typ o und atomaren Registern in einem System mit n Prozessen implementiert werden.

Bemerkungen:

Wir verzichten auf den genauen Beweis (dieser ist in der Literatur zu finden).

Wesentliche Ideen des Beweises:

Jeder Prozess speichert die Zugriffe auf die Objekte und rechnet die Nachfolgezust¨ ande der Objekte solange aus bis sein Zugriff stattfindet.

Ausrechnen ist aufgrund der sequentiellen Beschreibung kein echtes Problem.

Die H¨ urden sind:

(7)

Universalit¨ at (2)

Konsequenzen des Theorems:

Universelle Objekte k¨ onnen viele andere Objekte implementieren (unabh¨ angig vom Konsensus-Problem)

Objekte mit Konsensus-Zahl ≥ n “reichen aus”.

TCS |07 Konsensus und die Herlihy-Hierarchie |WS 2020/21 25/25 Einleitung Zwei Gener¨ale Konsensusproblem Konsensus-Zahl Universalit¨at

Referenzen

ÄHNLICHE DOKUMENTE

Oliver Schn¨ urer, Universit¨at Konstanz Wintersemester 2010/2011 Matthias Makowski.. Ubungen zur Vorlesung Lineare Algebra

Abgabe bis Do, 06.11., 13 Uhr Aufgabe 1 zur Bearbeitung in der ¨ Ubung Aufgaben 2-4 zur selbst¨ andigen Bearbeitung.

Linker General schickt Boten los: “Nachricht erhalten” Linker General kann nicht sicher sein, dass der Bote ankommt.. ⇒ wartet auf Best¨ atigung vom

TCS | 07 Formale Sprachen: ¨ Ubersichten) | SoSe

Nach dem Satz von Heine-Borel ist eine Teilmenge des R d genau dann kompakt, wenn sie beschr¨ ankt und abgeschlossen ist (diese Aussage ist eine Verallgemeine- rung des Satzes 5.42

Fachbereich Mathematik und Statistik Repetitorium 2018, Analysis 2.

• Aus Satz 14.15 folgt, dass ein lokales Extremum nur in den Punkten vorliegen kann, in denen die partiellen Ableitungen existieren und gleich Null sind oder in denen eine

Eingesetzt in die Reihendarstellung liefert