Browse Prior Art Database

Method to Handle General Device Asynchronously Via a New DIAGNOSE in VM/SP

IP.com Disclosure Number: IPCOM000099239D
Original Publication Date: 1990-Jan-01
Included in the Prior Art Database: 2005-Mar-14
Document File: 5 page(s) / 178K

Publishing Venue

IBM

Related People

Reser, JK: AUTHOR

Abstract

This article addresses performance problems in sequential virtual device I/O by presenting a method multitasking using an asynchronous DIAGNOSE instruction VM/SP.

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

Method to Handle General Device Asynchronously Via a New DIAGNOSE in VM/SP

       This article addresses performance problems in sequential
virtual device I/O by presenting a method multitasking using an
asynchronous DIAGNOSE instruction VM/SP.

      Background: problems, specifically during backup/restore when
using streaming tape drives, such as 3480s, are related to the
applications not being able to the I/O fast enough to maintain tape
streaming.  Due software overhead in reading from DASD and then
and/or compacting the data before writing it to tape, the tape drive
is usually forced to reposition to handle the next SIO.  In normal
streaming mode, tape keeps moving in anticipation of the next SIO
being so as not to lose time as in start/stop mode and wear and tear
on the tape itself.  If the next SIO too late, the repositioning time
adds much more to overall elapsed time of the backup job.

      Description: new method addresses primarily backup/restore
problems and secondarily can be applied to other of the system where
device I/O multitasking within virtual machine can be of some
benefit.  General I/O to a or DASD can be handled asynchronously with
the use of a DIAGNOSE instruction, thus enabling user applications to
device I/O while performing background

      This new DIAGNOSE, code X'E8' controls the initiation
processing of asynchronous I/O operations.  A virtual user can
specify any valid CCW chain to be performed a tape or disk.  No I/O
interrupts are reflected to the machine; the DIAGNOSE instruction is
completed when I/O is scheduled or started on the device. X'E8' --
Asynchronous I/O for tape/DASD

      DIAGNOSE code X'E8' controls initiation and processing
asynchronous I/O operations.  A virtual machine user can any valid
CCW chain to be performed on a tape or  No I/O interrupts are
reflected to the virtual the DIAGNOSE instruction is completed when
the I/O scheduled or started on the device rather than when a end
interrupt is received by CP.  The virtual machine not placed in I/O
wait as in other virtual I/O cases. Values:  Set up the input
registers as follows when  code X'E8': Rx a hexadecimal code in the
first 2 bytes indicating operation to be performed.  The possible
codes are:
   Code   Function
   0000   Initiate I/O
   0004   Fetch I/O status
   0008   Check I/O status

      The last two bytes should contain the virtual device  Ry the
following:
   If subcode = X'0000', Ry contains the channel address
   word (CAW) which will be the address of the channel
   program to execute on the virtual device.
   If subcode = X'0004', Ry has the IOBLOK address used by
   previous I/O initiated asynchronously and used for I/O
   completion tracking.
   If subcode = X'0008", Ry has the IOBLOK address used by
   previous I/O.

      The CCWs are processed via DMKCCWTR through DMKAIOEX, full
virtual I/O in an asynchronous fashion to any device (tape or D...