New zEDC Express Adapter Compresses Data Faster While Using Less CPU
The IBM System z* platform has a new I/O adapter that compresses and decompresses data using the industry-standard Deflate algorithm. Supported by the zEnterprise* Data Compression (zEDC) feature of z/OS* V2.1, the zEDC Express adapter is optional with the zEnterprise EC12 and zEnterprise BC12. It can compress data at more than 1 GB per second while using roughly 100 times less CPU than software implementations of the same algorithm.
Undoubtedly, System z servers host massive amounts of data. Compression has long been used to increase the effectiveness of memory buffering, reduce the storage space needed and improve the performance of transmitting data. Every mainframe deployed today includes a unique compression engine on the CPU chip optimized to rapidly compress and decompress data—typically short DB2* row data. Data compressed with this compression coprocessor uses less space throughout the memory hierarchy, in memory buffers at rest on disk and in flight during replication. This coprocessor uses CPU cycles during compression, so users must choose whether to spend their CPU cycles to save disk and memory space. Each user has specific requirements that lead to different approaches to compression. For example, some compress extended format sequential data while others don’t compress any at all. Almost all DB2 users compress some but not all DB2 buffers.
The zEDC Express has a different role and optimization point. Instead of compressing short DB2 rows with a System z optimized compression algorithm, it’s designed to compress relatively large blocks of sequential data using an existing industry-standard compression format without busying the CPU. This gives System z users new opportunities to exploit compression throughout the stack, including:
- Accelerated compression for cross-platform data exchange. Many vendors have announced plans to use zEDC to reduce the cost of compressing data across platforms.
- Compression of even highly accessed extended format sequential files. The low CPU cost of zEDC Express compression will make it sensible to compress files accessed by BSAM and QSAM that previously would have required too much CPU overhead to compress economically. Support for this function in BSAM and QSAM is planned.
- Migration and backup support. DFSMSdss and DFSMShsm are planned to exploit zEDC for DFSMSdss dumps to disk, and for DFSMShsm backup and migration of data to disk.
- Transparent acceleration of Java* applications. Java is planned to invoke zEDC acceleration for applications that use the java.util.zip Deflater and Inflater classes. Existing programs that use these APIs are transparently accelerated.
Deflate and zlib
Deflate is an industry-standard compressed data format, described by RFC1951, and available in software on most computer platforms, including z/OS. The zlib open source library is a C implementation commonly used to provide compression and decompression services.
Many tools that exchange data between platforms either directly use zlib or use the various stream classes provided by java.util.zip, which indirectly invoke zlib. The z/OS support for zEDC Express includes a version of zlib that transparently exploits hardware compression. This enables a simple exploitation for applications and middleware that currently embed zlib to provide industry-standard compression.
Systems Management Facility (SMF) provides the system, applications and middleware with a standard method for writing out accounting, auditing, monitoring, performance and application records. A new option for compressing SMF data sent to the system logger enables zEDC Express compression of SMF data. Compression reduces the amount of data written—increasing the throughput and lowering the CPU cost of SMF logging. SMF data is decompressed when read from the logger to maintain compatibility with existing software. Users who want archival compression of SMF data can store it on compressed media, including tape, and compressed extended-format sequential data sets after it’s read from logger.
comments powered by