ScholarGate
Assistent

Timing- und Fehlermodelle

Timing- und Fehlermodelle legen fest, welche Annahmen ein verteiltes Algorithmus über Nachrichtenverzögerungen und Prozessorgeschwindigkeiten treffen darf und wie Komponenten ausfallen dürfen.

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

Definition

Ein Timing-Modell legt die Annahmen über Obergrenzen für die Nachrichtenübertragungszeit und die relative Prozessgeschwindigkeit fest, während ein Fehlermodell die Menge der Arten festlegt, in denen Prozesse und Kanäle von ihrem spezifizierten Verhalten abweichen können.

Scope

Dieses Thema behandelt die synchronen, asynchronen und partiell synchronen Timing-Modelle; die Taxonomie von Fehlern, die von Abstürzen (Fail-Stop) über Auslassungen und Timing-Fehler bis hin zu beliebigen (Byzantinischen) Fehlern reichen; und die Abstraktion von Fehlerdetektoren, die asynchrone Systeme und Timeout-basiertes Denken miteinander verbindet. Diese Modelle sind die Axiome, aus denen sowohl Möglichkeits- als auch Unmöglichkeitsergebnisse abgeleitet werden.

Core questions

  • Welche Grenzen für Verzögerung und Geschwindigkeit darf ein Algorithmus annehmen, und wie hängen Timeouts davon ab?
  • Welche Fehlerklassen – Absturz, Auslassung, Timing, Byzantinisch – muss ein Protokoll maskieren?
  • Wie können asynchrone Systeme mit Fehlerdetektoren erweitert werden, um Unmöglichkeitsergebnisse zu umgehen?

Key theories

Partielle Synchronität
Reale Systeme sind weder vollständig synchron noch vollständig asynchron; das partiell synchrone Modell nimmt Grenzen für Verzögerung und Geschwindigkeit an, die eventuell gelten oder unbekannt sind, was ausreicht, um Konsens zu lösen und dabei realistisch zu bleiben.
Fehlermodell-Hierarchie
Fehler reichen von gutartigen Fail-Stop-Abstürzen über Sende-/Empfangs-Auslassungen und Timing-Verletzungen bis hin zu willkürlichem Byzantinischem Verhalten; die Schwere der Fehler, die ein Protokoll tolerieren muss, bestimmt den erforderlichen Replikationsfaktor und die Nachrichtenkomplexität.
Unzuverlässige Fehlerdetektoren
Ein abstrakter Fehlerdetektor liefert möglicherweise inkorrekte Hinweise darüber, welche Prozesse abgestürzt sind; die Charakterisierung des schwächsten Detektors, der ausreicht, um Konsens zu lösen, versöhnt asynchrone Strenge mit praktischen Timeout-basierten Implementierungen.

Clinical relevance

Produktionssysteme wählen implizit ein Timing- und Fehlermodell, wenn sie Timeouts festlegen, einen Replikationsfaktor wählen oder entscheiden, ob sie sich gegen böswillige Teilnehmer verteidigen; falsche Annahmen sind eine häufige Ursache für Split-Brain- und Datenverlust-Vorfälle.

History

Nachdem sich das asynchrone Modell als zu schwach für fehlertoleranten Konsens erwiesen hatte, führten Dwork, Lynch und Stockmeyer 1988 die partielle Synchronität ein, und Chandra und Toueg formalisierten 1996 unzuverlässige Fehlerdetektoren, die zusammen die Modellierungswerkzeuge bereitstellten, die eine praktische fehlertolerante Einigung ermöglichen.

Debates

Sind Timeouts eine Timing-Annahme oder ein Fehlerdetektor?
Eine Ansicht behandelt Timeouts als Kodierung einer (eventuellen) Synchronitätsgrenze; eine andere behandelt sie als Implementierung eines abstrakten Fehlerdetektors. Die beiden Rahmen sind weitgehend äquivalent, betonen aber unterschiedliche Designgrenzen zwischen dem Netzwerkmodell und dem Algorithmus.

Key figures

  • Cynthia Dwork
  • Nancy Lynch
  • Larry Stockmeyer
  • Tushar Chandra
  • Sam Toueg

Related topics

Seminal works

  • dwork1988
  • chandra1996
  • lynch1996

Frequently asked questions

Warum kann eine zuverlässige Fehlererkennung in einem rein asynchronen System nicht implementiert werden?
Ohne Grenzen für die Nachrichtenverzögerung ist ein beliebig langsamer, aber lebendiger Prozess nicht von einem abgestürzten zu unterscheiden, sodass jeder Detektor manchmal falsch liegen muss. Aus diesem Grund werden asynchrone Systeme mit Timing-Annahmen oder unzuverlässigen Detektoren erweitert.

Methods for this concept

Related concepts