Using zEDC with IBM Connect:Direct

zEnterprise Data Compression (zEDC) is a compression acceleration capability that allows you to perform hardware-based data compression that streamlines data exchanges, saves on storage, and reduces CPU consumption. IBM now provides a new zlib version that supports the zEDC Express Accelerator for compression and decompression activities to improve throughput and CPU usage.

You can use zEDC with IBM® Connect:Direct® by implementing the new initialization parameter, ZEDC. If the zEDC Express Accelerator is available, the compression is perform by the hardware; otherwise, a new software version of zlib, 1.2.7, will be used. During product initialization, a new message appears indicating that this version of zlib is available and if the zEDC hardware is available.

With zEDC hardware compression, the object being compressed or decompressed is performed using the hardware or the software. This is determined based on the size of the first data block from the object passed to the IBM ZLIB code.

This threshold is controlled by a system wide global parameter specified in SYS1.PARMLIB member IQPPRMxx using global parameters DEFMINREQSIZE and INFMINREQSIZE.
Note: On IBM zEnterprise z15 and above processors IQPPRMxx is no longer valid. The z15 has no PCIE zEDC cards anymore and IQPPRMxx is solely used for PCIE. However, documentation for IQPPRMxx does provide the default values on z15 for the old global parameters. On a z15, those thresholds can be specified using environment variables _HZC_DEFLATE_THRESHOLD and _HZC_INFLATE_THRESHOLD. That allows the threshold to be tailored by application using ENVIRON DD input of the new variables. The valid values are in the range 1-9999999, where each number is a multiple of 1024.

When this feature is used, it is utilized by the extended compression feature of IBM Connect:Direct and is subject to the negotiated Compression Control Facility (CCF). When the PROCESS is executed, extended compression is negotiated if the ZIIP for extended compression is not enabled. The appropriate environment variable uses the zEDC accelerator and uses the buffer length restrictions defined by the operating system and zEDC. IBM Connect:Direct statistics data indicates the version of zlib being used and if the hardware zEDC Express accelerator was used.

During product initialization, when zEDC is specified as ON or by default, IBM Connect:Direct will inquire the availability of the zEDC hardware and provide the appropriate initialization message, SITA374I, on the status of the zEDC hardware. If the hardware is unavailable, IBM Connect:Direct will continue but software compression is forced.

For a detail overview, requirements and planning for zEDC, please reference, z/OS MVS Programming: Callable Services for High-Level Languages, SA23-1377-00 zEnterprise Data Compression (zEDC).