Sequentielle Konsistenz (engl. sequential consistency) ist ein Konsistenzmodell für das Speichersystem von Mehrprozessorsystemen.

Sie ist durch folgende Eigenschaft definiert:

900px|mini|links|Während die Reihenfolge von A1, B1 und C1 (A1 vor B1 vor C1) sowie von A2 und B2 (A2 vor B2) festgelegt ist, ist die Reihenfolge der Befehle zwischen Prozessoren nicht definiert. Daher könnte A1 vor oder nach A2 und B1 vor oder nach B2 ausgeführt werden. alt=Ein Schalter verbindet nacheinander immer genau einen Prozessor mit dem Speicher.|mini|Modell der sequentiellen Konsistenz

Jeder einzelne Prozessor führt also die Befehle in genau der Reihenfolge aus, in der sie im Programm festgelegt sind. Dagegen gibt es keine Aussage zur Reihenfolge der Befehle verschiedener Prozessoren, wie folgendes Beispiel verdeutlicht: Sequentielle Konsistenz führt dazu, dass Speicheroperationen (Lesen, Schreiben) atomar erscheinen.

Damit ein Mehrprozessorsystem sequentielle Konsistenz aufweist, müssen folgende Bedingungen erfüllt sein: Jeder Prozessor führt Speicherzugriffe in der durch das Programm vorgegebenen Reihenfolge aus. Speicherzugriffe von allen Prozessoren auf ein und dieselbe Speicherzelle werden in FIFO-Reihenfolge bedient.

Die Eigenschaft der sequentiellen Konsistenz kann durch einen Schalter modelliert werden, der zu jedem Zeitpunkt einen der Prozessoren mit dem Speicher verbindet. Alle Prozessoren arbeiten ihr jeweiliges Programm sequentiell ab und der Schalter sorgt für die Serialisierung der Speicherzugriffe der Prozessoren.

Einzelnachweise

Kategorie:Rechnerarchitektur Kategorie:Speicherverwaltung