ca.portal.admin

Re:Re: [IDMS-L] Dummies guide to ZIIP

Discussion created by ca.portal.admin on Jan 25, 2009
Just to add some figures to the debate as an illustration.

I have a 3rd party product with exits in IDMSDBIO. I have an I/O
intensive batch benchmark running on an empty machine.

These are my figures: The first 4 are without the 3rd party product. The
other 4 with it.

(RPSDSK means Records per second from disk i.e. this benchmark is doing
random I/O with < 5% buffer hits)

LOAD MT ZIIP CPUMINS RPSBUF RPSDSK RUNDATE

DSK N N 0.28 0 1920 2009-01-26
DSK Y N 0.28 0 3157 2009-01-26
DSK N Y 0.28 0 3448 2009-01-26
DSK Y Y 0.33 0 3370 2009-01-26

DSK N N 0.37 0 1910 2009-01-26
DSK Y N 0.38 0 1973 2009-01-26
DSK N Y 0.40 0 1923 2009-01-26
DSK Y Y 0.38 0 1948 2009-01-26

The first thing to notice is that the Records Per second with and
without the Exit in our current config of MT=N,ZIIP=N are 1910/1920 I.e
equal. The exit is using more CPU 0.37/0.28 but the machine is idle and
CPU is available. The I/O rate appears to be in control. The story is
very different when the CPU is under load.

If I turn multitasking on without the exit I get an immediate benefit. I
don't know why at the moment with only one run unit running.

If I turn multitasking on with the exit then I get a slight benefit. I
would have guessed that.

When I turn ZIIP on it gets really good.

My ZIIP throughput is fantastic without the exit. 60% faster on clock
time.

My ZIIP throughput with the exit is better - but only marginally.

Ergo the exit is negating my ZIIP effectiveness by a substantial amount
- In this scenario.

There is a diagnostic that can be used to determine the ZIIP swappiness.

For Case 1: No 3rd party exit. MT=N,ZIIP=Y I get:

CHGEMODE table display
Address Program Offset Call cnt TCB->SRB SRB->TCB
-------- -------- -------- ---------- ---------- ----------
1742DE2E IDMSDBIO 00000E2E 30 0 30
1742DEF6 IDMSDBIO 00000EF6 30 30 0

*** Subtask display ***

Subtask Elapsed time Total CPU time %
CPU SRB
Name TCB SRB TCB SRB TCB
SRB
-------- -------------- -------------- -------------- -------------- ---
---
MAINTASK 00:00:15.6231 00:00:01.6540 00:00:15.7667 00:00:04.0441 100
244 Y


For Case 2: With 3rd Party exit MT=N,ZIIP=Y I get:

CHGEMODE table display
Address Program Offset Call cnt TCB->SRB SRB->TCB
-------- -------- -------- ---------- ---------- ----------
005D7E2E IDMSDBIO 00000E2E 5675 0 5675
005D7EF6 IDMSDBIO 00000EF6 5675 5675 0

*** Subtask display ***

Subtask Elapsed time Total CPU time %
CPU SRB
Name TCB SRB TCB SRB TCB
SRB
-------- -------------- -------------- -------------- -------------- ---
---
MAINTASK 00:00:19.9256 00:00:02.1405 00:00:21.5052 00:00:04.8715 107
227 Y


Quite a lot more TCB time . All down to the Exit and dramatically
affecting my bottom line - recs per sec.

There is nothing wrong with CA's ZIIP implementation. It is really good.
But non CA exits can and do affect the result more than one would have
imagined.

In my case 1923 recs per second compared to 3348 recs per second. I
would call that significant.

Outcomes