elevating application performance with the latest ibm cobol offerings

40
Elevating Application Performance with the latest IBM COBOL Offerings Kevin Stoodley, IBM Fellow and CTO: z Systems Software Annette Keenleyside, Program Director, Compilers - Offering Management, Development and Support

Upload: devops-for-enterprise-systems

Post on 16-Jan-2017

594 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Elevating Application Performance with the latest IBM COBOL offerings

Elevating Application Performance with the latest IBM COBOL Offerings

Kevin Stoodley, IBM Fellow and CTO: z Systems Software Annette Keenleyside, Program Director, Compilers - Offering Management, Development and Support

Page 2: Elevating Application Performance with the latest IBM COBOL offerings

Please Note:

1

• IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.

• Information regarding potential future products is intended to outline our general product direction and it should not be relied on in

making a purchasing decision. • The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any

material, code or functionality. Information about potential future products may not be incorporated into any contract. • The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. • Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual

throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 3: Elevating Application Performance with the latest IBM COBOL offerings

Compilers on z Systems - Overview

Page 4: Elevating Application Performance with the latest IBM COBOL offerings

Value of IBM Compilers on z Systems

• Reduce CPU utilization by improving performance of applications • Exploitation of z/Architecture (z10, z196, zEC12, zBC12, z13, z13s) • Advanced Optimization

• Support next-generation Applications • Modernize business critical System of Record applications to support new

System of Engagement applications (e.g. web, mobile, cloud…) • Support latest IBM Middleware (CICS, IMS, DB2…)

• Improve Productivity • New programming features • New problem determination features

3

Page 5: Elevating Application Performance with the latest IBM COBOL offerings

Compilers on z Systems

Enterprise COBOL for z/OS v6.1

Automatic Binary Optimizer for z/OS v1.1 Enterprise PL/I for z/OS v4.5

z/OS v2.2 XL C/C++

XL C/C++ for Linux on z Systems v1.2

4

NEW!

NEW!

NEW!

Page 6: Elevating Application Performance with the latest IBM COBOL offerings

Compilers on z Systems

5

• Optional feature of z/OS 2.2

• Provides system programming capabilities with Metal C option

• Fully Supports z/Architecture, including z13 & z13s processors

• Ships with High performance Math Libraries tuned for z13

z/OS V2.2 XL C/C++

Enterprise PL/I for z/OS V4.5

• Critical Business Language – Committed to invest in leading-edge technology

• Shipped a new release every year since 1999

• Fully Supports z/Architecture, including z13 & z13s processors

• Provide full support for JSON

(Parse, Generate, and Validate)

*Up to 17% reduction in CPU time*

*Up to 24% increase in throughput*

XL C/C++ for Linux on z Systems V1.2

• New compiler based on Clang and IBM optimization technology

• Fully Supports z/Architecture, including z13 & z13s processors

• Provide easy migration of C/C++ applications to System z

• World Class service and support provided by IBM

*Up to 14% increase in performance over GCC*

* The performance improvements are based on internal IBM lab measurements. Performance results for specific applications will vary, depending on the source code, the compiler options specified, and other factors

Page 7: Elevating Application Performance with the latest IBM COBOL offerings

New COBOL Technologies on z Systems

Page 8: Elevating Application Performance with the latest IBM COBOL offerings

Evolution of IBM COBOL

7

OS/VS COBOL (Ann: 1960s) • ISO COBOL 68 & 74 Standards

VS COBOL II (Ann: 1980s) •New technology base; Not compatible with OS/VS COBOL

• ISO COBOL 85 Standard

•31 bit addressing, Reentrancy, DBCS…

COBOL/370, COBOL for MVS & VM; COBOL for OS/390 & VM (Ann: 1990’s) •Language Environment

• Intrinsic functions •Debug Tool •Dynamic Libraries, USS, DB2 coprocessor…

Enterprise COBOL V3 (Ann: 2001-2005) •Unicode •Native Java & XML •CICS & DB2 co-processors; IMS Java regions

•Debugging of production code with Debug Tool

