Skip to main content

Preface

This manual describes INFOPAK hardware compression compatible with the hardware compression feature of the ES/9000 (Lempel Ziv). These modules allow compression in a transparent manner for DB2 tables, IMS databases, DATACOM data bases, IDMS data bases, VSAM ESDS and KSDS clusters and sequential or PDS files.

This option supports compression/decompression on MVS systems even if the hardware instruction is not available (simulation).

The hardware feature in INFOPAK provides good compression without the need for external tables preventing mistakes and management problems.

The installation of INFOPAK is described in brochures corresponding to the different products.

note

In this manual, the term LZ will be employed to designate Lempel Ziv compression and the term CP for field analysis compression.

Hardware compression modules

DB2, IMS, and DATACOM Hardware compression modules

For the products: INFOPAK DB2, IMS and DATACOM, the following modules are created by the installation process.

Those modules are unloaded in the same libraries as those of the other INFOPAK compression modules.

INFOPAK IMS

{wrapper="1" role="DL"}

  • INFCMPZE

    INFOTEL hardware compression for IMS.

  • INFFPCZE

    INFOTEL hardware compression for IMS allowing compression in place of DEDB data bases.

  • INFZMRE0

    module containing the entry point INFZMR00 allowing compression/decompression of buffer using hardware compression. The use of this entry point is the same as that of the entry point INFCMR00.

note

The standard version of TESTPAK IMS provides compression results for the hardware compression module.

note

See the manual HP100 for more information about INFOPAK IMS.

INFOPAK for DB2

{wrapper="1" role="DL"}

  • INFDBCZE

    INFOTEL hardware compression EDITPROC for DB2.

  • INFFECZE

    INFOTEL hardware compression EDITPROC for DB2 allowing compression in-place. This module cannot be used for tables in RRF (reordered row format). If used, a SQLCODE -652 is returned by DB2.

note

The standard version of TESTPAK for DB2 provides compression results for the hardware compression module.

note

See the manual HP101 for more information about INFOPAK for DB2.

INFOPAK DATACOM

{wrapper="1" role="DL"}

  • INFDTCZE

    INFOTEL hardware compression modules for DATACOM.

  • INFZMRE0

    module containing the entry point INFZMR00 allowing compression/decompression of buffer using hardware compression. The use of this entry point is the same as that of the entry point INFCMR00.

note

See the manual HP104 for more information about INFOPAK DATACOM.

VSAM, MVS, and IDMS Hardware compression modules

For INFOPAK VSAM, MVS and IDMS, the LZ compression routine has been included in the CP routine.

New features of the CP routines

Hardware compression features are included in the standard CP compression modules starting with release PK51. The following modules containing this enhancement are:

  • INFCMPPE for INFOPAK IMS

  • INFDBCPE for INFOPAK for DB2

  • INFDTCPE for INFOPAK DATACOM

  • INFCMRE0 for INFOPAK IDMS

  • INFIVCP0 and INFIVRP0 for INFOPAK VSAM

  • INFIQC00 for INFOPAK MVS

Those modules are still compatible with the former versions of INFOPAK and they still compress or decompress using the field analysis method CP. But, they are able to use the new feature for hardware compression and therefore use the new hardware instruction or an emulation if it is not present.

note

Versions previous to PK51 of INFOPAK are not able to decompress data compressed by the LZ method. Therefore, it is not possible the use a previous version of one of the above modules if LZ compression used for compressing a base or a file.

note

All MVS systems accessing files or data bases compressed by the LZ method must execute a version of INFOPAK equal to, or greater than PK51.

note

Special Consideration for VSAM CP with hardware compression (not for RP compression). Variable length records with keys at the end of the record, will be padded to maximum length after decompression with binary zeros at the end of record. This only occurs when INFOPAK has zero padded the compressed record (SEE manual HP102 for the description of the VSAM compression and management of keys by INFOPAK). These binary zeros are ignored by current languages such that COBOL, PLI, etc.... The RDW should not be used by the user application program to determine the length of the record.

Implementation

The above compression modules decompress data compressed by the LZ method or by the CP method of INFOPAK.

The CSECT (CPPRM) included in all PK51 or later modules allows for dynamically changing the compression method and for swapping from CP compression to Lempel Ziv compression and vice and versa.

Three values are allowed in this CSECT:

{wrapper="1" role="DL"}

  • 0000

    This is the default value (installation). The modules compress using the CP algorithm.

  • 0004

    Same as 0000.

  • 0008

    This value forces LZ compression even if the compression instruction is not present.

  • 000C

    LZ compression is selected when the compression instruction is installed. Otherwise, CP compression is selected.

It is then possible to dynamically change the compression method for a file or a base without requiring a unload and reload. Also, the modification of the CSECT CPPRM in a module is global for all bases using this module. It is possible to copy the CP compression modules (except INFOPAK VSAM/MVS) into another name and then modify the CSECT CPPRM.

note

The corresponding in-place compression modules do work in the same manner as the former modules of previous versions. They are now able to recognize uncompressed data, CP compressed data and LZ compressed data.

note

The utility AMASPZAP must be used to modify the contents of the CSECT CPPRM.

The following chart summarizes the different states of the CP routines:

Moduleused ES/9000 with hardwareinstruction Other machine Decompression(0000/0008/000C) read dataCP or LZ read dataCP or LZ

Comp. (0000) write CP data write CP data

Comp. (0008) write LZ data write LZ data

Comp. (000C) write LZ data write CP data

Example

The following example presents a ZAP of the DB2 compression module INFDBCPE so that compression be forced to LZ.

 //jobname  JOB  ..............
//stepname EXEC PGM=AMASPZAP
//SYSPRINT DD SYSOUT=*
//SYSLIB DD DISP=SHR,DSN=DB2_exit_library
//SYSIN DD *
NAME INFDBCPE CPPRM
REP 0000 0008
/*

Hardware Compression CPU time

The CPU time used by the hardware compression may vary run to run by as much as 20%. This is due to the fact that the hardware microcode is stored in the high buffer area and may be purged on an active machine between one use and the next. This can cause higher than expected CPU times.

Using INFOPAK's Hardware Compression with older versions of MVS

In MVS 4.3, the CVT contains a bit which designates the availability of, or absence of, the hardware compression microcode.

If INFOPAK CSECT CPPRM has been zapped to a value of 0008, it references this bit in the CVT.

If MVS 4.3 is being used then INFOPAK will automatically use the compression microcode if it is available.

If you are not using version 4.3 of MVS and you implement hardware compression with the 0008 value within CSECT CPPRM, INFOPAK, believing that the hardware is not actually present, will only do software emulation of the hardware microcode.

If you are using a older version of MVS and wish to use the actual hardware compression microcode, we can issue you a zap to force the use of the microcode. Please call us, if you need this zap.