Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Multi-Thread-Betrieb

Das Datenbanksystem SESAM/SQL läuft innerhalb von BS2000 als nicht-privilegiertes Programm ab. Wie bei jeder anderen Anwendertask auch, wird die Verarbeitung des SESAM/SQL-DBH bei verschiedenen Ereignissen unterbrochen, etwa bei Ablauf der Zeitscheibe oder bei Ein-/Ausgabe-Vorgängen mit WAIT.

Asynchrone Ein-/Ausgabe

Die Datenbank-Bearbeitung ist in der Regel sehr ein-/ausgabeintensiv. Damit die Arbeit des DBH nicht zu häufig unterbrochen wird, behandelt SESAM/SQL alle Ein-/Ausgabe-Vorgänge in einer Weise, dass der DBH in den entstehenden Wartezeiten andere Tätigkeiten durchführen kann.

Asynchrone Ein-/Ausgabe, also die Zerlegung von Ein-/Ausgabe-Vorgängen, ist besonders für den Multi-Thread-Betrieb sinnvoll: im Multi-Thread-Betrieb kann der DBH mehrere Aufträge parallel verarbeiten, so dass jeweils ein Auftrag die Zeit nutzen kann, in der ein anderer Auftrag auf den Abschluss eines Ein-/Ausgabe-Vorgangs wartet.

Informationen über den gegenwärtigen Verarbeitungszustand eines Auftrags sind jeweils in speziellen Sicherstellungsbereichen, den Thread-Bereichen, hinterlegt. Mit Hilfe dieser Informationen kann der DBH einen unterbrochenen und wartenden Auftrag nach Durchführung des entsprechenden Ein-/Ausgabe-Vorgangs weiterverarbeiten.

Behandeln von Wartesituationen

Wird ein Auftrag wegen Anstoß eines Ein-/Ausgabe-Vorgangs unterbrochen, so sind die zugehörigen Datenbestände im Allgemeinen logisch und physikalisch inkonsistent. Durch geeignete Sperren verhindert der DBH einen Zugriff paralleler Aufträge auf diese Datenbestände..
Die Bearbeitung eines Auftrags wird unterbrochen, wenn es zu einem Konflikt bei einer solchen Sperre oder einer Transaktionssperre kommt.
Ebenso wird die Bearbeitung eines Auftrags im DBH unterbrochen, wenn gerade eine Service-Task für diesen Auftrag arbeitet.
Die Unterbrechung eines Auftrags im DBH bedeutet, dass der zugehörige Thread wartet, bis seine benötigten Betriebsmittel verfügbar sind.

Multi-Thread-Betrieb steuern

Über die DBH-Option THREADS kann der Systemverwalter beim Starten des independent DBH den Multi-Thread-Betrieb aktivieren.

Der independent DBH kann bis zu 1024 Threads verwalten. Dabei nutzt er die Threads lastabhängig, d.h. nicht alle Threads sind ständig belegt, was sich positiv auf den Verwaltungsaufwand auswirkt.

Beim linked-in DBH wird stets nur ein Thread generiert.

Über die DBH-Option THREADS legt der Systemverwalter auch die maximale Anzahl parallel aktiver Threads fest.

Der Wert der DBH-Option THREADS wird intern mit der Option DBH-TASKS verglichen. Er muss beim independent DBH größer/gleich 2 * der Anzahl der Tasks sein.Beim linked-in DBH ist die DBH-Option THREADS auf den Wert 1 gesetzt.