SINGLE SYSTEM RECORD LEVEL SHARING
IAM Version 8.0 introduces the first phase of IAM Record Level Sharing
(RLS) support, which
features single system record level sharing capabilities. Customers can
use IAM Record Level
Sharing to run multiple batch jobs and CICS regions that concurrently
update the same IAM
enhanced format file(s) on a single z/OS or OS/390 system image. IAM RLS
provides full data
integrity for concurrent users of IAM files under IAM RLS control, along
with journaling and file
recovery capabilities. Locking is provided at the record level by IAM
RLS, to prevent concurrent
updating of the same record by different jobs or CICS transactions. For
most applications, no JCL
or programming changes will be necessary to use IAM RLS. Some of the key
features of IAM RLS
are:
Record
level locking across multiple jobs and CICS regions on the same z/OS
image
Provides
journaling and recovery capabilities
Automatic
deadlock detection, within the realm of locks held for IAM datasets
Supports
enhanced format IAM KSDS and ESDS files
Datasets
are selected automatically for inclusion in IAM RLS, based on the file's
share
options and / or on installation provided list of dataset names
Offers
a batch syncpoint process for batch applications that update a substantial
portion of
IAM files. (Requires changes to the application program to use this
facility.)
Provides
an optional Dynamic Job Backout facility, which will backout updates
made to IAM
files being processed under IAM RLS control, when a batch job step abends.
Customers
can select the action that IAM RLS will take when there is record lock
contention.
The
choices are to wait until the lock is available, wait for a specified
amount of time, or to
immediately fail the request. If the request is failed, customers can
select to either receive
VSAM logical error codes and have the application programs handle the
error, or request that
IAM abend the job step or transaction.
Full Sysplex
record level sharing capabilities for IAM files will be available in a
future release.
LARGE
DEVICE SUPPORT
IAM Version 8.0 provides support for IAM enhanced format datasets being
defined as DFSMS
extended format sequential datasets. These IAM datasets can now exceed
the 64K tracks per
device limitation that previously existed, allowing IAM to fully utilize
3390-9 and other even larger
devices. When defined as DFSMS extended format, IAM datasets can use up
to 123 extents per
volume, can use all available space on the large volumes, and can exceed
the prior limit of a total
of 255 extents when multiple volumes are specified. This will raise the
theoretical maximum file
size to almost 3 terabytes of compressed data.
HARDWARE
COMPRESSION SUPPORT
IAM Version 8.0 provides customers with the option of using the z/OS hardware
compression.
With the performance improvements that IBM has made on the data compression
instructions on
the zSeries processors, IAM customers may realize some CPU time reductions
when reading data
by using hardware compression. The use of hardware compression is not
recommended on the
older processors, because the additional CPU time is substantial. Hardware
compression is an
option that users can select for the desired files through the IAM Override
facility. IAM is providing
one compression dictionary, which was designed to handle primarily text
data, with some
numerical data, such as might be found in files containing name and address
information. Users
can also create their own compression dictionaries to be used by IAM for
selected files. Such
dictionaries can provide for a higher degree of compression than would
be possible with a generic
dictionary. Instructions are provided in the manual for creating a hardware
compression dictionary
that can be used by IAM. When an IAM file is loaded with a user provided
compression dictionary,
that dictionary will be written into the IAM file to insure that the dataset
can be successfully
processed should some subsequent changes be made to the user provided
dictionary.
PAV SUPPORT
IAM Version 8.0 provides full Parallel Access Volume (PAV) support for
enhanced format IAM files.
PAV is a feature of some DASD devices, which provides for concurrent physical
I/O activity against
the same physical z/OS DASD volume. Use of this capability can provide
for substantial
improvements in response times for online systems, or batch jobs, that
have heavy concurrent I/O
activity. Prior to IAM Version 8.0, parallel access was automatically
being handled for input requests
to IAM files, but concurrent output I/O requests would only be concurrently
processed if the requests
were to different DASD extents. With Version 8.0, changes have been made
to the IAM I/O driver
for enhanced format files that will facilitate concurrent output and update
I/O through PAV.
BWO
SUPPORT
IAM Version 8.0 provides support for users of the callable BWO (Backup
While Open) service. This
interface is primarily used by CICS and CICS/VR to allow for backing up
open VSAM files, and then
for subsequent forward recovery by CICS/VR after the dataset has been
restored. IAM will now
keep the BWO data in the IAM file's control information. The BWO
data includes three flags,
indicating the BWO state of the file, and the 8-byte date and time stamp
field. The date and time
stamp field is used as a file recovery starting point in time by CICS/VR
when recovering a dataset
that has been restored. When present in an IAM file, the BWO data will
be printed on the IAMPRINT
LISTCAT report.
IAM files
could previously be backed up while open, and the restored copy would
retain file structure
integrity. However, now with the IAM BWO support, the forward recovery
function can automatically
determine the point in time from which the recovery should start. In effect,
IAM BWO callable
service support allows for the recovery coordination between CICS and
CICS/VR.
IAM
JOURNAL RECOVERY
IAMJREST is the IAM program that will read data from an IAM journal, and
perform the requested
recovery. For V8.0, this program has been enhanced to handle the journal
datasets produced by
IAMRLS, and perform either a forward or backward recovery, as requested.
This enhancement
includes new keywords and functionality for recovering files after abends
or failures when such files
are used under IAM RLS. If a batch job abends, the IAM datasets that have
been accessed through
IAM RLS, can have the changes removed from the IAM file by a process referred
to as a backout.
The backout can be for only the failing job step, for the entire job,
or also for other preceding jobs.
If the failing program makes use of the IAM Batch Syncpoint, the back
out can be done up to the
last syncpoint taken prior to the abend.
Also note
that all of the utility functions previously performed by IAMJREST have
been moved to a
new program, called IAMJUTIL. IAMJREST will only handle the actual recovery.
To print journal
records, find out information from journal records, or resetting the System
Logger files, IAMJUTIL
can be used.
AIX
USEABILITY ENHANCEMENT
Many users of IAM/AIX have been taking instant backups or snapshot copies
of IAM base clusters
without the alternate indices or paths. This has caused some various problems
because the IAM
AIX information is still in the copied base cluster. With V8.0, the IAM/AIX
alternate index information
can be removed from the copied base cluster through an IDCAMS delete command
that specifies
the copied base cluster name, and the keywords AIX and NOSCRATCH. A subsequent
LISTCAT
on the file will verify the removal of the AIX relationships from the
base cluster.
Z-SERIES
PROCESSORS
IAM Version 8.0 has modified various portions of code that may have been
adversely impacted by
changes in the cache structure on the IBM Z-series processors. This may
result in some CPU time
reductions for customers upgrading from prior releases of IAM. The modifications
were made in
such a manner as to not degrade IAM performance for customers on the prior
IBM mainframe
processors.
VSAM
QUICK INDEX
The VSAM Quick Index from EMC (formerly Softworks) can be used with IAM
alternate indexes
starting with V8.0 of IAM. VSAM Quick Index must be run either defaulting
to, or explicitly specified
on the BASE control card, the NOFASTPATH option. Customers that are going
to have both V7.0
and V8.0 of IAM active on the same LPAR during the V8.0 test period must
apply PTF P-70.0150
to their V7.0 IAM to use VSAM Quick Index with IAM V8.0.
IAM ALTERNATE INDEX PERFORMANCE AIX PERFORMANCE
As can be seen from the example data provided below, IAM can provide significant
performance
benefits over using VSAM. The performance benefits of using IAM for any
particular application will
vary from the results shown here, as there are many variables. Such variables
include the number
of upgradeable alternate index datasets, the data reference pattern, the
amount of VSAM tuning
that has been done, plus many others. The jobs were run on a Z800-2066
CPU under z/OS 1.3.
The following numbers are from a base cluster with 2,500,000 records with
two upgradeable
alternate index datasets. One of the alternate index datasets has UNIQUE
keys, the other has
NONUNIQUE keys, and both were upgradeable. All of the measurements were
done with minimal
other activity on the system.
The
IAM run was performed with the default options and the following buffer
overrides:
ACCESS DD=&ALLDD,MINBUFNO=60,MAXBUFNO=100
Three
different VSAM runs were done, one with no buffering specified, one with
DFSMS System
Managed Buffering (SMB), and one with the VSAM files in using an explicit
LSR buffer pool. The
LSR pool had 256 data buffers, and 384 index buffers.
RANDOM UPDATE I/O TEST
This job step performed a variety of read and update requests through one
of the alternate index
datasets. The following type of I/O requests were issued against the path:
256,000, Random Read
160,000 Updates, 1/2 of
which required an update to the other alternate index.
80,000 Inserts
16,000 Deletes
16,001 Points (Start browses)
with 80,000 sequential reads. (5 records read per start browse).
The results were:
IAM used 64% to
84% less CPU time than VSAM.
IAM performed 81%
to 96% less EXCP's than VSAM.
IAM ran in 82%
to 92% less Elapsed Time than VSAM.
The performance data is from
the SMF data for the jobs that were run. The total CPU time figure
includes both TCB and SRB time
| |
IAM |
VSAM |
VSAM
- SMB |
VSAM
- LSR |
Total CPU Time (seconds) |
54.4 |
380.8 |
274.8 |
149.8 |
EXCP |
170,617 |
4,769,149 |
2,660,530 |
888,144 |
Elaspsed Time (minutes) |
8.1 |
100.7 |
96.5 |
46.1 |
Figure 1: Results of
Random I/O Performance Test
SEQUENTIAL I/O TEST
After updating the files with
the above Random I/O test, a second test was performed. This test read
the file sequentially using the NONUNIQUE key alternate index.
The results were:
IAM used 27% to
89% less CPU time than VSAM.
IAM performed 56%
to 99% less EXCP's than VSAM.
IAM ran in 43%
to 98% less Elapsed Time than VSAM.

| |
IAM |
VSAM |
VSAM
- SMB |
VSAM
- LSR |
Total CPU Time (seconds) |
68.8 |
640.4 |
389.8 |
93.9 |
EXCP |
94,231 |
10,228,780 |
5,019,202 |
214,489 |
Elaspsed Time (minutes) |
3.4 |
142.9 |
98.3 |
6.0 |
Figure 2: Results of Sequential
I/O Test