Natural Roll Server-Funktionen

In diesem Kapitel werden die folgenden Themen behandelt:

Siehe auch Betrieb des Natural Roll Server .


Natural Roll Server - Überblick

Mit dem Natural Roll Server kann Natural in einem System mit mehreren Adressräumen wie CICS oder IMS TM ausgeführt werden. Diese Adressräume können sich in mehreren z/OS-Images befinden (z/OS Parallel Sysplex-Umgebung). Natürlich können Sie den Roll Server auch verwenden, wenn Sie ein einzelnes z/OS-System betreiben.

Wenn Natural eine Terminal-Ein-/Ausgabe durchführt, muss es die Kontextdaten der Anwendung (den Thread) speichern: Bevor die Terminal-E/A gestartet wird, wird der Thread an den Roll Server übergeben, der ihn in seinem Local Roll Buffer oder im Roll File (Auslagerungsdatei) speichert. Dieser Vorgang wird als Roll-out (Auslagerung) bezeichnet. Wenn die Terminal-E/A abgeschlossen ist, fordert Natural den Thread vom Roll Server an und setzt die Anwendung fort. Dies wird als Roll-ln (Einlagerung) bezeichnet. In einer z/OS Parallel Sysplex-Umgebung speichert der Roll Server Informationen über die Threads (das Roll File Directory) in einer Datenstruktur in der Coupling Facility. So ist es möglich, dass eine Natural-Anwendung auf verschiedenen z/OS-Systemen zu unterschiedlichen Zeiten ausgeführt wird: Ein Thread kann auf einem System an den Roll Server übergeben und von einem anderen System zurück angefordert werden.

Vor dem Roll-out komprimiert Natural den Thread in einen zusammenhängenden Puffer und dekomprimiert ihn nach dem Roll-in. Je nach der bei Ihnen installierten Natural-Version kann die CPU-Last der Komprimierung und Dekomprimierung vom Hosting-TP-System weggenommen und in entsprechende Routinen innerhalb des Roll Servers verlagert werden. Wenn Sie die Komprimierungs-/Dekomprimierungsfunktion nutzen möchten, müssen Sie das entsprechende Roll Server-Modul installieren, das im entsprechenden Installationsschritt im Abschnitt Natural auf z/OS installieren in der Installation for Natural on z/OS-Dokumentation beschrieben ist. Außerdem muss Natural Batch for zIIP (zusätzliche Produktlizenz erforderlich) für den Natural-Nukleus verfügbar sein (siehe den entsprechenden Installationsschritt im Abschnitt Natural auf z/OS installieren).

Der Roll Server läuft in seinem eigenen Adressraum. Er stellt seine Dienste als PC-Routinen bereit. In einer z/OS-Parallel-Sysplex-Umgebung muss in jedem beteiligten z/OS-Image eine Instanz des Roll Server gestartet werden.

Eine Liste der verwendeten Roll Server Zaps wird im Dataset JESMSGLG der gestarteten Roll Server Task angezeigt.

Sie können auch die Funktion Natural Subsystems and Roll Server Information des Dienstprogramms SYSTP benutzen: > Funktionscode R > Natural Subsystems / Overview > Zeilenkommando Z > Bildschirm Zaps Applied to Roll Server.

Hinweis zu Natural unter CICS: Die CICS System Recovery Table sollte den z/OS-Systemabbruchcode 0D6 enthalten.

Roll-Server in einem einzelnen z/OS-System

Wenn der Roll-Server einen Thread durch eine Schreibanforderung erhält (vor der Terminalausgabe), prüft er, ob im lokalen Roll Buffer (LRB) genügend Platz vorhanden ist. Ist dies der Fall, wird der Thread in den LRB kopiert. Wenn nicht, wird der Thread ins Roll File (RF) geschrieben. Ist der Thread größer als die Slot-Größe des Roll File, werden zusätzliche Überlauf-Slots zugewiesen, um den Thread unterzubringen. Die Zuweisung von Überlauf-Slots ist auf das Roll File beschränkt, dem die Natural Session ursprünglich zugewiesen wurde. Wenn das Roll File nicht über genügend freien Speicherplatz verfügt, um die erforderlichen Überlauf-Slots zuzuweisen, wird ein Fehler generiert und die anfordernde Natural-Sitzung abnormal beendet. Überlauf-Slots werden implizit durch eine nachfolgende Schreibanforderung mit einem kleineren Thread freigegeben.

Wenn der Roll Server eine Leseanforderung für den Thread erhält (nach der Terminaleingabe), versucht er, den Thread im LRB zu finden. Wird der Thread gefunden, wird er aus dem LRB in den Adressraum des Anforderers kopiert. Ist dies nicht der Fall, wird der Thread aus dem Roll File gelesen und in den Adressraum des Anforderers kopiert.

Um sicherzustellen, dass das System gut funktioniert und immer genügend Platz im LRB vorhanden ist, gibt es Zuordnungsmarken ("Water Marks"). Wenn die höchste Zuordnungsmarke ("High Water Mark") des LRB erreicht ist, wird die Einstufungs-Task ("Staging Task") aktiviert. Sie kopiert den LRB-Inhalt in das Roll File, bis die niedrigste Zuordnungsmarke ("Low Water Mark") erreicht ist. Wo die höchste und die niedrigste Zuordnungsmarke platziert werden, ist daher eine wichtige Frage hinsichtlich der Leistungsoptimierung. Weitere Informationen zur Leistungsoptimierung finden Sie im Abschnitt Roll Server-Leistung optimieren. Für einen Roll Server, der in einem einzelnen z/OS-System läuft, liegt die höchste Zuordnungsmarke standardmäßig bei 80 Prozent und die niedrigste Zuordnungsmarke bei 70 Prozent.

Roll Server in einem einzelnen z/OS-System:

Roll Server in einer OS-Parallel-Sysplex-Umgebung

In einer z/OS-Parallel-Sysplex-Umgebung kommunizieren die Roll Server in den beteiligten z/OS-Images über die XCF-Signaling Services der Coupling Facility (CF), und das Roll File Directory befindet sich in einer XES-Datenstruktur.

Wenn der Roll-Server einen Thread über eine Schreibanforderung erhält (vor der Terminalausgabe), prüft er, ob im lokalen Roll Buffer (LRB) genügend Platz vorhanden ist. Wenn genügend Platz vorhanden ist, wird der Thread in den LRB kopiert. Reicht der Platz im LRB nicht aus, wird der Thread direkt in das Roll File geschrieben. Das Verzeichnis des Roll Files in der CF-Struktur wird entsprechend aktualisiert. Der Überlauf von Threads wird wie unter Roll-Server in einem einzelnen z/OS-System beschrieben behandelt.

Sie können auch höchste und niedrigste Zuordnungsmarken (High und Low Water Marks) in einer parallelen Sysplex-Umgebung setzen. Diese Option ist in älteren Natural-Versionen nicht verfügbar. Der Einstufungs-Task ("Staging Task") schreibt Threads nur dann auf die Platte, wenn die höchste Zuordnungsmarken im LRB erreicht ist, bis die niedrigste Zuordnungsmarke erreicht ist. Wenn ein Thread von einem anderen z/OS-Image angefordert wird und noch nicht auf die Platte geschrieben wurde, sendet der Roll Server auf dem anderen z/OS-Image eine Einstufungsanforderungsmeldung (Stage-Request Message) für diesen bestimmten Thread. Der angeforderte Thread wird dann unabhängig von der höchsten und der niedrigsten Zuordnungsmarke auf die Platte geschrieben.

Anmerkung
Wenn Sie eine höchste Zuordnungsmarke von Null angeben, verhält sich der Roll Server identisch zu früheren Versionen von Natural, da alle Threads sofort für die Einstufung auf der Platte eingeplant werden. Bei einem Roll Server, der in einer parallelen Sysplex-Umgebung läuft, sind sowohl die höchste als auch die niedrigste Wassermarke standardmäßig Null.

