New to Z

New to IBM Z

Deepen your technical skills, expand your global network, and connect with mentors and other early tenure professionals on the mainframe platform.

 View Only
  • 1.  Cobol Upgrade

    Posted Wed May 15, 2024 11:21 AM

    Hi All ,

    Iam trying to upgrade the Cobol from 5.1 to 6.4 , what are the ARCH level ,tune level and  other compiler options should i use for 6.4 in z14 as well as z16 system to get maximum benefit. 

    Do we see any benefit on z16 when upgrading Cobol from 5.1 to 6.4? 

    Thanks

    Melvin



    ------------------------------
    Melvin Reji
    ------------------------------


  • 2.  RE: Cobol Upgrade

    Posted Wed May 22, 2024 09:49 AM

    Hi Melvin,

    I saw that you posted a similar question on the COBOL topic group recently. Did Mike Chase's response answer your question? I'm copying it below for reference:

    Posted 18 days ago

    Hi Melvin,

    Every compiler release from COBOL 5.1 on has two types of performance improvements:

    • The optimizer adding new optimizations or improving existing ones to transform the code into something faster
    • Taking advantage of newer hardware instructions (when using the corresponding ARCH and TUNE options) that have been made available on newer hardware


    We can't give you an estimate on how much YOUR application will improve (even if we knew the hardware you were running on) but in our Performance Tuning Webinar, there are a couple graphs showing the improvements we get by varying compiler and hardware levels from COBOL 4.2 on to 6.4. 5.1 isn't included but the 5.1 numbers, had we rerun them when we updated the webinar before the COBOL 6.4 launch, would be closer to COBOL 5.2 than 4.2. You can view the webinar slides and a recording here: Enterprise COBOL for z/OS 6.4


    A couple things to keep in mind: first, the performance you see may not match ours. Different applications have different characteristics and are more or less able to be improved by compiler versions. That said, we haven't experienced clients upgrading over a large number of versions like that and having no improvement at all. You can expect to see some performance benefit; we just aren't sure how much. Typically we see bigger improvement in programs that do a lot of computations, and less improvement in programs that do a lot of I/O or spend a lot of time in CICS or Db2 or other middleware: those are things the compiler can't optimize. That's why we have two charts: one for computationally-intensive programs and one for a larger benchmark suite that adds programs that do a lot of I/O.

    Secondly, setting ARCH and TUNE correctly for your hardware will make a big difference to performance. Set ARCH to the level matching the oldest machine on which your application will run, and set TUNE to match your production machine. A client who has z15 in disaster recovery but z16 in production should set ARCH(13) and TUNE(14).

    ARCH limits which instructions the compiler can select. Limiting the compiler's choices to instructions available on a z15 in my example means that your application can successfully run on a z15. If we set ARCH(14) to target z16, that'd be fine in production, but the program might not run in the disaster recovery environment; older hardware can't understand instructions that were made for newer hardware, so your program will abend.

    TUNE tells the compiler to make choices that perform best on a particular machine, given the limit of which instructions to use as set by ARCH. So in my example, your production machine - where your code will run most and where performance matters most - is a z16, so we set TUNE to target it.



    ------------------------------
    Mike Chase
    Enterprise COBOL Developer
    mike.chase@ca.ibm.com
    -----------------------------

     



    ------------------------------
    Nicole Trudeau
    IBM COBOL Compilers Product Manager
    ------------------------------