ScholarGate
Assistent

Konsens und Koordination

Konsens und Koordination befassen sich damit, wie unabhängige Prozesse, die nur über Nachrichten kommunizieren, sich trotz Verzögerungen und Ausfällen auf einen gemeinsamen Wert oder eine gemeinsame Aktion einigen können.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Konsens ist das Problem, bei dem eine Menge von Prozessen, von denen jeder einen Wert vorschlägt, sich alle auf einen einzigen gemeinsamen Wert einigen, sodass die Entscheidung gültig ist, alle korrekten Prozesse übereinstimmen und jeder korrekte Prozess schließlich eine Entscheidung trifft, selbst wenn einige Prozesse ausfallen.

Scope

Dieser Bereich umfasst das Konsensproblem und seine Varianten (Einigung, atomarer Broadcast, Gültigkeit, Terminierung), das grundlegende FLP-Unmöglichkeitsergebnis für deterministischen asynchronen Konsens, praktische Konsensprotokolle wie Paxos und Raft, byzantinisch fehlertolerante Einigung sowie die klassischen Koordinationsprobleme der gegenseitigen Ausschließung und der Leader-Wahl. Es bildet den theoretischen und praktischen Kern des fehlertoleranten verteilten Rechnens.

Sub-topics

Core questions

  • Unter welchen Zeit- und Fehlermodellen ist Konsens lösbar, und wann ist er nachweislich unmöglich?
  • Wie umgehen praktische Protokolle die FLP-Unmöglichkeit, während sie die Sicherheit bewahren?
  • Wie viel Replikation ist erforderlich, um Absturz- im Vergleich zu byzantinischen Fehlern zu tolerieren?
  • Wie können Prozesse den Zugriff auf gemeinsame Ressourcen koordinieren oder einen Leader zuverlässig wählen?

Key theories

FLP-Unmöglichkeit
In einem vollständig asynchronen System kann kein deterministisches Protokoll Konsens garantieren, wenn auch nur ein einziger Prozess abstürzen kann, da ein langsamer Prozess nicht von einem ausgefallenen unterschieden werden kann; dieses Ergebnis motiviert partielle Synchronität, Randomisierung und Fehlerdetektoren.
Quorum-basierter Konsens
Protokolle wie Paxos erzielen Einigung, indem sie überlappende Mehrheiten (Quoren) fordern, um Vorschläge zu akzeptieren, wodurch sichergestellt wird, dass sich zwei beliebige Entscheidungen an einem korrekten Prozess überschneiden und somit über Runden und Leader-Wechsel hinweg konsistent bleiben.
Grenzen der byzantinischen Einigung
Um eine Einigung zu erzielen, wenn bis zu f Prozesse sich beliebig verhalten können, sind im klassischen synchronen Setting mindestens 3f+1 Prozesse erforderlich, eine enge Grenze, die das Design aller byzantinisch fehlertoleranten Systeme prägt.

Clinical relevance

Konsens ist das Rückgrat zuverlässiger Infrastrukturen: Koordinationsdienste, replizierte Datenbanken, verteilte Sperren und Blockchains verwenden alle ein Konsensprotokoll, um Replikate konsistent zu halten. Dies macht diesen Bereich direkt verantwortlich für die Dauerhaftigkeits- und Verfügbarkeitsgarantien moderner Cloud-Systeme.

History

Das Papier über die byzantinischen Generäle von 1982 und das FLP-Unmöglichkeitsergebnis von 1985 umrissen die Grenzen der Einigung; Lamports Paxos (1989 zirkuliert, 1998 veröffentlicht) lieferte ein praktisches asynchron-sicheres Protokoll, und spätere Arbeiten zur byzantinischen Fehlertoleranz und Raft machten Konsens sowohl robust gegenüber bösartigen Fehlern als auch für Implementierer zugänglich.

Debates

Macht die FLP-Unmöglichkeit Konsens in der Praxis unerreichbar?
FLP schließt ein deterministisches Protokoll aus, das in einem vollständig asynchronen Modell immer sowohl sicher als auch lebendig ist, aber praktische Systeme umgehen dies, indem sie eventuelle Synchronität annehmen oder Randomisierung verwenden, wodurch die Sicherheit bedingungslos bleibt und die Lebendigkeit erreicht wird, wann immer sich das Netzwerk verhält.

Key figures

  • Leslie Lamport
  • Nancy Lynch
  • Michael Fischer
  • Michael Paterson
  • Barbara Liskov

Related topics

Seminal works

  • fischer1985
  • lamport1998
  • lamport1982byz

Frequently asked questions

Warum gilt Konsens als das schwierigste Problem in verteilten Systemen?
Weil viele andere Koordinationsaufgaben – atomarer Broadcast, replizierte Zustandsmaschinen, verteilte Sperren – auf Konsens reduziert werden können, und Konsens selbst im asynchronen Absturz-Fehlermodell nachweislich nicht deterministisch lösbar ist, sodass jede Lösung sorgfältige Annahmen bezüglich des Timings oder der Zufälligkeit treffen muss.
Wie hängt Konsens mit replizierten Datenbanken zusammen?
Eine replizierte Datenbank hält ihre Replikate konsistent, indem sie sich auf die Reihenfolge der Operationen einigt, was genau eine Abfolge von Konsensentscheidungen ist; deshalb betten Systeme wie verteilte Schlüssel-Wert-Speicher ein Konsensprotokoll in ihren Kern ein.

Methods for this concept

Related concepts