13.4 Nah gekoppelte Shared-Disk-Systeme
Allerdings ergeben sich mit einem solchen Ansatz weitgehend die gleichen Probleme wie mit dem gemeinsamen Hauptspeicher in eng gekoppelten Systemen (Kap. 3.1). Insbesondere besteht eine unzureichende Fehlerisolierung sowie die Gefahr von Engpässen, so daß der Ansatz als problematisch einzustufen ist.
Die seitenorientierte Zugriffsschnittstelle begrenzt jedoch auch die Nutzungsmöglichkeiten. Denn im wesentlichen wird nur eine Verbesserung des E/A-Verhaltens möglich, ähnlich wie es solche Speicher bereits in zentralisierten Systemen zulassen (Allokation ganzer Dateien, zusätzliche Pufferung von Seiten) [Ra92a]. Außerdem können diese Effekte auch ohne nahe Kopplung durch Nutzung von Platten-Caches und Solid-State-Disks (SSD) erreicht werden, auf die alle Rechner Zugriff haben. So können SSDs zur permanenten Allokation von Dateien genutzt werden, während Platten-Caches die Realisierung eines globalen Dateipuffers ermöglichen. Über die Platten-Caches können geänderte Seiten auch wesentlich schneller zwischen den Rechnern als über Magnetplatte ausgetauscht werden. Eine nahe Kopplung liegt dabei nicht vor, da die Zugriffszeiten auf diese Speicher im Bereich von 1-5 ms pro Seite liegen, so daß kein synchroner Zugriff möglich ist.
Synchrone Seitenzugriffe werden jedoch von sogenannten erweiterten Hauptspeichern unterstützt, die Zugriffszeiten von 10-50 Mikrosekunden pro Seite bieten [Ra93a]. Die Seitentransfers zwischen Hauptspeicher und erweiterten Hauptspeichern erfolgen durch eigene Maschinenbefehle. Die Verwaltung des erweiterten Hauptspeicher geschieht wie für den Hauptspeicher in erster Linie durch Betriebssystem-Software der Verarbeitungsrechner, also nicht durch eigene Controller, wie es für SSD und Platten-Cache der Fall ist. Bei nicht-flüchtiger Auslegung dieser Speicher und Kopplung mit allen Verarbeitungsrechnern können alle Einsatzformen von SSDs und Platten-Caches auch realisiert werden, jedoch mit verbessertem Leistungsverhalten. Weitergehende Nutzungsformen verlangen jedoch eine erweiterte Zugriffsschnittstelle. Wir werden in Kap. 13.4.3 eine Realisierungsmöglichkeit dafür betrachten; ein ähnlicher Ansatz wird im neuen IBM Parallel Sysplex verfolgt (Kap. 19.1.2).
In [DIRY89, DDY91] wurde die Verwendung eines gemeinsamen, seitenadressierbaren Halbleiterspeichers für Shared-Disk-Systeme untersucht; die Architektur wurde als Shared Intermediate Memory (SIM) bezeichnet. Der Zwischenspeicher diente lediglich zur globalen Pufferung von DB-Seiten. In [DDY91] stand die Untersuchung verschiedener Pufferstrategien im Mittelpunkt, wobei vor allem die Aufnahme geänderter Seiten im Zwischenspeicher als empfehlenswert angesehen wird. In [YD94] wurde ein Leistungsvergleich zwischen SIM, lose gekoppelten SD-Systemen und SN vorgenommen, wobei der nah gekoppelte SD-Ansatz eindeutig am besten abschnitt. Gegenüber lose gekoppelten SD-Systemen war hierfür das bessere E/A-Verhalten sowie der schnelle Austausch geänderter Seiten ausschlaggebend. Gegenüber SN schlug die stärkere Unempfindlichkeit gegenüber ungünstiger Partitionierbarkeit der Last bzw. Daten sowie gegenüber Lastschwankungen positiv zu Buche.
Für Shared-Disk kommen Spezialprozessoren vor allem zur Realisierung eines globalen Sperrverfahrens in Betracht ("lock engine"). Hier werden an der Schnittstelle Funktionen zum Setzen und Freigeben einer Sperre (Lock, Unlock) angeboten, die durch den Spezialprozessor mit einer globalen Sperrtabelle bearbeitet werden. Durch die Verwendung solcher Operationen wird auch eine hohe Isolierung zwischen den Rechnern gewahrt, da sie die Speicherinhalte (Sperrtabelle) nicht direkt modifizieren können.
Eine hardware-gestützten Synchronisation für Shared-Disk-Systeme wird bereits seit langem durch die sogenannte "Limited Lock Facility" unterstützt, welche eine Mikrocode-Option für IBM-Platten-Controller ist [BDS79]. Sperranforderungen und -freigaben erfolgen über spezielle Kanalbefehle und können häufig mit E/A-Operationen kombiniert werden; die Gewährung einer Sperre wird über einen Interrupt mitgeteilt. Dieser Ansatz wird im Spezial-Betriebssystem TPF genutzt, das in vielen großen Reservierungssystemen eingesetzt wird [Sc87]. Der Overhead zur Synchronisation ist durch die Verwendung der E/A-Schnittstelle immer noch relativ hoch (keine synchronen Aufrufe). Zudem weist der Ansatz nur eine geringe Funktionalität auf (nur exklusive Sperren auf Rechnerebene), so daß ein Großteil des Sperrprotokolls zusätzlich durch Software in den Verarbeitungsrechnern zu realisieren ist. Überlegungen zur Realisierung leistungsfähigerer Lock-Engines finden sich in [Ro85]. In [Se84] wird die Realisierung einer fehlertoleranten Lock-Engine, welche aus mehreren Prozessoren besteht, betrachtet.
Spezialprozessoren verursachen hohe Entwicklungskosten für sehr spezielle Aufgaben, die nur wenigen Anwendungen zugute kommen. Weiterhin können nur relativ einfache Synchronisationsprotokolle hardwaremäßig realisiert werden, so daß nicht immer eine ausreichend hohe Funktionalität gewahrt wird. Dennoch sind die Operationen umfangreicher als einfache Lese- und Schreibzugriffe auf Halbleiterspeicher, so daß sich erhöhte Bearbeitungszeiten sowie eine stärkere Engpaßgefahr ergeben.