Browse Prior Art Database

Discriminatory DASD Input/Output

IP.com Disclosure Number: IPCOM000115994D
Original Publication Date: 1995-Jul-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 4 page(s) / 204K

Publishing Venue

IBM

Related People

Mulvey, DL: AUTHOR

Abstract

Disclosed is a method for improving the performance of large file servers by making discriminate use of DASD Input/Output (I/O) methods. This article describes the method as used on a VM/ESA* system.

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

Discriminatory DASD Input/Output

      Disclosed is a method for improving the performance of large
file servers by making discriminate use of DASD Input/Output (I/O)
methods.  This article describes the method as used on a VM/ESA*
system.

      The explanation begins with a simple model of a file system.
It consists of three layers.  They are:
  o  Application layer - File System Interface
  o  File System Request Handler
  o  DASD Block I/O layer

      An application program accesses the file system by calling
routines provided by the compiler.  These routines ultimately use the
File System Interface (FSI) which is documented on VM/ESA systems in
the "VM/ESA CMS application development guide for Assembler" manual.

      The second layer in the model is responsible for taking
requests from the FSI and implementing them.  That entails building
control blocks, such as a DASD allocation map and making lower level
requests to DASD; either to read or write data.  The principal job of
this layer is knowing how to properly store data on DASD, following
the file system architecture, and retrieve data back by requesting
DASD block I/O.

      Data is transferred to and from DASD in portions called blocks.
A block is fixed in size when the DASD is formatted and remains fixed
until the DASD is reformatted.  Formatting erases any data on the
disk and is only done when first setting up a disk.  Blocks are
arranged in logically ascending order, beginning with block number 0.
The Block I/O layer in the model knows absolutely nothing about file
systems.  It simply understands how to move blocks of data between
system memory and DASD, i.e., perform Block I/O.  The Block I/O layer
is a system service such as the CP *BLOCKIO service found on VM
systems.

      Discriminatory DASD I/O allows communication from the
application layer to the BLOCK I/O layer, allowing a sophisticated
application like a file server to convey such things as data extents,
DASD reference patterns and also which I/O methods may be more
appropriate for individual volumes or hardfiles.

      The communication occurs by having a DASD database which the
Block I/O layer can query for information.  The database tells the
Block I/O layer how to handle the requests that it receives from the
file system for specific DASD volumes.  The database for a VM/ESA
system would have:
  o  DASD address
  o  VM account that owns the DASD
  o  I/O method

      The information identifies specific disks by virtual address
and the owner's VM account.  It also specifies a method for
performing the block I/O.  There are three options.  First, by using
a synchronous I/O call into CP for DASD read/write.  Second, by using
the CP *BLOCKIO system service, and lastly by mapping DASD to VM/ESA
dataspaces.  The keywords used in the database record to do this are:
  o  SYNCIO
  o  ASYNCIO
  o  DSPACEIO

      SYNCIO, or synchronous I/O, stops al...