Using the zEnterprise Data Compression (zEDC) enhancements

This enhancement allows storage administrations to exploit zEnterprise® data compression (zEDC) for non-VSAM compressed format data sets. Unlike previous compression types, no separate dictionary needs to be created, as zEDC compression hides the dictionary in the data stream. A new dictionary starts in each compression unit. The system can decompress the segment as is.

zEDC compression can be requested in the same way that existing types of compression (generic and tailored compression) are requested. The COMPACTION value in data class is used to allocate a data set in compressed format. The type of compression can be specified at the data set level, system level, or both. At the data set level, it can be specified using the data class via the new COMPACTION options of ZR ("zEDC Required") and ZP ("zEDC Preferred"). It can also be specified at the system level via the new options of ZEDC_R ("zEDC Required") and ZEDC_P ("zEDC Preferred") for the COMPRESS parameter in the IGDSMSxx member of SYS1.PARMLIB, when the data class COMPACTION value is specified as Y.

System requirements

To allocate a zEDC compressed format data set, the allocation amount must also meet the existing minimum space requirement for compressed format data sets. The minimum primary space amount must be 5 MB if secondary amount is specified, or 8 MB if a secondary amount is not specified. If the minimum space requirement is not met, the allocation request may result in a non-compressed extended format data set, depending on whether zEDC is preferred or required. Whereas generic and tailored compressed data sets can be defined as extended format version 1 or version 2 data sets, zEDC compressed data sets will be defined as extended format version 2 data sets, regardless of the user's specification. See Processing Extended-Format Sequential Data Sets in z/OS DFSMS Using Data Sets for more information.

Allocation processing

When creating a zEDC-compressed format data set, you can specify how the allocation should proceed if the system does not support the zEDC function, as follows:
  • "zEDC Required" indicates that the system should fail the allocation request if the zEDC function is not supported by the system, or if the minimum allocation amount requirement is not met.
  • "zEDC Preferred" indicates that the system should not fail the allocation request, but rather create either a tailored compressed data set if the zEDC function is not supported by the system, or a non-compressed extended format data set if the minimum allocation amount requirement is not met.

SMS allocation processing determines if a data set can be allocated as compressed format. The type of compression to be used for the data set is not determined until the first OPEN for output of the data set. The following two tables summarize the system behavior during SMS allocation processing for a new data set based on system levels and the user's allocation request, the first table on a z/OS V2R1 system, and the second table on a z/OS V1R12 or V1R13 system.

Table 1. SMS Allocation Processing Based on System Levels and Allocation Request (z/OS V2R1)
z/OS Level z/OS V2R1
Processor Level Supports zEDC compression, as per System requirements Does not support zEDC compression, as per System requirements
Meets minimum compression space requirements? (5MB primary if no secondary) Meets space requirement Does not meet space requirement Meets space requirement Does not meet space requirement
"zEDC Required" request Allocation successful, create as compressed format (extended format v2) Allocation request fails with IGD17168I Allocation request fails with IGD17168I Allocation request fails with IGD17168I
"zEDC Preferred" request Allocation successful, create as compressed format (extended format v2) Allocation successful, create as non-compressed extended format Allocation successful, create as compressed format (extended format v2) Allocation successful, create as non-compressed extended format
Table 2. SMS Allocation Processing Based on System Levels and Allocation Request (z/OS V1R12 or V1R13)
z/OS Level z/OS V1R12 or V1R13
Meets minimum compression space requirements? (5MB primary if no secondary) Meets space requirement Does not meet space requirement
Data Class COMPACTION option specified as other than N¹ Allocation successful, create as compressed format Allocation successful, create as non-compressed extended format
Data Class COMPACTION option specified as N, or not specified Allocation successful, create as non-compressed extended format Allocation successful, create as non-compressed extended format
¹ On z/OS V1R12 and V1R13, SMS allocation does not differentiate between the different COMPACTION options.

