(Originally posted 2015-02-21.)
… or probably more.
I was going to use “Send In The Clones” but I’ve already used it – and someone who shall remain nameless once misremembered it as “Let There Be Clones”. Let there be clones, indeed. 🙂
So, how do I detect cloned CICS regions, for example?
(And if you want to know why I’m asking that question now it’s an enforced rereading of CICS XCF Traffic Analysis – A Suitable Case For Treatment to expunge some errors that led me to think about the question.)
In that post I have two CICS regions that appear to behave identically. But that’s just from the XCF Traffic point of view.
What Should Be Similar
Each CICS region’s SMF 30 records will have one or more Usage Data Sections:
- It would be reasonable to expect the CICS section to have the same version and release, though this transitionally might not be the case.
- Similarly, for CICS and MQ, the versions and releases would match, and subsystem names would match. (The subsystem name in this case is consistently embedded in an identifier.)
- For IMS we just get the version and release. But this section’s presence and consistency is to be expected.
Some things should be similar – for well-balanced clones. But see below. Those things include:
- I/O rates
- XCF traffic, including partner systems.
By “similar” two things to note:
- Exact matches for numeric values are unrealistic.
- Timing is important. The matching would be across all hours of the day.
You might expect restart times and dates to be pretty similar, but these might be rolling – from LPAR to LPAR. And if you dynamically provision cloned CICS regions (not that I’ve ever seen it) the restart times would vary.
Naming conventions are fraught. While clones generally do obey a naming convention more than half of the customers I’ve looked at this way would yield “false positives”. For example CICSA and CICSB are clones, but CICSC isn’t.
What Might Vary
Just because regions are cloned doesn’t mean all the numbers have to match. For example
- If the CICS regions are spread across LPARs (or machines) with different effective engine speeds their CPU times could be expected to vary.
- If work distribution – by whichever method – is uneven a lot of the numbers might vary.
- Memory – whether virtual or real – is quite fraught.
Some Further Thoughts
It’s occurred to me – looking at my current reporting – that some level of clone detection could be automated. To be fair the reporting that puts me on the brink of this is less than a year old. So many reporting ideas; So little time. 🙂
And if I did detect clones, what then? Ideally I’d be generating diagrams. Just yesterday I gave up on drawing a CICS / IMS / MQ / DB2 topology diagram for a sysplex. I gave up because it took too longer to manually gather the data. Actually the diagram layout is the difficult (rather than tedious) bit. But I have ideas… 🙂
As usual, the aim is to get closer to what you’re running and how; And what issues that creates. And I’m a lot further on than I was with He Picks On CICS. The journey continues…