Unlocking The Power8 Features With IBM i
November 10, 2014 Timothy Prickett Morgan
We talk a lot about the hardware features of the Power Systems platforms as they roll into the market, and the idea is always to look at the processors and related technologies specifically. But the performance metrics are always a lot more generic, and as we all know, the variety of applications that can be created for the system is broader than what can be modeled with the Commercial Performance Workload (CPW) online transaction processing test.
If there is any lesson that has been relearned by the hyperscale datacenter operators like Google, Yahoo, and Facebook that was well known to users of System/360 mainframes and System/38 minicomputers decades ago, it is that you have to tune the software to the hardware to get the best bang for the buck. The availability of lots of compute, memory, storage, and network capacity means that companies don’t often tune as much as they should. But IBM wants to encourage people to tune their software for the advanced hardware it is putting into the field, and the massive Performance Optimization and Tuning Techniques for IBM Processors, including IBM Power8 redbook, which was published in July.
In some cases, functions within IBM i 7.2 will automagically be accelerated when they run on Power8 iron, including the increased use of decimal floating point and vector math units. Deep down in the guts of the licensed internal code, there are switches you can flip now in IBM i 7.2 that will allow compiled code to be more tightly compiled to make use of specific features of the Power8 chips. There is a new Adaptive Code Generation mode that allows for the portability of code between processor generations and yet also fine tuning for specific hardware. The point is, this document seems to be required reading for programmers, whether they are making their own code or babysitting third party applications. If you are spending big bucks on Power8 iron and moving to IBM i 7.2, then it makes sense to acquaint yourself with these features and make sure you exploit them.
This programming guide has information about how to tweak and tune Java runtimes and WebSphere middleware, the PowerVM hypervisor as well as AIX and Linux environments. The AIX environment is important because the Portable Application Solution Environment, or PASE, runtime that is used for many IBM i functions is based on AIX itself. You want PASE tuned up, too. While IBM talks about various C, C++, and Fortran compilers and how to tune for Power8, there is nothing in this document about how to tune up RPG and COBOL for Power8.