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 Priority Handling for Tasks

&pagelevel(3)&pagelevel

An I/O-intensive application with low priority can hinder another, higher-priority application if these application execute I/Os on the same (logical) device. Operations can also be impaired if the I/Os are executed on different (logical) devices which are located on the same physical device or are connected via the same paths, are accessible via the same ports or connected to the same channels.

Enhanced priority handling for tasks using IOPT

The IOPT (I/O Priority Handling for Tasks) function enables IORM to detect such conflict situations and to intervene in I/O operation for control purposes.

Here IOPT examines both the utilization level of the I/O units (devices, paths, ports and channels) and the I/O priorities of the tasks which use them.

I/O priorities for tasks

Three I/O priorities are available for tasks:

  • HIGH (high I/O priority)

  • MEDIUM (medium I/O priority)

  • LOW (low I/O priority)

The I/O priority for tasks can be defined in two ways:

  • With /MODIFY-TASK-CATEGORIES, IO-PRIORITY=*HIGH/*MEDIUM/*LOW operand. This is the procedure recommended.

    The command defines the I/O priority for the task categories.
    In addition to the four standard categories SYS, TP, DIALOG and BATCH, there may be also further categories whose names are defined in the job class definition.

  • With the IORM statements IOPT_PRI_HIGH and IOPT_PRI_MED.
    However, these settings only have an effect if IO-PRIORITY=*NONE is set in /MODIFY-TASK-CATEGORIES (default value).

    The IORM statements define the I/O priority on the basis of the task priorities. The task priorites are defined in the job class definition and on a user-specific basis in the user catalog.

 

Specifications for the I/O units

The IORM statement IOPT_DEV_ADD enables disk devices to be defined on which IORM priority handling is to be used.

The IORM statements IOPT_LOW_xxx and IOPT_MED_xxx enable threshold values and I/O shares to be defined for tasks with the priority LOW or MEDIUM for the I/O units device (xxx=DEV), path (xxx=PTH), port (xxx=POR) and channel (xxx=CHN).

The default values set for this in IORM match the specifications in the
SYSDAT.IORM.<version> parameter file which is supplied.

The fact that the I/O load increases significantly more rapidly on a device than on a path, port or channel, in particular in the case of a multipath device connection, should be taken into account in the specifications for the I/O units.

It can occur that IORM does not detect a conflict situation on a physical disk quickly enough because the utilization of the paths, ports, channels and logical devices is still below the specified threshold values. In this case it can make sense to combine all logical devices on the physical device to a device group in IORM (IOPT_GRP_ADD).

Execution of IOPT

At first IOPT is deactivated. After it has been activated (IOPT_SET_ON=YES), IOPT constantly collects utilization values, separated according to the I/O priorities HIGH / MEDIUM / LOW, for all known I/O units.

IOPT periodically checks whether tasks with the I/O priority LOW or MEDIUM are hindering higher-priority tasks (I/O priority MEDIUM or HIGH) in an I/O unit. If this is the case, only a limited utilization level is permitted on the I/O unit for tasks with the I/O priority concerned. This ensures that - in accordance with the utilization of the I/O unit - tasks with a lower I/O priority are “held back” from executing I/Os on devices which were activated beforehand for IOPT using IOPT_DEV_ADD.

IOPT only has a local effect, both in native mode and on a BS2000 guest system. Only disk devices are concerned here.
Tasks for FDDRL, ARCHIVE, VOLIN and PAGING are not held back.