•Data item limits raised to 128MB (from 16 MB)

Enterprise COBOL V4 (Ann: 2007-2009) •XML System Services parser

•DB2 9 SQL support with coprocessor

•Java 5 & 6 support; •UNICODE performance improvement

• Improve debug support for optimized code

Enterprise COBOL V5 (Ann: 2013) •New advanced Optimization Framework

•New COBOL Runtime

•DWARF Debugging format

•Exploits Program Object

•New COBOL 2002 Language Features

•Generates SMF 89

Enterprise COBOL V6 (Ann: 2016) •Enhanced Scalability – Compile and Optimize very large COBOL programs

•Native JSON “Generate”

•New COBOL 2002 Language Features

•Enhanced Migration Help

New Lang. Standard 31-bit addressing…

LE, Debug, USS…

Application Modernization Middleware Interoperability Internationalization

Day 1 z Processer Support Rel-Rel Performance Improvement New COBOL Language Features App. Modernization Features

Page 9: Elevating Application Performance with the latest IBM COBOL offerings

Exploiting z/Architecture

8

zEC12/zBC12 Arch(10) •Decimal-Floating-Point Zoned-Conversion Facility…

z13/z13s Arch(11) •Decimal-Floating-Point Packed-Conversion Facility •SIMD instructions…

z10EC/z10BC Arch(8) • Decimal Floating

Point (DFP) • Wider immediate

data

z196/z114 Arch(9) • Distinct Operand • Conditional Load • High Word

Instructions

Default ARCH level is now ARCH 7 - IBM System z9EC (2094-xxx models) IBM System z9 BC (2096-xxx models)

Page 10: Elevating Application Performance with the latest IBM COBOL offerings

COBOL Offerings on z Systems

• 2 Complementary Offerings to help clients improve performance of business critical COBOL applications

• Enterprise COBOL for z/OS – Compile and Optimize COBOL source code

• Automatic Binary Optimizer for z/OS – Optimize existing binaries (load modules) compiled with Enterprise

COBOL V3 and V4

9

NEW!

Page 11: Elevating Application Performance with the latest IBM COBOL offerings

Enterprise COBOL for z/OS V6.1

NEW!

Page 12: Elevating Application Performance with the latest IBM COBOL offerings

Recap: Enterprise COBOL V5 • New Optimization Framework

• z/Architecture exploitation and Advance Optimization • Improve application performance and reduce CPU utilization

• New COBOL Runtime • New Object and Debug formats

• Program Objects - Requires PDSE • Industry standard DWARF debug format

• Maintains source and binary compatibility • Correct COBOL programs will compile and execute without changes and produce the same results • “Old” and “new” code can be mixed within an application • Removed some old language extensions and options

• Supports the ecosystem of programming tools supplied by IBM and ISVs.

11

Page 13: Elevating Application Performance with the latest IBM COBOL offerings

Customer Experiences

12

• Strong customer adoption

• Positive feedback on performance of batch applications • CPU reduction of 10% to 20% • Best case: CPU reduction over 60% (Elapsed time reduction over

70%) – reported by a major FSS customer in US

• Clients sharing experiences at conferences

“This is the biggest COBOL conversion in more than a decade…New compiler uses significantly more CPU and virtual storage during the compile process but generates programs that in many cases run more efficiently than any prior COBOL compiler

“Enterprise COBOL Version 5 User Experience”, Brian Peterson, UnitedHealth Group, Share 2015

After recompiling COBOL Programs with COBOL V5, average CPU consumption decreased 12% (Before 0.0283, After 0.0249), # of transactions processed increased 56% (Before 18.471 After 28,799)

“Modernizing the Mainframe”, Craig Whitaker, Humana, Impact 2014

Page 14: Elevating Application Performance with the latest IBM COBOL offerings

Enterprise COBOL for z/OS V6.1 • Announced: Feb 16; GA: Mar 18

• Improved Scalability – Expanded capacity to compile and optimize very large COBOL programs (e.g. source output from

COBOL code generators) – Compiler is now itself a 64-bit application utilizing increased address space and memory to

optimize large 31-bit COBOL programs

• Deliver release-to-release performance improvements – Fully supports z13 and z13S hardware – Well-structured, compute intensive batch applications running on z13 compiled with COBOL V6.1

have shown CPU time reduction of up to 5% over the same applications compiled with COBOL V5.2; up to 40% over the same applications compiled with COBOL V4.2 1

13

1 Performance results are based on an internal IBM compute-intensive test suite. Performance results from other applications may vary.

“Our experience with a beta version of COBOL V6.1 shows that this compiler allows us to successfully compile very large COBOL modules previously limited by COBOL V5. The new 64-bit infrastructure in COBOL V6.1 liberates the full functionality of the compiler in every scenario we’ve tried.”

A COBOL DPP participant.

Page 15: Elevating Application Performance with the latest IBM COBOL offerings

Enterprise COBOL for z/OS V6.1 – New Features

• New capability to generate JSON documents directly from COBOL – Extend business critical (System of Record) applications written in COBOL to support

mobile (System of Engagement) application where preference is REST/JSON

• COBOL 2002 language features – ALLOCATE and FREE – Enhanced INITIALIZE – File status updates – Reduced memory required for Table SORT

• Improved migration from COBOL compilers prior to Enterprise COBOL V5 – Improved reporting on invalid data and out of bounds checks to help clients detect

errors in existing source

14

Page 16: Elevating Application Performance with the latest IBM COBOL offerings

15 15

Exploiting zEC12 – Example Decimal Divide Where Operands Exceed Packed Decimal Hardware Limits

1 z14v2 pic s9(14)v9(2). 1 z13v2 pic s9(13)v9(2). ... Compute z14v2 = z14v2 / z13v2

V6 • Inlined with 6 instructions • CDZT/CZDT are new zEC12 instructions to convert between zoned and DFP types • ARCH (10) CDZT FP0,152(16,R8),0x8 CDZT FP1,168(15,R8),0x8 SLDT FP0,FP2,2 DDTR FP0,FP0,FP1 FIDTR FP0,9,FP0 CZDT FP0,152(16,R8),0x9

V4 • Calls out to library routine • Runtime path length is > 100 instructions

PACK 344(9,13),0(16,2) PACK 360(16,13),16(15,2) MVC 376(32,13),59(10) MVC 398(9,13),344(13) NI 406(13),X'F0' MVN 407(1,13),352(13) L 3,92(0,9) L 15,180(0,3) LA 1,146(0,10) BASR 14,15 NI 431(13),X'0F' ZAP 431(9,13),431(9,13) UNPK 0(16,2),431(9,13)

Timing (100 million in a loop) V6.1 : 1.08 cpu seconds V4.2 : 4.81 cpu seconds V6 is ~4.5X faster

15

Page 17: Elevating Application Performance with the latest IBM COBOL offerings

Exploiting z13 – Example PACKED-DECIMAL (COMP-3) faster with Decimal Floating Point

V6.1 – ARCH 11 CXPT FP0:FP2,152(13,R8),0x8 CXPT FP1:FP3,165(13,R8),0x8 DXTR FP4:FP6,FP0:FP2,FP1:FP3 FIXTR FP0:FP2,9,FP4:FP6 CPXT FP0:FP2,178(13,R8),0x9 AHI R2,0xffff CIJ R2,L0034,0,HT(mask=0x2),

V5.1 – ARCH10 XGR R0,R0 ICMH R0,X'1',152(,R8) # A L R0,153(,R8) # A LG R1,157(,R8) # A CXSTR FP0,R0 XGR R0,R0 ICMH R0,X'1',165(,R8) # B L R0,166(,R8) # B LG R1,170(,R8) # B CXSTR FP1,R0 DXTR FP4:FP6,FP0:FP2,FP1:FP3 FIXTR FP0:FP2,9,FP4:FP6 CSXTR R0:R1,0,FP0:FP2 STCMH R0,X'1',178(,R8) # C ST R0,179(,R8) # C STG R1,183(,R8) # C ZAP 178(13,R8),178(13,R8) # C AHI R2,0xffff CIJ R2,L0034,0,HT(mask=0x2),

