Browse Prior Art Database

Enhancements to I/O Priority Queueing

IP.com Disclosure Number: IPCOM000104952D
Original Publication Date: 1993-Jun-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 4 page(s) / 144K

Publishing Venue

IBM

Related People

Boyle, JL: AUTHOR [+5]

Abstract

Disclosed are methods for enhancing the priority processing of I/O requests by an operating system, and for extending I/O priority processing to the hardware Channel Subsystem (CSS) and to attached I/O control units.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 41% of the total text.

Enhancements to I/O Priority Queueing

      Disclosed are methods for enhancing the priority processing of
I/O requests by an operating system, and for extending I/O priority
processing to the hardware Channel Subsystem (CSS) and to attached
I/O control units.

      Currently, in the Multiple Virtual Storage/Enterprise Systems
Architecture (MVS/ESA)[*]  operating system, the I/O Supervisor (IOS)
uses the I/O priority value associated with the calling program's
address space.  This is the address space in which the program
receives control upon completion of the I/O request.  The calling
program's address space is specified by an address space identifier
(ASID) passed to IOS in an I/O Supervisor Block (IOSB) when the
request is given to IOS.  The I/O priority value is specified by the
installation for each address space.  IOS queues I/O requests for
execution by I/O priority value.

      One enhancement to MVS/ESA is to allow the calling program to
specify different I/O priority values for different requests.  This
breaks the connection between the address space which is to receive
control upon completion of the I/O request, and the I/O priority
value associated with the request.  This is important in environments
such as where a server address space handles requests for multiple
client address spaces; it is also useful if there are different
categories of requests from the same address space, such as
long-running requests and short-running requests.  Three methods of
achieving this are:

1.  The calling program indicates via a flag in the IOSB that the I/O
    priority value to be used is that associated with the current
    home address space.
2.  The calling program supplies the ASID of the address space whose
    I/O priority value is to be used in a field in the IOSB.
3.  The calling program supplies the I/O priority value itself in a
    field in the IOSB.

      Another enhancement to MVS/ESA is for IOS to issue a cancel
subchannel (XSCH) instruction to a subchannel which is currently
processing an I/O request whenever a higher priority I/O request is
received by IOS for the same device.  The cancel subchannel
instruction terminates the current I/O request only if it is start
pending.  In this case, no I/O operations have begun at Processor
Resource/Systems Manager, and PR/SM are trademarks of the
International Business Machines Corporation.  the device and IOS
merely leaves the terminated request queued in proper priority order.
IOS then passes the highest priority request to the CSS.  This method
improves the I/O priority queueing function by increasing the
probability that the highest priority I/O request is started by the
CSS first.

      I/O priority processing is extended to the CSS by having the
CSS start I/O requests in order of the priority value specified by
the installation for the application.  The I/O priority value is
passed by the operating system to the CSS with the I/O...