Re: zAAP vs x64 performance comparison

2014-09-02 Thread Scott Chapman
1) zAAPs were only doing Java work. The z10 machines at the time had no option 
for zAAP on zIIP, so we're talking about real zAAPs here, which only are 
eligible for Java work. 

2) Yes, when I said zAAP-eligible I meant just JVM work, not including stuff 
that isn't eligible. For example, if you look at the Websphere address spaces, 
the servants running the application Java code are almost all eligible. But the 
daemon, node agent and server all do more work that's not eligible. If you look 
in SDSF, there are a few data columns of interest:
JOBNAME CPU-Time GCP-Time zAAP-NTime zACP-Time zAAP-Time  ECPU-Time
P3SR01AS 2189.2022.082039.81  6.72328.213225.14
P3SR02AS 7197.2465.006995.91 13.61   1125.679299.76
P3SR02A  1303.91   663.30 582.25  0.78 93.681303.91
P3SR02BS 7536.5365.277314.36 12.95   1176.919854.92
P3SR01A   516.91   106.61 381.86  1.47 61.44 516.91
P3SR01BS 1997.0914.321849.42  5.75297.582086.93
P3DMGR   5358.58   656.194511.57 30.37725.935358.58
P3SR02B  1314.07   649.79 603.67  0.92 97.131314.07
P3AGNTA  3111.00   418.392495.72  8.96401.573111.00

CPU-Time is the total normalized time across all the processor types. IIRC, 
ECPU-Time includes some enclave time that CPU-Time does not. GCP-Time shows the 
time on the GCPs. zAAP-NTime, is the zAAP time, normalized to the GCP speed, 
whereas the zAAP-Time column shows the non-normalized values. (Since those are 
different above, you can see I'm running on sub-capacity GCPs and the 
normalization factor is about 6.2x.) zACP-Time is the time on the GCP that was 
zAAP-eligible but for some reason ran on the GCP. You can see that 's very 
tiny. It will never be zero because of the way some interrupts are handled, but 
with IFAHONORPRIORITY=NO it can be very small. Note that NO is not 
appropriate in all situations. 

So when I said 95% of their zAAP-eligible time is on the zAAPs, I meant zACP 
/ (zACP+zAAP-N). 

Here's an example though where it works out to 94% though:
JOBNAMECPU-Time GCP-Time zAAP-NTime zACP-Time zAAP-Time  ECPU-Time
RTMSERVE   14639.67  7958.276564.75421.45   1056.30   14639.67
RTMSERVE3708.42   275.123392.55  8.20545.883708.42

That first address space spends a fair amount of time calling REXX scripts from 
the JVM, so there's more swapping backs and forth between the GCP and zAAP, and 
that's probably got something to do with why it has more zACP time. You'll also 
notice that ECPU-time = CPU-Time in this example, supporting my recollection 
that ECPU-time has something to do with the enclave time as there's no enclaves 
involved here.

All this data is also in the type 30 SMF records.

I'm glad you found the post interesting.

Scott


On Thu, 28 Aug 2014 08:24:59 -0500, Elardus Engelbrecht 
elardus.engelbre...@sita.co.za wrote:

the z10 zAAPs stayed at right around 15-20% busy or so.

With or without, for example, DB2 work offloaded to zAAP?

With that set to no I think all of my JVMs show 95% of their zAAP-eligible 
time is on the zAAPs, and 98% is not uncommon.

Just curious and if you don't mind please, what did you used to measure those 
usage percentage? Are only the JVM work measured or not?

I don't think I answered your question, but hopefully I've given you some 
things to think about.

But you gave a good general answer. I believe many on IBM-MAIN can learn from 
it.

Many thanks!

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: zAAP vs x64 performance comparison

2014-08-28 Thread Scott Chapman
In short, in my experience, Java performance on the mainframe is acceptable to 
very good today. 

If you're trying to make the case that my mainframe processor is faster than 
your processor in your laptop, that's somewhat difficult to prove because the 
processors and systems are designed for different use cases: high throughput 
for large mutli-user workloads vs. high performance for single-user workloads. 
I believe you could construct a benchmark that would prove either platform is 
superior.

If you're trying to get a feel for is Java fast enough on the mainframe, then 
the answer is generally yes, it Java on the mainframe with adequate zAAP 
capacity is more than likely fast enough. I have Java workloads I've run on 
both Intel and zAAPs and the difference in performance (on the last few 
generations of z hardware, with adequate zAAP capacity) is not generally 
significant. I/O performance can be a much more interesting component than the 
CPU time.

If you're trying to determine how much zAAP capacity you're going to need to 
run a particular workload on the mainframe, that's more complicated. Your best 
bet is to actually test the workload there. Again with adequate zAAP capacity, 
or on an off time with adequate GCP capacity. If testing on GCPs, take care if 
you're using sub-capacity GCPs.

Several years ago we did a test for a relatively large (for us) Websphere 
application on both AIX and z/OS. The proposed AIX config was something like a 
pair of 16-way AIX boxes. The z config was 4 z9 zAAPs (two on two separate 
CECs). Personally, I think the AIX boxes were likely over-configured, but I 
wasn't responsible for testing on that platform, so I can't say for sure if 
that was the case. In the end the application ended up going live on 6 z10 
zAAPs, and the z10 zAAPs stayed at right around 15-20% busy or so.

Note I say zAAP, but zAAP on zIIP should be effectively the same. Other than of 
course you may have more workloads competing for those zIIPs. Note that 
depending on the xxxHONORPRIORITY setting in IEAOPTxx, Java workload may fall 
back to GCPs. Depending on how many specialty engines you have, how busy your 
GCPs are, and whether or not you're running sub-cap GCPs, you may want to 
consider setting xxxHONORPRIORITY=NO to keep as much of the Java work on the 
specialty engines as possible. With that set to no I think all of my JVMs 
show 95% of their zAAP-eligible time is on the zAAPs, and 98% is not uncommon.

If you're trying to test the same code on both platforms be aware that there 
are a lot of differences to worry about... You probably are not running the 
same JVM on Windows as you are on z/OS. JVM settings such as heap size and the 
garbage collection algorithm can make for significant differences in run times. 
If you're running relatively short-lived tests, the JVMs may not JIT the code 
in the same timeframe on both platforms. The I/O subsystems as well as the file 
systems are completely different between the platforms. If the application uses 
JDBC, the performance of the database, and of the network between the JVM and 
the database can easily be the most important component.

I don't think I answered your question, but hopefully I've given you some 
things to think about.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: zAAP vs x64 performance comparison

2014-08-28 Thread Elardus Engelbrecht
Scott Chapman wrote:

I believe you could construct a benchmark that would prove either platform is 
superior.

True. Some vendors are building benchmark to 'prove' their own hardware and/or 
software is 'better'.

 I/O performance can be a much more interesting component than the CPU time.

Of course. That (I/O Performance) and type of workload mix can throw up any 
benchmarks you're trying to use.

the z10 zAAPs stayed at right around 15-20% busy or so.

With or without, for example, DB2 work offloaded to zAAP?

With that set to no I think all of my JVMs show 95% of their zAAP-eligible 
time is on the zAAPs, and 98% is not uncommon.

Just curious and if you don't mind please, what did you used to measure those 
usage percentage? Are only the JVM work measured or not?

I don't think I answered your question, but hopefully I've given you some 
things to think about.

But you gave a good general answer. I believe many on IBM-MAIN can learn from 
it.

Many thanks!

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN