Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ADM-PFA-Caching

Beim ADM-PFA-Caching steuert die Systembetreuung die Einrichtung von Cache-Bereichen und die Zuordnung von ausgewählten Datenbereichen (ein Cache-Bereich ist stets ein Teilbereich eines gesamten Cache-Speichers, der eine eigene Verwaltungseinheit darstellt). Mit /START-DAB-CACHING kann die Systembetreuung voneinander unabhängige Cache-Bereiche einrichten und damit ausgewählte Daten verschiedener Anwendungen gegeneinander abschotten. Auch für ganze Volumes kann ein Cache-Bereich eingerichtet werden. Eine ausführliche Beschreibung ist im Handbuch "DAB" [5] zu finden.

Mit dem Begriff AutoDAB wird eine Variante des DAB-Cachings bezeichnet, bei der zum einen durch automatische und intelligente Verfahren die Systemverwaltung bei der Administrierung des Cachings entscheidend entlastet wird, und zum anderen dadurch auch die Effektivität des DAB-Cachings nochmals gesteigert werden kann.
Ein DAB-Cache-Bereich kann entweder als "automatischer" oder "nicht-automatischer" Cache-Bereich eingerichtet werden.

Für die Nutzung des Cache-Bereichs kann eine der drei folgenden Möglichkeiten eingestellt werden:

  1. Der berechtigte Anwender spezifiziert, welche Dateien mit welchem Cache-Modus den eingerichteten Cache-Bereich nutzen sollen.
  2. Der Systemverwalter legt fest, dass alle Anwender-Dateien eines Pubsets den Cache-Bereich nutzen.

  3. Der Systemverwalter richtet einen automatischen Cache-Bereich ein, bei dem die optimale Auswahl der zu unterstützenden Dateien automatisch erfolgt. Diese Auswahl wird permanent überwacht und ggf. korrigiert. Mit AutoDAB können auch ganze Pubsets durch einen Cache-Bereich abgedeckt werden.

DAB verwaltet jeden Cache-Bereich in Form von so genannten Cache-Segmenten. Die Standardgröße eines Cache-Segmentes beträgt bei automatischen Cache-Bereichen 32 KB. Sie kann auch bei nicht automatischen Cache-Bereichen von der Systembetreuung mit 4, 8, 16 oder 32 KB festgelegt werden (das automatische Caching muss während der Änderung gestoppt werden).

Beim ersten Lesezugriff auf einen mit DAB unterstützten Bereich (Datei) werden von DAB mit Seitenkettung benachbarte Datenblöcke, deren Anzahl von der eingestellten Cache-Segmentgröße abhängt, vom Storage-System gelesen.

Räumliche Lokalität

Bei Lesezugriffen mit guter räumlicher Lokalität (vor allem bei sequenziellen Zugriffen) ermöglichen große Segmente (= 32 KB) einen so hohen Durchsatz von Ein-/Ausgabe-Aufträgen, dass in diesem Fall eine große Anzahl von Read-Hits auftritt und sich gleichzeitig die Zugriffe auf das Storage-System auf ein Minimum reduzieren.
Bei Lesezugriffen mit geringerer räumlicher Lokalität (Random-Zugriff, im Datenbank-Betrieb die zumeist benutzte Zugriffsart) empfiehlt es sich, kleine Segmente (= 4 KB) zu wählen.
AutoDAB erkennt gute Lokalität und führt bei guter Lokalität automatisch einen Prefetch durch (auch wenn ein kleineres Cache-Segment eingestellt wurde).

Zeitliche Lokalität

Die in den Cache eingelesenen Blöcke bleiben im Cache stehen, bis DAB beendet oder dieser Speicherbereich für ein anderes Cache-Segment benutzt wird.
Verdrängungen werden nach dem LRU-Prinzip (Least Recently Used) verwaltet, wodurch bei guter zeitlicher Lokalität der Zugriffe schon mit einem relativ kleinen Cache-Bereich eine hohe Read-Hit-Rate ereicht werden kann.
Für performance-kritische Anwendungen, deren Lesezugriffe eine schlechte zeitliche Lokalität aufweisen, bietet DAB die Möglichkeit der residenten Zwischenpufferung.

Schreibaufträge werden bei einem Read-Write-Cache (bzw. Write-Cache) in jedem Fall direkt in den Cache eingetragen, unabhängig davon, ob der Datenblock bereits im Cache ist oder nicht. Für die Anwendung ist der Ausgabevorgang beendet, sobald die Daten in den Cache geschrieben sind. Die Daten werden von DAB zu einem späteren Zeitpunkt auf das Storage-System gesichert.

Es ist zu beachten, dass DAB die Systempuffer im Hauptspeicher resident anlegt, d.h. der Hauptspeicher muss entsprechend dimensioniert sein.

Mit den folgenden Kommandos steuert die Systembetreuung den Einsatz von ADM-PFA-Caching mit DAB:

Kommando

Funktion

START-DAB-CACHING

Cache-Bereiche attributieren und einrichten

SHOW-DAB-CACHING

Informationen über die aktuelle DAB-Konfiguration und Zugriffszähler (Hit-Raten) ausgeben

STOP-DAB-CACHING

Cache-Bereiche auf Platte sichern und auflösen

MODIFY-DAB-CACHING

Parameter eines DAB-Cache-Bereichs dynamisch ändern

FORCE-STOP-DAB-CACHING

Auflösung eines DAB-Cache-Bereichs ohne Sicherung der Schreibdaten durchführen

Einsatzempfehlungen

  • Genereller Einsatz von AutoDAB

    Die Auswahl der zu puffernden Datenbasis und die Einstellung des Prefetching-Faktors sollte durch das automatisierte Caching erfolgen. Es ist deshalb empfehlenswert, die performance-kritischen Datenträger oder Pubsets mit AutoDAB zu bedienen.

    Im Regelfall ist die folgende Vorgehensweise einfach und zielführend:

  1. Bestimmung aller performance-kritischen Anwendungen

  2. Bestimmung aller Volumes/Pubsets, die von diesen Anwendungen angesprochen werden

  3. Zusammenfassung aller dieser Volumes/Pubsets zu einem automatischen ADM-PFA-Cache-Bereich (günstig für den Fall, dass über die Zugriffsintensität auf einzelne Pubsets nichts Näheres bekannt ist) oder Definition eines automatischen PFA-Cache-Bereichs für jedes einzelne Pubset

  • Festlegung der Cache-Bereich-Größe

    Die Größe des Cache-Bereichs sollte mindestens 1% der Größe der zu unterstützenden Datenbasis (parallel bearbeitete Dateien) betragen. Bei überwiegend sequenzieller Verarbeitung kann dieser Wert unterschritten werden, bei überwiegend Random-Verarbeitung ist dieser Wert u.U. zu klein. Ist der Cache zu klein gewählt, so wird dies von AutoDAB als Konsolmeldung mitgeteilt.

  • Beschleunigung aller Schreibzugriffe:

    Unabhängig von der Lokalität beschleunigt DAB bei einem Read-Write-Cache (bzw. Write-Cache) alle Schreibzugriffe, solange freie Puffer zur Verfügung stehen. Damit lassen sich kurzzeitige Lastspitzen abfangen und schnelle Dateizugriffszeiten erreichen. Da die im Cache zwischengelagerten Schreibdaten aber von DAB auf das Storage-System gesichert werden müssen, ist bei Schreibanwendungen nur bei ausreichend hoher Lokalität der Zugriffe eine Entlastung des Ein-/Ausgabe-Systems möglich.

  • Home-Pubset

    Der Home-Pubset kann nicht im Hauptspeicher zwischengepuffert werden. Dies ist mit ADM-PFA-Caching zwar möglich, sollte aber nur mit reinem Read-Cache erfolgen.

  • SM-Pubsets

    Daten eines SM-Pubsets können nicht mit ADM-PFA-Caching in einem DAB-Cache-Medium zwischengepuffert werden, da der Ablageort der Datei, d.h. der Volume-Set, dynamisch geändert werden kann.

  • Datenbank-Pubsets

    Bei reinen Datenbank-Pubsets kann es zur Verbesserung der "zeitlichen Lokalität" besser sein, eine kleinere Segmentgröße zu wählen: z.B. 8 KB statt dem Standardwert 32 KB (/START-DAB-CACHING, Parameter CACHE-SEGMENT-SIZE).

In der Praxis führen die verkürzten Ein-/Ausgabezeiten i.d.R. zu einer deutlichen Durchsatzerhöhung und damit zu Verschiebungen der Last und der CPU-Auslastung.

Bei Anwendungen, die eine höhere Write-IO-Rate verursachen, sollten zur Steigerung des Durchsatzes zusätzliche Platten verwendet werden. (Der Einsatz von DAB für Write-IOs wird nicht generell empfohlen.)

Ausführliche Informationen zum Einsatz des DAB sind im Handbuch "DAB" [5] zu finden.