Issue 3, 2014 |
Download pdf |
Leveraging IBM® facilities for greater performance
Natural Optimizer Compiler generates machine code from Natural sources to reduce CPU consumption and speed up Natural applications in any environment. By leveraging the newest instruction sets for modern IBM z/Architecture® hardware, Natural Optimizer Compiler enables you to generate code that leverages the best features for your application environment.
IBM facilities
As computing has gotten more complex, hardware boxes have started to include more and more optimized instructions to speed up applications. In 1964, IBM introduced the /360 machine with an instruction set of only 142 statements. Today, IBM’s zEnterprise® EC12 has an instruction set of more than 1,000 statements. IBM now groups these new instruction sets into facilities. To learn more about IBM facilities, read z/Architecture Principles of Operations.
Because customers operate on a number of different mainframe hardware, Software AG is not able to use most of these new hardware instructions in our core products. Fortunately, Software AG can leverage the newest hardware facilities in Natural Optimizer Compiler, specifically for a few components like the Natural Roll Server (IBM zOS® only). We continue to honor the IBM “Architecture Level Sets” to ensure that customers operating older hardware versions won’t run into problems.
How Natural Optimizer Compiler works
Natural Optimizer Compiler generates machine code from Natural sources to reduce CPU consumption and speed up Natural applications in any environment. By linking an ARCH level to a hardware type in Natural Optimizer Compiler, Natural R&D has made the newest features of the modern z/Architecture hardware available to customers. Because you know your hardware, you can manage code generation that fits exactly to your application environment.
Table 1 explains which ARCH level supports which hardware. Please note that these functions only support IBM hardware—please don’t use an ARCH level greater than zero on BS2000® environments.
ARCH |
Hardware |
0 | code that executes on all models |
1 | ESA/390 G1 hardware |
2 | ESA/390 G2 – G4 machines |
3 | ESA/390 G5 and G6 |
4 | z800, z900 models in ESA390 mode |
5 | zArchitecture mode (default at IBM ) 64bit support |
6 | z890, z990 |
7 | z9 |
8 | z10 |
9 | z196, z114 |
10 |
zEC12, zBC12
|
Table 1: Natural Optimizer Compiler hardware mapping to leverage IBM facilities
Available IBM facilities
Natural Optimize Compiler v8.3.1, released in April 2014 as an optional version to Natural v8.2.4, already exploits some important new facilities up to ARCH 8, as shown in Table 2. IBM Facilities leveraged include:
- Extended-Translation-Facility handles Unicode operations
- HFP Multiply-and-Add/Subtract Facility simply combines appropriate instructions into a single instruction
- Extended-Immediate Facility minimizes the need for constants and literal pools
- General-Instructions-Extension Facility adds instructions mostly for improving performance, including immediate instructions
Level value |
IBM hardware facility required at execution time |
1 to 6 |
|
7 |
|
8 |
|
Table 2: IBM facilities leveraged by Natural Optimizer Compiler
Performance improvements
While improvements in performance ultimately depend on the applications and code you are compiling, we have seen a 20 to 25 percent reduction in CPU usage when Natural Optimizer Compiler v8.3 is used compared to v8.2.
We have also witnessed functions in the Unicode® area sped up by a factor of 10! That’s a 10 times improvement, not a mere 10 percent. You can expect your best performance improvements when you build new Unicode applications with Natural and compile them with the newest version of Natural Optimizer Compiler.
What’s next
Software AG R&D continues to work on including more facilities and tools to improve your application performance. New Unicode optimization is already available through special zaps. More facilities will be available in early 2015 with the release of Natural Optimizer Compiler v8.3.2.
This upcoming version will improve typical packed arithmetic using the DFP (Decimal Floating Point) accelerators of the zEC12 machines. We will keep you informed via TECHniques.
To take advantage of facilities already available in Natural Optimize Compiler v8.3, just drop me an email and request our new Getting Started Guide. Learn how to leverage IBM facilities today, just email Wil Heynen.