The first OPEN for output of the data set determines the compression type for the data set based on the data class and PARMLIB specifications, as shown in Specifying zEDC compression at the system level and Specifying zEDC compression at the data set level. For a zEDC request, it must also determine the level of the system. When running on a multi-system sysplex, it is possible for the data set to be allocated on one system but opened on a different system.

When running in a JES2 environment, this function does not affect how JES2 selects the system on which to run the job.

When running in a JES3 environment, SMS is invoked to identify a list of one or more target systems where the job should be scheduled. The following table identifies how SMS would select systems when the data set is to be allocated with zEDC compression. For new data sets, SMS will look at the requested compression type (required or preferred). For existing data sets, SMS will look at the compression type found in the dictionary token stored in the data set's extended format cell, located in the catalog.

Table 3. SMS Scheduling System Selection for JES3 Environment Based on zEDC Feature
Priority System Description Based on zEDC Capability
1 System capable of zEDC compression (as per System requirements). Devices are available on the system.
2 System capable of zEDC compression (as per System requirements). No devices currently available on the system, but devices were available during this IPL.
3 System capable of zEDC compression (as per System requirements). No devices currently available on the system, and no devices were available during this IPL.
4 System not capable of zEDC compression (as per System requirements).

Since the systems can be at different z/OS and processor levels, on the first OPEN for output of the data set, OPEN processing must once again determine the level of system before determining the type of compression to use for the data set. The following tables summarize the system behavior during OPEN processing for a new data set based on system levels and the zEDC compression request, the first table on a z/OS V2R1 system, and the second table on a downlevel z/OS V1R12 or V1R13 system.

Table 4. OPEN Allocation Processing Based on System Levels and Allocation Request (z/OS V2R1)
z/OS Level z/OS V2R1
Processor Level Supports zEDC compression, as per System requirements Does not support zEDC compression, as per System requirements
DS1COMPR setting¹ DS1COMPR=on DS1COMPR=off DS1COMPR=on DS1COMPR=off
"zEDC Required" request Create as zEDC compressed format (extended format v2)⁴ N/A² Create as zEDC compressed format (extended format v2)³ ⁴ N/A²
"zEDC Preferred" request Create as zEDC compressed format (extended format v2)⁴ Create as non-compressed extended format Create as tailored compressed format (extended format v2)⁴ Create as non-compressed extended format
  • ¹ DS1COMPR is the flag in the Format-1/Format-8 DSCB that identifies a data set as being compressed format.
  • ² Since the allocation is set to DS1COMPR=off, OPEN will not check the data class for a compression type.
  • ³ Since the allocation was successful for this data set, the system will avoid failing OPEN, but instead create the data set in zEDC compressed format. In this situation, all data will be written non-compressed.
  • ⁴ When the compressed format data set was created at allocation with a specification of zEDC Required or Preferred, SMS allocation created the compressed format data set as an extended format v2 data set. Therefore, even if the compression type is set to tailored compression at OPEN time, it remains extended format v2.
Table 5. OPEN Allocation Processing Based on System Levels and Allocation Request (z/OS V1R12 or V1R13)
z/OS Level z/OS V1R12 or V1R13
DS1COMPR setting¹ DS1COMPR=on DS1COMPR=off
"zEDC Required" request Create as zEDC compressed format (extended format v2)³ N/A²
"zEDC Preferred" request Create as tailored compressed format Create as non-compressed extended format
  • ¹ DS1COMPR is the flag in the Format-1/Format-8 DSCB that identifies a data set as being compressed format.
  • ² Since the allocation is set to DS1COMPR=off, OPEN will not check the data class for a compression type.
  • ³ Since the allocation was successful for this data set, the system will avoid failing OPEN, but instead create the data set in zEDC compressed format. In this situation, all data will be written non-compressed.
  • ⁴ Since the values for zEDC compression are not available for the COMPRESS parameter found in the IGDSMSxx member of SYS1.PARMLIB on downlevel systems, only the Data Class COMPACTION option will be used to determine if zEDC compressed format is requested.

For more information

For more information on zEDC compression, see z/OS MVS Programming: Callable Services for High-Level Languages.

The following table lists the types of tasks and associated procedures that you must complete to fully use these enhancements.