The use of data compression can be negotiated for each session
through the BIND and BIND(RSP) request units (RUs). The session partners
can negotiate whether to use data compression. If compression is to
be used, the session partners can negotiate the type of compression. VTAM® supports two different compression
algorithms:
- Run length encoding (RLE) compression
This type of compression
replaces strings of identical bytes with shorter encoded strings.
- Dynamic dictionary-based compression (called adaptive compression
in this document)
This type of compression is an adaptive dictionary-based
compression algorithm similar to Lempel-Ziv. It is applicable to a
wide range of data types. It uses tables that adapt dynamically to
match the data being sent or received. Adaptive compression replaces
the original data with a set of compression codes. Each set represents
one or more bytes. Following are the variations of adaptive compression:
- Small table
- This type uses 9-bit compression codes.
- Medium table
- This type uses 10-bit compression codes.
- Large table
- This type uses 12-bit compression codes.
With adaptive compression, each partner begins
a session with an identical set of tables. The senders of the RU update
their send tables as data is compressed. The receivers of the RU makes
identical updates to their receive tables as data is extracted. This
method keeps both ends of the session identical without exchanging
table data between nodes.
By default, the send and receive
tables are continually updated. You can speed up adaptive compression
processing on outbound messages, through software only or with the
help of hardware compression, by using the CMPMIPS start option. By specifying a value from 1 to 99
(default value is 100), VTAM suspends and resumes updating of the send and receive tables whenever
compression effectiveness exceeds or falls below a threshold corresponding
to the CMPMIPS start option value.
Thus, using the CMPMIPS
option, you can balance the number of machine cycles needed with the
effectiveness of compression for outbound messages. Higher values
for CMPMIPS will likely increase both compression effectiveness and
cycle usage, while lower CMPMIPS values will likely lower both compression
effectiveness and cycle usage.