Zurück zur Übersicht

Begriff

Sequential Consistency

Distributed Systems Hardware S4
2 Quellen 0 Lernpfade 1 Backlink enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Schwächer als Linearizability, aber oft gut genug. Es ist egal, wann genau etwas passiert (Echtzeit ist irrelevant). Wichtig ist nur, dass alle Teilnehmer die gleiche Reihenfolge sehen. Beispiel: A postet: "Wer will Eis?" B postet: "Ich!" C liest. Linearizability: C sieht erst A, dann B. Sequential: C könnte erst B, dann A sehen ("Ich!" -> "Wer will Eis?"). Das wäre verwirrend, aber erlaubt, solange D das auch so sieht. Aber meistens meint man: Die Befehle eines Programms werden in der Reihenfolge ausgeführt, wie sie im Code stehen. Erklärt von Leslie Lamport (1979).

Merksatz: Ein Konsistenzmodell, das sicherstellt, dass die Ausführung von Operationen so erscheint, als ob sie in einer bestimmten sequenziellen Reihenfolge stattgefunden hätten, die mit der Programmreihenfolge jedes einzelnen Prozessors übereinstimmt.


Quick-Check

  1. Schneller als Linearizability?
    Ja. Man muss nicht auf die echte Uhr warten. Caches dürfen genutzt werden, solange sie sich synchronisieren.
  2. Reicht das?
    Für Social Media User Feeds ("Timeline") oft ja. Für Bankkonten nein.
  3. ARM?
    ARM-CPUs sind nicht Sequential Consistent. Sie können Befehle wild umordnen (Out-of-Order). Man braucht "Memory Barriers", um SC zu erzwingen.