December 31, 2015

SLES 12 toolchain module available for Linux on z

SUSE has released the toolchain module for Linux on System z. This is the first officially supported gcc compiler that supports the z13.
To install you need to add the product and update repository with "yast2 repositories" and then you can install it with

# zypper install sle-module-toolchain-release
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 10 NEW packages are going to be installed:
  cpp5 gcc5 gcc5-c++ gcc5-fortran gcc5-locale libgfortran3 libstdc++6-devel-gcc5 patterns-toolchain-gcc5
  sle-module-toolchain-release sle-module-toolchain-release-POOL

The following NEW pattern is going to be installed:

The following NEW product is going to be installed:
  "Toolchain Module"

The following 6 recommended packages were automatically selected:
  cpp5 gcc5-c++ gcc5-fortran gcc5-locale libstdc++6-devel-gcc5 patterns-toolchain-gcc5

10 new packages to install.
Overall download size: 26.2 MiB. Already cached: 0 B  After the operation, additional 136.1 MiB will be
Continue? [y/n/? shows all options] (y): y


As you see you get C, C++ and Fortran. To enable z13 instructions use the -march=z13 option.

December 29, 2015

SUSE Linux Enterprise 12 Service Pack 1 (SLES 12 SP1) released

On December 22nd just in time for Christmas SUSE has released the latest updated to their flag ship server distribution.

The kernel level for 12.1 is kernel-3.12.49-11.1. As one of the top features this distribution is the first one, which allows full exploitation of the z13. And this distribution is so far the only one that's supported by IBM's version of KVM as well as Docker. SUSE has published a nice summary of the the z specific news.
And of course it has many bug fixes. So after the installation be sure to run an update to install the latest fixes from the maintweb. 

Here is my usual summary of links to more information:
A frequently asked question is about the location of the older libstdc++ libraries that are needed for compatibility with older software products. There are two locations:
  • the oldest ones are in a package called compat, that you can install with zypper directly. It has and
  • the libstdc++33 is part of the Legacy Module that SUSE provides. Add it to your repositories with yast2 repositories and then you can install. It contains the
(updated 1/20/2016)

December 18, 2015

Java OpenJDK and Just In Time Compiler (JIT)

Since a while OpenJDK has been available for Linux on the mainframe as an open source Java. In the last week I had two different performance situations with this. The reason is very simple: OpenJDK for z, doesn't have a JIT. So it can be used e.g. for writing an installer but for everything that's repeating the IBM JDK is the only choice.
The effect varies by workload, but it's usually more that one order of magnitude. In the example above showing relative performance for an average workload  the IBM Java does better even without the JIT and with the JIT it's more than a factor of 50! I had to break up the axis to show it in one chart.

December 3, 2015

IBM LinuxONE Community Cloud is open

The Community Cloud announced at LinuxCon is accepting registrations and afterwards you deploy and start your Linux image. Please read the quickstart guide before get going - at least read if you get stuck :-)

If you don't do this, then at least read the invitation email. Here are the top hints:
  • Access is given using a public key - generate it in the Web GUI and then select it for deployment. This is not selected by default and without that key you don't get into the new system! 
  • When you deploy, select the new project assigned to you and not "public" which is the default. You can only work on your project area! 
  • You can only have one Linux server there. So if you want to switch between images, you need to delete the old one first. 
There is also a FAQ available which covers general aspects of this.

Happy testing!

(updated 08/12/2015)