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

Reply via email to