14 Synchronisation in Shared-Disk-DBS
Nachdem ein Rechner die GLA für ein Objekt erhalten hat, behält er die GLM-Funktion i.a. mindestens solange, bis die von ihm vergebenen Sperren wieder freigegeben sind. Dies garantiert, daß die Sperrfreigabe (bzw. Sperrkonversion) vom gleichen Rechner vorgenommen wird wie die Sperrvergabe, so daß eine erneute GLM-Lokalisierung entfällt. Nach Freigabe der letzten Transaktionssperre kann die GLA für das Objekt auch aufgegeben werden, so daß bei späterer Referenz ein neuer GLM-Rechner bestimmt wird. Alternativ dazu kann die GLA beibehalten werden, um nachfolgende Referenzen am gleichen Rechner ohne Verzögerungen bearbeiten zu können. Sollte der spätere Zugriff auf das Objekt von einem anderen Rechner aus erfolgen, kann eine GLA-Migration an diesen Rechner vorgesehen werden, um dort eine lokale Verarbeitung zu ermöglichen. Generell wird es durch die Dynamik der GLA-Zuordnungen schwieriger als bei fester GLA-Zuordnung, durch die Lastverteilung ein hohes Maß an lokaler Sperrverarbeitung zu ermöglichen.
Zur GLM-Lokalisierung könnte - ähnlich wie bei fester GLA-Zuordnung - die Verteilungsinformation repliziert an jedem Knoten geführt werden. Damit muß jedoch jede Änderung in der GLA-Zuordnung im ganzen System propagiert werden, was einen enormen Aufwand verursachen kann. Günstiger erscheint daher, die GLA-Zuordnung in einem nicht replizierten Directory zu verwalten. Das Directory kann dabei zentral an einem Knoten oder partitioniert an mehreren Rechnern vorliegen. Im letzteren Fall kann etwa wieder über eine Hash-Funktion festgelegt werden, welcher Rechner für ein Objekt die GLA-Zuordnung führt. Diese Indirektion führt jedoch zu bis zu 4 Nachrichten für eine Sperranforderung. Denn zunächst ist der zuständige Directory-Knoten zu konsultieren, um den GLM-Rechner zu ermitteln (2 Nachrichten), bevor die eigentliche Sperre angefordert werden kann[60]. Die Anpassung der Directory-Information bei Aufgabe oder Migration der GLA erfordert i.a. ebenfalls zusätzliche Nachrichten.
Die Kosten der GLM-Lokalisierung sind jedoch auch stark davon abhängig, für welche Objektgranularitäten die GLA-Zuordnung erfolgt. Insbesondere kann im Rahmen eines hierarchischen Sperrprotokolls die GLA-Vergabe auf grobe Granulate wie Satztypen beschränkt werden. Damit können in dem Rechner, der die GLA für einen Satztyp (Relation) bekommen hat, sämtliche zugehörigen Seiten und Sätze lokal synchronisiert werden. An anderen Rechnern wird eine GLM-Lokalisierung zudem nur für Satztypen erforderlich; für die untergeordneten Objekte ist damit der zuständige GLM-Rechner bereits ermittelt. Allerdings kann die Verwendung grober GLA-Granulate leicht zu einer ungleichmäßigen Unterstützung der lokalen Sperrvergabe sowie ungleicher Verteilung des Sperraufwandes an den einzelnen Rechnern führen.
Beispiel 14-5