On 1/04/2016 1:26 PM, Andrew Rowley wrote:
On 1/04/2016 15:54, David Crayford wrote:
Good luck with that mate! I've had conversations with the authors of
JZOS about RecordReader and it uses all the tricks bar going down to
EXCPs. There are also smarts to mitigate JNI overhead. If you write
your own JNI code it won't be zIIP eligible?
Have you measured RecordReader against an assembler program doing
nothing more than reading a file? I did that once and it was close.
Yes, the Java program used a little more than double the CPU of the
Assembler program reading 8GB of SMF data - but more than half was on
zIIP so there was actually less CP time. I need to do some tests to
work out how that varies with different quantities of data i.e. how
much is the startup of the JVM.
How close was close when you measured it?
Pretty close. I haven't tried it on a massive data set. The assembler
routine is for QSAM.
RECFM=VB ,LRECL=32756,BLKSIZE=32760 SPACE=(CYLS,(1500))
Assembler:
Program Name QIOT hh:mm:ss.th
Step Name QIOT Elapsed Time 14.90
Procedure Step TCB CPU Time 02.75
Return Code 00 SRB CPU Time 01.76
Total I/O 42800 Total CPU Time 04.51
Service Units 61344
Region Size 32768K Pages Paged 1
Data/Hiperspace 0M Pages Swapped 0
ASID Swaps 0 Pages Stolen 0
VIO (In and Out) 0
--------Below 16Meg-------- --------Above 16Meg--------
Private Area 9192K Private Area 1539072K
Max Allocated 12K Max Allocated 304K
LSQA And SWA 272K LSQA And SWA 10780K
JZOS RecordReader:
Step Termination Statistics
Program Name COZBATCH hh:mm:ss.th
Step Name RUNCOZ Elapsed Time 15.90
Procedure Step TCB CPU Time 00.23
Return Code 00 SRB CPU Time 01.87
Total I/O 65372 Total CPU Time 02.10
Service Units 139K
Region Size 8384K Pages Paged 1
Data/Hiperspace 0M Pages Swapped 0
ASID Swaps 0 Pages Stolen 0
VIO (In and Out) 0
--------Below 16Meg-------- --------Above 16Meg--------
Private Area 9192K Private Area 1539072K
Max Allocated 64K Max Allocated 234000K
LSQA And SWA 288K LSQA And SWA 127880K
real 0m15.63s
user 0m 4.65s
sys 0m 1.55s
I would prefer to use JZOS and avoid doing my own JNI. I did play
around with JNI and got maybe a 5% total reduction over RecordReader,
but the time on CP was much greater. I have some other improvements to
do in my own code first but might revisit it later.
Regards
Andrew Rowley
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN