Prior to the IBM z10, applications achieved significant performance improvements from hardware upgrades, but as processing power has increased through new hardware features, such as new instruction sets, applications compiled with Enterprise COBOL v.4 and all earlier compilers are unable to exploit these new facilities and are not running efficiently on modern Z systems. To take advantage of these new instructions and improve performance, IBM Z customers need to recompile their COBOL programs with Enterprise COBOL v6 (see video below for added context). The IBM Automatic Binary Optimizer (ABO), first introduced in 2015, can be used to improve the performance of already compiled COBOL programs without requiring source code recompilation, source code migration, or performance options tuning.
Roland Koo, program director for offering management and strategy, enterprise products, and compilers on Z at IBM, says, “ABO is a unique technology that was born out of a collaboration between the compiler and Z processor teams at IBM. The teams work jointly to develop new hardware features to target performance of COBOL workload on the mainframe.” Because of this, ABO can help businesses take full advantage of new Z hardware features to improve the performance of COBOL applications while reducing CPU usage and operating costs without the need for source recompilation. He adds that the ABO can also reduce the scope for migrating to COBOL v6.
For clients interested in ABO and what it can do for their applications, ABO offers a trial cloud service through which customers can start the evaluation process without installing an ABO trial on their machines. Koo says, “This saves a lot of overhead. All the customer needs to do is to upload modules they want to optimize, and download the optimized modules to test on their systems. The website provides simple instruction that is designed to guide users from beginning to end.” Otherwise, ABO can be easily installed and use job control language to optimize code.
Why ABO, Not Migration?
One benefit of ABO is that it does not require source migration because it directly optimizes compiled binaries, says Koo. Optimized binaries are guaranteed to maintain the same behavior as the original application codes. ABO also does not require tuning with the best compile options for the applications. Koo says the other option for optimizing COBOL applications is to use COBOL v6, which requires migration effort. To optimize or recompile an entire code base, however, takes a long time and uses a lot of CPU resources. “We recommend users identify performance bottlenecks by performing some analysis and iteratively optimize them,” he explains.
Koo says that ABO can help customers reduce testing and/or migration efforts and allows applications to take full advantage of new hardware features, which are designed to improve the performance of COBOL workload on modern Z processors. If changes to the source code are needed, users need to use the COBOL compiler, but if the source code is missing, users can still use ABO to optimize binaries. COBOL v4, he cautions, does not have the capabilities to exploit new Z hardware features. He also adds that “optimizing directly from binaries means all source risks are eliminated, so test effort can be significantly reduced.”
When Should You Use ABO or COBOL v6
Because applications no longer automatically run faster when they are moved to new IBM Z hardware, users need to find new ways to improve the performance of those applications. Without new instructions, COBOL applications will not take advantage of new hardware features and performance will not improve. According to Koo, “Going forward, advanced optimization technology and Z hardware exploitation are key to improving the performance of your COBOL applications, and will help you reduce CPU usage and operating costs.” To maximize the return on investment, he notes, “It’s important to stay current with the latest compiler technology and selectively optimize CPU intensive parts of the applications.”
Many customers will have to determine where to start if they have a large number of COBOL modules. Typically, businesses only recompile between 15% and 25% of their COBOL code, and much of that is done through the application delivery process. This leaves 75–85% of code running in production that is not changed for many years or even decades, according to the presentation embedded above from IBM’s Joseph Taffe-Atkins. Koo explains that enterprise COBOL for z/OS v6 and Automatic Binary Optimizer are complementary products. “Use COBOL v6 as a production compiler for developing and maintaining your applications, and use ABO to reduce CPU usage for applications that are inactive and that you have not compiled for a long time,” he adds. The bottom line for businesses is that “improving the performance of COBOL applications reduces CPU usage,” says Koo. “This will, in turn, lead to a reduction in operating costs.”