13.4 Nah gekoppelte Shared-Disk-Systeme

13.4.1 Einsatzformen der nahen Kopplung

Die allgemeinste Einsatzform eines gemeinsamen Speichers liegt darin, die Kommunikation über ihn abzuwickeln. In diesem Fall, werden die "Nachrichten" vom Sender in den gemeinsamen Speicher geschrieben; das "Empfangen" der Nachricht erfolgt durch Lesen von diesem Speicher. Der Lesezugriff erfolgt entweder periodisch oder aufgrund einer speziellen Signalisierung seitens des ersten Rechners. Eine solche speicherbasierte Kommunikation kann bei entsprechend schnellen Zugriffszeiten (z.B. wenigen Mikrosekunden) vor allem bei sehr großen Datentransfers wesentlich effizienter als ein allgemeines Kommunikationsprotokoll sein. Die Realisierung sollte durch das Betriebssystem erfolgen, so daß der Ansatz nicht nur der DB-Verarbeitung zugute kommt. Weiterhin bleibt dann dem DBS die nahe Kopplung vollkommen verborgen; d.h. nachrichtenbasierte Protokolle für Synchronisation, Kohärenzkontrolle etc. können weiterhin eingesetzt werden.

Eine andere allgemeine Einsatzmöglichkeit ist die Nutzung seitenadressierbarer Halbleiterspeicher zur Verbesserung des E/A-Verhaltens. Besonders interessant sind hierfür nicht-flüchtige Halbleiterspeicher, da mit ihnen sowohl Lese- als auch Schreibzugriffe auf die Platten eingespart werden können. Insbesondere können solche Halbleiterspeicher zur permanenten Allokation ganzer Dateien verwendet werden, um für sie sämtliche Plattenzugriffe zu umgehen. Aufgrund der hohen Speicherkosten ist dies nur für leistungskritische Dateien kosteneffektiv, z.B. Log-Dateien oder häufig geänderte DB-Dateien. Die Alternative besteht in der Pufferung von DB-Seiten im Rahmen eines globalen Dateipuffers bzw. DB-Puffers. Von einem globalen DB-Puffer sprechen wir, wenn die Verwaltung in Abstimmung mit dem DBS erfolgt; ein Dateipuffer liegt vor bei Verwaltung durch das Betriebssystem bzw. den Speicher-Controller. Für Seiten, die in einem solchen Puffer vorliegen, kann der Lesezugriff auf Platte eingespart werden. Ferner können bei Nicht-Flüchtigkeit Schreibzugriffe zunächst nur in den Puffer erfolgen, von wo aus die Seitenkopien auf Platte asynchron aktualisiert werden. In Shared-Disk-Systemen kann der globale Puffer auch zum schnellen Austausch geänderter Seiten genutzt werden. Die Nutzung eines Dateipuffers ist aufgrund der fehlenden Abstimmung mit der Hauptspeicherpufferung des DBS i.a. weniger effektiv als ein globaler DB-Puffer [Ra93a].

Die nahe Kopplung kann für eine Reihe weiterer, Shared-Disk-spezifischer Nutzungsformen eingesetzt werden, wobei eine Unterstützung durch die DBVS-Realisierung erforderlich ist. So können in einem gemeinsamen Halbleiterspeicher globale Datenstrukturen für folgende Aufgaben genutzt werden: