Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

IOPT: I/O-Prioritäten-Steuerung für Tasks

Eine I/O-intensive Anwendung mit niedriger Priorität kann eine andere, höher-priore Anwendung behindern, wenn diese Anwendungen I/Os auf das gleiche (logische) Gerät ausführen. Behinderungen können auch entstehen, wenn die I/Os auf verschiedene (logische) Geräte ausgeführt werden, die jedoch auf demselben physikalischen Gerät liegen oder über dieselben Pfade angeschlossen, über dieselben Ports erreichbar oder an denselben Kanälen angeschlossen sind.

Verbesserte Prioritätensteuerung für Tasks mit IOPT

IORM kann in der Funktion IOPT (I/O Priority Handling for Tasks) solche Konfliktsituationen erkennen und steuernd in den I/O-Betrieb eingreifen.

Dazu betrachtet IOPT sowohl den Auslastungsgrad der I/O-Einheiten (Geräte, Pfade, Ports und Kanäle) als auch die I/O-Prioritäten der nutzenden Tasks.

I/O-Prioritäten für Tasks

Es gibt drei I/O-Prioritäten für Tasks:

  • HIGH (hohe I/O-Priorität)

  • MEDIUM (mittlere I/O-Priorität)

  • LOW (niedrige I/O-Priorität)

Die I/O-Priorität für Tasks kann auf zwei Arten festgelegt werden:

  • Mit /MODIFY-TASK-CATEGORIES, Operand IO-PRIORITY=*HIGH/*MEDIUM/*LOW. Dies ist die empfohlene Vorgehensweise.

    Das Kommando legt die I/O-Priorität für die Task-Kategorien fest.
    Neben den vier Standardkategorien SYS, TP, DIALOG und BATCH kann es weitere Kategorien geben, deren Namen bei der Jobklassen-Definition vereinbart werden.

  • Mit den IORM-Anweisungen IOPT_PRI_HIGH und IOPT_PRI_MED. Diese Einstellungen wirken aber nur, falls IO-PRIORITY=*NONE bei /MODIFY-TASK-CATEGORIES wirksam ist (Standardwert).

    Die IORM-Anweisungen legen die I/O-Priorität aufgrund der Task-Prioritäten fest. Die Task-Prioritäten werden bei der Jobklassen-Definition und benutzerspezifisch im Benutzerkatalog festgelegt.

 

Vorgaben für die I/O-Einheiten

Mit der IORM-Anweisung IOPT_DEV_ADD können Plattengeräte festgelegt werden, auf die die IORM-Prioritätensteuerung Anwendung finden soll.

Mit den IORM-Anweisungen IOPT_LOW_xxx bzw. IOPT_MED_xxx können Grenzwerte bzw. I/O-Anteile für Tasks mit der Priorität LOW und MEDIUM in Bezug auf die I/O-Einheiten Gerät (xxx=DEV), Pfad (xxx=PTH), Port (xxx=POR) und Kanal (xxx=CHN) festgelegt werden.

Die in IORM dafür eingestellten Standardwerte entsprechen den Angaben in der ausgelieferten Parameterdatei SYSDAT.IORM.<version>.

Das deutlich schnellere Ansteigen der I/O-Auslastung an einem Gerät im Vergleich zu einem Pfad, Port oder Kanal, insbesondere bei mehrpfadigem Geräte-Anschluss, sollte bei den Vorgaben für die I/O-Einheiten berücksichtigt werden.

Es kann vorkommen, dass IORM eine Konfliktsituation auf einer physikalischen Platte nicht schnell genug erkennt, weil die Auslastung für die Pfade, Ports, Kanäle und logischen Geräte noch unterhalb der vorgegebenen Grenzwerte liegt. In diesem Fall kann es sinnvoll sein, alle logischen Geräte auf der physikalischen Platte zu einer Gerätegruppe in IORM zusammenzufassen (IOPT_GRP_ADD).

Ablauf von IOPT

IOPT ist zunächst deaktiviert. Nach seiner Aktivierung (IOPT_SET_ON=YES) sammelt IOPT für alle bekannten I/O-Einheiten laufend Auslastungswerte getrennt nach den I/O-Prioritäten HIGH / MEDIUM / LOW.

IOPT prüft periodisch, ob Tasks mit der I/O-Priorität LOW oder MEDIUM höher-priore Tasks (I/O-Priorität MEDIUM oder HIGH) in einer I/O-Einheit behindern. Wenn dies der Fall ist, dann wird für Tasks der betroffenen I/O-Priorität nur noch ein begrenzter Auslastungsgrad auf der I/O-Einheit zugelassen. Es werden damit in Abhängigkeit von der Auslastung der I/O-Einheit Tasks mit geringerer I/O-Priorität bei der Ausführung von I/Os auf Geräte, die zuvor mit IOPT_DEV_ADD für IOPT aktiviert wurden, „gebremst“.

IOPT wirkt nur lokal, sowohl im Native-Betrieb, als auch im BS2000-Gastsystem. Es werden nur Plattengeräte berücksichtigt.
Tasks für FDDRL, ARCHIVE, VOLIN und PAGING werden nicht gebremst.