Should you use zEDC to compress SMF data? Should you use both zEDC and CICS software compression?
There was a recent discussion on the IBM-MAIN email list about exploiting zEDC. One of the topics was SMF data, including whether to turn off the software compression for CICS SMF records.
I ran some experiments to compare the processing of SMF records with and without the various compression options. The tests were run using a dataset containing 6.6 GB of CICS SMF data compressed with CICS software compression. For the tests without software compression, the data was uncompressed and copied to another dataset compressed with zEDC. The uncompressed data size was about 39 GB.
Disclaimer: As always, your mileage may vary. This isn’t intended as a benchmark – it’s just one set of tests run against one dataset. This is a very lightly loaded system running under VM. It might bear no resemblance to a busy production system. CPU times etc. might not be accurately reported.
Data size
CICS software compression | 124000 tracks |
CICS software compression + zEDC | 18500 tracks |
zEDC compression | 35000 tracks |
The data is very compressible. The software compressed data compresses further using zEDC and the final size is smaller than compression by zEDC alone.
Reading data
To test the overhead of zEDC when reading SMF data, I used the IFASMFDP program with the OUTDD pointing to DUMMY. This reads the data and produces a report on the numbers of each SMF record type, showing that individual records were read.
Elapsed (seconds) | CPU (seconds) | |
---|---|---|
CICS software compression (read 6.6GB) | 30.1 | 0.86 |
CICS software compression + zEDC (read 6.6GB, ~1GB compressed) | 2.2 | 1.2 |
zEDC compression only (read 39GB, ~1.9GB compressed) | 6.5 | 5.6 |
This program doesn’t do anything with the CICS data so there is no software decompression. It’s just a indication of the cost of reading SMF records with and without zEDC compression.
I was surprised how slow it was to read the records without zEDC. Is this a result of e.g. running under VM, or is it typical? zEDC was very fast, relative to the uncompressed data – better than 10x speed-up.
Copying Data
I ran the IFASMFDP jobs but this time with OUTDD specifying a real dataset. The difference between the read jobs and the copy jobs should give an indication of the cost of writing the data using zEDC.
Elapsed (seconds) | CPU (seconds) | |
---|---|---|
CICS software compression (read/write 6.6GB) | 62 | 1.58 |
CICS software compression + zEDC (read/write 6.6GB, ~1GB compressed) | 8.3 | 2.31 |
zEDC compression only (read/write 39GB, ~1.9GB compressed) | 19.4 | 11.88 |
Again zEDC was much faster but unsurprisingly there was a CPU cost (less than 0.2s/GB).
SMF Reporting using Java
I ran the CICS Transaction Summary report from the EasySMF Java samples:
This report produces a basic summary of CICS transactions grouped by APPLID and transaction name.
Software decompression is performed in Java by EasySMF as required. The program is processing 39GB of data after decompression.
This gives some idea of the overhead of compression on reporting, however this is very dependent on the reporting software you use and your mileage will definitely vary.
Elapsed (seconds) | CP (seconds) | zIIP (seconds) | |
---|---|---|---|
CICS software compression (6.6GB compressed) | 64.5 | 1.49 | 40.6 |
CICS software compression + zEDC (read 6.6GB, ~1GB compressed) | 39.5 | 1.25 | 45.4 |
zEDC compression only (read 39GB, ~1.9GB compressed) | 35.0 | 2.02 | 38.6 |
One interesting thing here is that zEDC with Java seems to allow more work to move from the CP to the zIIP. The time on CP reduces from 1.49s to 1.25s processing the 6.6GB input. The CP time processing the 39GB compressed with zEDC is only 2 seconds. Reading the same data with IFASMFDP took 5.6 seconds of CPU time. Presumably under Java the rest is included in the zIIP time.
CICS software compression increased elapsed and zIIP times by about 10-15% compared to zEDC compression only, but reduced CP time.
Conclusions
Based on these tests, zEDC works very well with SMF data.
- Elapsed times were greatly reduced in all cases
- The CPU time required was fractions of a second per GB
- CICS software compression appears to be still worthwhile. Reducing the amount of data being processed by zEDC significantly reduces the elapsed and CPU times for SMF copy operations e.g. SMF dump, weekly/monthly processing.
Don’t forget to measure and verify the results on your own systems!