Wenn der Roll Server eine Leseanforderung für einen Thread erhält (nach einer Terminaleingabe) und die letzte Schreibanforderung im selben z/OS-Image ausgegeben wurde, kopiert der Roll Server den Thread direkt vom LRB in den Adressraum des Anforderers. Wenn die letzte Schreibanforderung nicht aus demselben z/OS-Image stammt, wird der Thread aus dem Roll File gelesen und dann in den Adressraum des Anforderers kopiert. Befindet sich der Thread noch nicht im Roll File, erhält der Roll Server auf dem anderen z/OS-Image eine Stage Request-Meldung. Wenn sich der Thread im Roll File befindet, wird er von dort gelesen und anschließend in den Adressraum des Anforderers kopiert.

Roll Servers in einer z/OS Parallel Sysplex Umgebung:

Roll File und LRB

Das Roll File ist eine BDAM-Datei, die logisch in ein Verzeichnis und in Slots mit fester Länge unterteilt ist. Die Slot-Größe ist ein Parameter der Roll File-Formatierungsroutine NATRSRFI. Es sollten mindestens so viele Slots vorhanden sein, wie es aktive Natural-Sitzungen gibt. Die Slot-Größe sollte so groß sein, dass ein durchschnittlicher komprimierter Natural Thread darin Platz findet. Threads, die größer als die Slot-Größe sind, belegen mehrere Slots.

Die Verteilung der Natural-Thread-Größen können Sie in der Funktion Natural Subsystems and Roll Server Information des Dienstprogramms SYSTP überprüfen:

> Funktionscode R, Bildschirm Roll Server for Sub-System / Overview > Zeilenkommando R > im Bildschirm Roll Server for Sub-System ... General Information blättern mit PF8 bis zur Seite Roll Server for Sub-System ... Peak Loads and Thread Sizes.

Das Verzeichnis der Roll-Datei (Roll File Directory) enthält einen Eintrag für jede aktive Natural-Sitzung, zusammen mit einem Zeitstempel der letzten Schreibanforderung. In einem einzelnen z/OS-System befindet sich das Verzeichnis im Adressraum des Roll Server. In einer z/OS-Parallel-Sysplex-Umgebung befindet es sich in der Coupling Facility. Das Verzeichnis wird nur dann in das Roll File zurückgeschrieben, wenn der Roll Server beendet wird.

Der lokale Roll Buffer (LRB) fungiert als Cache für das Roll File. Der Roll Buffer ist in einem z/OS-Speicherobjekt enthalten und in Slots mit fester Länge unterteilt. Die Slot-Größe des LRB ist identisch mit der Slot-Größe des entsprechenden Roll File. Wenn der Roll Server ohne Roll File laufen soll, muss die LRB-Slot-Größe als Parameter in dem JCL EXEC-Statement angegeben werden. Siehe hierzu Betrieb des Natural Roll Server, Natural Roll Server starten.

Der Roll Server kann mit bis zu fünf verschiedenen Roll Files betrieben werden. Jedes dieser Roll Files ist logisch mit einem lokalen Roll Buffer verbunden. Wenn es fünf Roll Files gibt, gibt es auch fünf entsprechende LRBs. Der Zugriff auf jedes Roll File erfolgt über eigene Lese-, Schreib- und Einstufungs-Tasks (Read, Write, Staging Tasks). Wenn die Roll Files auf verschiedenen Platten in unterschiedlichen Kanälen angelegt werden, kann also gleichzeitig auf die Roll Files zugegriffen werden.

Natural-Benutzer werden dem Roll File zugeordnet, das die meisten freien Slots hat. Um Ihre eigene Zuordnungsmethode zu implementieren, können Sie den User Exit NATRSU14 verwenden. Weitere Informationen zu diesem User Exit finden Sie im entsprechenden Abschnitt im Kapitel Betrieb des Natural Roll Server.

Wie Ihre Benutzerkennungen in den Roll Files verteilt sind, können Sie mit der Statistikfunktion Natural Sub-Systems and Roll Server Information (Funktionscode R) des Dienstprogramms SYSTP sehen:

> Funktionscode R > Bildschirm Roll Server for Sub-System / Overview > Zeilenkommando R > im Bildschirm Roll Server for Sub-System ... General Information blättern mit PF8 bis zur Seite Roll Server for Sub-System ... Statistical Information.