Timing (100 Million times in a loop) V5.1 : 2.53 cpu seconds V6.1 : 1.64 cpu seconds (1.5Xfaster)

WORKING-STORAGE SECTION. 01 VARS. 02 A PIC S9(25) COMP-3 VALUE +1234567890123456789012345. 02 B PIC S9(25) COMP-3 VALUE +2468097531246809753124680. 02 C PIC S9(25) COMP-3 VALUE 0. PROCEDURE DIVISION. PERFORM 100000000 TIMES DIVIDE A BY B GIVING C END-PERFORM

16

Page 18: Elevating Application Performance with the latest IBM COBOL offerings

17 17

Exploiting z13 – Example INSPECT ... TALLYING faster with SIMD

V6.1– ARCH 11 LHI R0,0xfe XR R1,R1 LA R12,152(,R8) # STR VREPIB VRF27,0x40 VGBM VRF25,0x0 L0066: EQU * VLL VRF24,R0,0(,R12) # AHI R12,0x10 VCEQB VRF24,VRF24,VRF27 AHI R0,0xfff0 VLCB VRF24,VRF24 VAB VRF25,VRF25,VRF24 JNL L0066 VGBM VRF26,0x0 VSUMB VRF25,VRF25,VRF26 VSUMQF VRF25,VRF25,VRF26 VLGVG R1,VRF25,1(,R1) # A R1,407(,R8) # C ST R1,407(,R8) # C

V5.1 – ARCH10 LHI R0,0xff XR R1,R1 LA R12,152(,R8) # STR L0064: EQU * CLI 0(,R12),X'40' # JNOP L0066 LA R1,1(,R1) # L0066: EQU * LA R12,1(,R12) # BRCT R0,L0064 A R1,407(,R8) # C ST R1,407(,R8) # C

Timing (100 Million times in a loop) V5.1 : 46.63 cpu seconds V6.1 : 1.54 cpu seconds 30X faster

WORKING-STORAGE SECTION. 01 VARS. 02 STR PIC X(255). 02 C PIC 9(5) COMP-5 VALUE 0. PROCEDURE DIVISION. MOVE ALL 'abc def ghi jkl ' TO STR PERFORM 100000000 TIMES INSPECT STR TALLYING C FOR ALL ' ' END-PERFORM STOP RUN.

17

Page 19: Elevating Application Performance with the latest IBM COBOL offerings

Migrating to COBOL V6.1

• Migrating from older compilers (COBOL V4 or older) to V6 (or V5) – Requires more work than migrating from COBOL V3 to COBOL V4 - Need advance planning

• System setup (e.g. PDSE, memory requirements…) • Identifying and resolving old syntax removed in COBOL V5 • Migrating applications compiled by OS/VS COBOL and VS COBOL II NORES to Enterprise COBOL • Re-compile • Regression Test…

… But this is a One time investment… and there are tools to help (e.g. RDz, new Compile options…)

• Migrating from COBOL V5 to V6

– Similar to migrating from COBOL V3 to COBOL V4 – Very straightforward Consult Migration Guide http://www-01.ibm.com/support/docview.wss?uid=swg27036733 or ask your

IBM rep. to arrange a Migration Workshop

18

Page 20: Elevating Application Performance with the latest IBM COBOL offerings

Rational Developer for System z (RDz) - support for COBOL Migration

• Editor support for new syntax – Content Assist – Real-time syntax check – Option to flag obsolete syntax

• Built in rules to identify obsolete language for Code Review

• Scan COBOL source for compatibility of function calls

– Detects compatibility of parameters passed between the calling program and the called program

19

Page 21: Elevating Application Performance with the latest IBM COBOL offerings

•Only toolset that exploits DWARF debugging format which has good support for debugging of optimized code

–Debug information is stored in “no load” section of program object

• Simplifies the management of side files. Eliminates the possibility of side file mismatch

• No impact to size of program object - DWARF information is not loaded while program executes normally. Only read from the file when it is required.

