Issue 2, 2016
Leveraging IBM® facilities for greater performance
In TECHniques Issues 3, 2014 and Issue 1, 2015, I introduced the newest version of Natural Optimizer Compiler that exploits the newest IBM z/Architecture® hardware. Our next release is just around the corner and here is what you can expect from the latest implementation.
What we have done in the past
Software AG released Natural Optimizer Compiler 8.3 in April 2014 to leverage z/Architecture facilities to improve system performance. Today, customers are experiencing performance improvements on modern IBM hardware—the newer the hardware, the higher the Natural Optimizer Compiler version (up to architecture level 10), the better the performance.
Natural Optimizer Compiler 8.3.2, released April 2015, provided significant improvements by using the Decimal Floating Point (DFP) capabilities, introduced by IBM for the z12, for numeric calculations. However, there was still a gap—packed decimal conversions were not supported until the release of the z13 boxes.
Why packed decimal matters
Computers are not able to do any calculation with (unpacked) numeric values. These values must always be transferred into a packed decimal format before it can be used in any calculation. They then must be converted back to the display format. Because this creates overhead in applications, experienced programmers define all numeric values in the application in packed decimal format. This saves conversion time and memory space as well as speeds up calculations.
New with version 8.3.3
In our latest release of Natural Optimizer Compiler 8.3.3, we have addressed the “DFP-packed conversion facility” that IBM introduced with the z13 machines. We have now implemented this support with ARCH=11.
Now that the “DFP-packed conversion facility” is available with the z13 machines, DFP calculations are much faster on a z13 than a z12. Packed variables in enterprise applications can be converted to DFP format for extremely fast calculations. Note: Because most of the arithmetic calculations in typical applications are developed with packed fields, the full benefit of zoned variables is not realized on z12 machines.
Any kind of numeric-variable conversion to a DFP register is very fast. Also, any arithmetic using DFP registers executes much faster than standard numeric (packed) calculations. IBM has obviously improved the DFP throughput on the newest z13 hardware—we now estimate extreme improvements in performance for any kind of arithmetic calculation. Some calculations are running up to 10 times faster than operations on zoned or packed variables.
New DFP packed conversion facility
To demonstrate how fast the DFP instructions are, please have a look at our example of simply adding two variables as shown in Figures 1 and 2.
Figure 1: Adding two variables without DFP.
Figure 2: Adding two variables with DFP results in four to five times faster performance.
The new instructions, used in figure 2, are four to five times faster than the instructions used in Figure 1 which does not use DFP. When calculations are more complex with alignments and rounding, the DFP version is up to 10 times faster. This saves a lot of CPU time in your applications that use complex calculations and thus reduces your costs.
If you are running your applications on the newest IBM z/Architecture hardware and want to leverage the facilities IBM now offers, move from Natural Optimizer Compiler 8.2 to 8.3 and set the ARCH option appropriately.
If you are still running Natural applications without Natural Optimizer Compiler, contact your sales representative and arrange a proof-of-concept to see what benefits you can gain—without impacting your production environment and without re-installing your Natural development environment.
It’s easy to hook the new Natural Optimizer Complier into your Natural development environment with just a parameter. Within an hour, you will have it working in your environment and calculating faster.
If you have questions or wish to order our special Natural Optimizer Compiler Guide, please contact me.