Next: 3.3 Grundlegende globale Operationen
Up: 3.2 Synchronisation paralleler Prozesse
Previous: 3.2.2.3 Monitorkonzept
3.2.3 Datenkohärenz
Datenkohärenz :
Kopien eines Datensatzes enthalten stets die gleichen Daten.
- Bei distributed-memory Maschinen ist der Programmierer selbst für
die Datenkohärenz verantwortlich,
siehe Abschnitte 4 und 5.
- Bei den klassischen (alten) shared-memory Maschinen mit einem großen
Speicher wurde die Datenkohärenz mittels des Semaphorenkonzepts
aus Abschnitt 3.2.2 gewährleistet.
- Mittlerweile haben shared-memory Computer zumindest einen lokalen Cache,
wenn nicht sogar gleich ein distributed-shared-memory (2.1.4)
Konzept zugrunde liegt.
Hier kommt der Cache Kohärenz eine große Bedeutung zu.
Zur Absicherung dieser Kohärenz werden verschiedene Protokolle
genutzt.
snoopy-based protocol: Jeder Prozessor verbreitet seinen
Zugriff auf Speicherbereiche im gesamten Netzwerk. Dies führt zu
Problemen mit der Kommunikationsbandweite.
directory-based protocol: Jeder Speicherblock
(cache-line) besitzt einen Eintrag in einem Verzeichnis
(KSR: Meer von Adressen) welcher den Zustand des Blockes
und einen Bitvektor mit den Prozessoren, welche Kopien besitzen,
speichert. Durch Auswertung dieser Einträge kann jederzeit bestimmt
werden, welcher Cache wo aktualisiert werden muß [SGI97].
Gundolf Haase
1998-12-22