•Application Performance Analyzer for z/OS, Debug Tool for z/OS and Fault Analyzer for z/OS fully exploit the new DWARF format.

•File Manager for z/OS supports COBOL V5 and V6 level COPYBOOKs.

IBM PDtools best supports COBOL V5 & V6

Source

Load module

Compiler listing/sysdebug

Compiler

PD Tools

Source

Compiler

PD Tools DWARF

Program Object

Before COBOL V5

After COBOL V5 20

Page 22: Elevating Application Performance with the latest IBM COBOL offerings

Automatic Binary Optimizer for z/OS V1.1

NEW!

Page 23: Elevating Application Performance with the latest IBM COBOL offerings

IBM Automatic Binary Optimizer (ABO) for z/OS

• ABO improves performance of already compiled COBOL v3 & v4 programs • Optimize directly from the compiled program

• No source level migration or recompilation or options tuning required • Leverage latest advanced COBOL optimization technology • Generate code to target latest z Systems (e.g. zEC12,zBC12 & z13, z13s) • Support in z/OS® 2.2 to automatically load optimized modules to target latest z Systems

ABO Original Program Binaries

(Base ESA390) Optimized Program Binaries

(Latest z Systems)

Available November 6th 2015 – z/OS 2.2; February 19th 2016 – z/OS 2.1

http://www-03.ibm.com/software/products/en/z-compilers-optimizer

22

Page 24: Elevating Application Performance with the latest IBM COBOL offerings

ABO – Architecture Exploitation

23

ARCH(0)

ARCH(…)

ARCH(11) z13/z13s

All Pre-V5 COBOL compiler releases generated only base ESA/390 level code ABO generates code up to z13/z13S ARCH(11)

•Using ABO on COBOL v3 and v4 allows applications to access over 600 new hardware instructions already on clients’ machines

Original Compiled Programs

Optimized Programs

Page 25: Elevating Application Performance with the latest IBM COBOL offerings

ABO or COBOL V5 ? • Answer : Both (They serve different but complementary purposes)

Use Case ABO COBOL V5 Significant Performance Improvement* *No Source, Migration or Options Tuning Required

Interoperability/Legacy Compatibility PDS supported, pre-Enterprise COBOL etc.

Built in Support for Targeting Multiple Hardware Levels At Deployment

No need to downgrade ARCH setting to match DR* machine Original compiled program always available for DR

New COBOL development and new features Maintenance on existing COBOL programs Maximum Performance Improvement* *Source, Migration and Options Tuning Required

*DR Disaster Recovery Machine : Down level machine used for emergency situations. Usually 1 or 2 revisions old so puts limits on Compiler ARCH setting (and performance improvements possible) based on this older level

24

Page 26: Elevating Application Performance with the latest IBM COBOL offerings

• Unbind • Binary IR*

Verify

• Optimize • Optimize • Optimize…

Verify • IR Binary • Rebind

Done

Global Optimization

Optimized Executable

CSECT1 … CSECTN

Original Executable

CSECT1 … CSECTN

*IR - Intermediate Representation

ABO

25

Page 27: Elevating Application Performance with the latest IBM COBOL offerings

Compatibility and Testing

ABO consumes the original binary so the exact behavior

of the original program is known vs the documented

“correct” behavior when compiling from source

No compile options (performance or otherwise)

are changing

The optimized program looks/behaves as the

original program from the outside (but faster!) so no interoperability concerns

with other programs Strong compatibility guarantee for the modules produced by ABO

Focus should be on performance and scalability (less on business logic) If something goes wrong, revert to using original program

Testing

Inter- operability

Options Unchanged

Binary As Input

Users can optimize objects in test environment and to deploy static executable to production environment 26

Page 28: Elevating Application Performance with the latest IBM COBOL offerings

ABO Performance Internal Benchmark Suite and Early Customer Results

Early customer results show performance gains of 5% to 21% for a mix of v3 and v4 compiled input programs

Internal Benchmarks: Mix of Compute and I/O Bound Applications ABO showed up to 34% performance improvement of over COBOL V4.2 on z13

*Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.

Overall: 15% average performance improvement on applications compiled with Enterprise COBOL V3 or V4

27

Page 29: Elevating Application Performance with the latest IBM COBOL offerings

ABO Example – Numeric Edited MOVE – 2.35x Faster 01 WS-VAR-1 PIC S9(9)V99 COMP-3. 01 WS-VAR-2 PIC ZZZ,ZZZ,ZZ9.99. MOVE WS-VAR-1 to WS-VAR-2

Automatic Binary Optimizer • Decompose edit behavior to a longer but much faster

sequence

TP 0(6,R4) ... UNPK 340(11,R10),0(6,R4) IIHF R1,1075847200 OI 350(,R10),X'F0' IILF R1,1797267488 ... ICM R1,X'3',349(,R10) CDPT FP0,0(6,R4),0x8 STCM R1,X'7',284(,R5) ...

V4 OPT(FULL) • Uses traditional ED (edit) instruction MVC 272(15,13),103(10) L 2,300(0,9 ED 272(15,13),0(2) MVC 8(14,2),273(13)

28

Page 30: Elevating Application Performance with the latest IBM COBOL offerings

ABO Example – Decimal To Float MOVE – 3.97x Faster 01 WS-VAR-1 PIC S9(7)V99. 01 WS-VAR-2 comp-2.

MOVE WS-VAR-1 to WS-VAR-2

Automatic Binary Optimizer • Decimal to float conversion is inlined using a more

efficient algorithm CVB R0,340(,R10) LD FP8,256(,R7) CXFR FP0,R6 DXR FP4,FP8 ... AXR FP4,FP0 LDXR FP0,FP4

V4 OPT(FULL) • Library Call for decimal to float conversion • Runtime path length is > 100 instructions L 3,92(0,9) L 15,268(0,3) V(IGZCFPC ) LA 1,227(0,10) BASR 14,15 MVC 16(8,2),272(13)

29

Page 31: Elevating Application Performance with the latest IBM COBOL offerings

• Increase performance of COBOL applications • Lowers cost of all MLC software by driving down peak 4HRA workload (MSU)

ABO – Economics

MLC cost is calculated based on peak 4HRA workload (MSU)

COBOL Applications

DB2

CICS

.

.

.

No ABO With ABO

Increasing performance of COBOL Applications lowers peak 4HRA workload (MSU). Lowers overall MLC cost for entire system

Peak 4HRA

Peak 4HRA COBOL

Applications

With ABO

Increasing performance of COBOL Applications lowers processing time and releases capacity for other workloads

Peak 4HRA

COBOL applications drive peak 4HRA

COBOL applications run in “grey area”

.

.

.

DB2

CICS

CICS

DB2

COBOL Applications

.

.

.

30

Page 32: Elevating Application Performance with the latest IBM COBOL offerings

Tooling Support For The Optimized Modules

• What is changing in the optimized modules: – New instructions will replace the original instructions – An additional program literals area is created for use by the new instructions – New language ID entries, timestamps and other metadata

• What is not changing in the optimized modules :

– All control blocks and data areas (e.g. TGT, DSA, working/local storage, original program literals) remain unchanged

• What ABO provides to support tooling enhancements: – A ‘listing transform’ to map original offsets/instructions to new offsets/instructions – Retaining original metadata (e.g. language ID, timestamps, info signature bytes) in the optimized

module – New PPA4 section with information about the optimized module

31

Page 33: Elevating Application Performance with the latest IBM COBOL offerings

COBOL v4.2 compiler listing: 000027 COMPUTE 00042C F247 D110 8000 PACK 272(5,13),0(8,8) TS2=0 WS-

VAR-1 000432 960F D114 OI 276(13),X'0F' TS2=4 000436 F247 D118 8008 PACK 280(5,13),8(8,8) TS2=8 WS-

VAR-2 00043C 960F D11C OI 284(13),X'0F' TS2=12 000440 FA44 D110 D118 AP 272(5,13),280(5,13) TS2=0 TS2=8 000446 F374 8010 D110 UNPK 16(8,8),272(5,13) WS-VAR-3 TS2=0 00044C 96F0 8017 OI 23(8),X'F0' WS-VAR-3+7

Listing Transform: 00042C PACK 272(5,13),0(8,8) 000432 OI 276(13),15 0004C4 ED07 4000 00AA 00042C CDZT FP0,_WSA[0x12c]

0(8,R4),0x0 000436 PACK 280(5,13),8(8,8) 00043C OI 284(13),15 0004CA ED07 4008 10AA 000436 CDZT FP1,_WSA[0x12c]

8(8,R4),0x0 000440 AP 272(5,13),280(5,13) 0004D0 B3D2 1000 000440 ADTR FP0,FP0,FP1 000446 UNPK 16(8,8),272(5,13) 00044C OI 23(8),240 0004D4 ED07 4010 00A8 00044C CZDT FP0, 16(8,R4),0x0

COBOL Program: 000027 COMPUTE WS-VAR-3 = WS-VAR-1 + WS-VAR-2.

Input “source” instructions. Starts at column 1

Optimized Instructions. Starts at column 5

LEGEND: Source Line number in original program. CSECT offset of instruction generated by COBOL 4.2 Compiler CSECT offset of instructions generated by ABO

Each optimized instruction generated is also annotated with the “source” offset that it was generated for Allows tracking as instructions are re-ordered

Tooling Support For The Optimized Modules Listing Transform Walkthrough

32

Page 34: Elevating Application Performance with the latest IBM COBOL offerings

Tools & Middleware Support • IBM Tools

– IBM PD Tools – Provides Day-1 support • Fault Analyzer (FA)

• Provide ABEND analysis of optimized load modules • Debug Tool (DT)

• Allows users to step through and debug optimized programs interactively

• Application Performance Analyzer (APA) • Allows users to compare the performance of original

programs and optimized programs • ISVs Tools

– Working with Compuware, CA, Macro 4 on ABO support

• Middleware – DB2, CICS, and IMS

APA FA

DT

33

Page 35: Elevating Application Performance with the latest IBM COBOL offerings

Future Possibilities for IBM COBOL are endless

• Technology framework provides a solid foundation for enabling new, advanced optimizations and capabilities in both ABO and IBM COBOL

• Profile-driven optimizations • Interprocedural Optimizations • 64-bit COBOL implementation • Exploitation of future hw instructions and features

• ABO • More supported input binaries • Dynamic optimization

• COBOL • 64-bit language implementation • Rich semantic information to enable more effective subsequent use of ABO

34

Page 36: Elevating Application Performance with the latest IBM COBOL offerings

Summary

• Existing COBOL applications cannot fully benefit from new hardware features – Impacts Application Performance (CPU utilization)

• IBM has 2 Complementary COBOL Offerings: Enterprise COBOL for z/OS and Automatic Binary Optimizer – Optimize COBOL applications to take full advantage of z/Architecture

• Most clients do not re-compile 100% of code when they upgrade hardware – Continue to use COBOL compiler to compile source code that require changes – Use ABO to optimize binaries of key parts of the application that are not recompiled

35

Page 37: Elevating Application Performance with the latest IBM COBOL offerings

Developer Trials

Enterprise COBOL for z/OS V6.1 Automatic Binary Optimizer V1.1 • Zero cost evaluation license for 90 days • Allows clients to assess the value of Offerings

– Offer same function as GA product – Code processed by Developer Trials cannot be used for production

• Available as standard offering from IBM through ShopzSeries • Contact your IBM representative for ordering assistance

36

Page 38: Elevating Application Performance with the latest IBM COBOL offerings

Notices and Disclaimers

37

Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.

Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.

Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.

References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.

Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.

It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

Page 39: Elevating Application Performance with the latest IBM COBOL offerings

Notices and Disclaimers Con’t.

38

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.

IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.

Page 40: Elevating Application Performance with the latest IBM COBOL offerings

Thank You Your Feedback is Important!

Access the InterConnect 2016 Conference Attendee Portal to complete your session surveys from your

smartphone, laptop or conference kiosk.