August 13, 2014

MongoDB on zLinux

MongoDB is being requested for zLinux  quite a lot. With the v8 engine now available it can be build on zLinux. Andrew Low and Joran Siu have created a short writeup on "How to build MongoDB on Linux on System Z".

So this is a start!

July 16, 2014

IBM SDK for Node.js Version 1.1 for Linux on System z is generally available

IBM has published a version of the server side Javascript engine node.js for Linux on System z on developerworks. This gives you a stand-alone JavaScript engine also on System z.

You can also download the current development source for the components node and the Javascript engine v8 from github.

Hopefully the final version will be released later this year!

(updated 8/16/2014)

July 4, 2014

Red Hat Enterprise Linux 7 (RHEL7) released

After a long development phase Red Hat has finally announced the next major release of their enterprise distribution. Everything is new and updated, so it will take time to get familiar with the new distribution.

The kernel level of the GA version is kernel-3.10.0-123, however as this is a new release I strongly recommend everyone to apply the updates from Red Hat to get the bug fixes that didn't make the DVD! As of 7/4 the latest update kernel is kernel-3.10.0-123.4.

Here is my usual summary of links to more information:
As this is a brand new release there are some hick ups aka bugs to be expected. If you are hitting one, please open a bug report with Red Hat and/or IBM.

(updated 7/16/2014)

June 5, 2014

Linux bonding active_backup problem with new microcode

A recent System z microcode update for the OSA cards in zEC12 / zBC12 may require an adaptation of the bonding setup in Linux. If you are using Linux bonding in active_backup mode and you are using the same MAC address for all the slaves (fail_over_mac=0 or not specified) and your are on the lastest machines you probably want to check if you need to change your setup.

You can find the complete details in the restriction list on Developerworks.

April 7, 2014

Request for Enhancement (RFE) community launched including Linux on System z and z/VM requirements

The Request for Enhancement (RFE) community has been used for IBM Software products for a while. Now also the Systems and Systems Software including Linux on System z and z/VM have been included there. Up to now requirements have only been discussed internally - this is now open to everyone with an IBM ID. In my opinion this is really good.

This community is meant for submitting and discussing requirements and feature requests for specific products. In the community please select "Linux on System z"  for zLinux requirements and "z/VM" for z/VM requirements.
Also feel free to comment and vote for already existing requirements!

Who is going to submit the first one in the categories?

February 13, 2014

IBM XL C/C++ for Linux on System z beta program

IBM has launched a beta program for a new compiler for Linux on System z. If you've been working with IBM platforms you may already know the xlc compiler. This compiler is now also available as a beta for Linux on System z as well.
Interested customers and software vendors should register for it at this registration link (free IBM ID required).

The key difference to the gcc included in the distributions is that this compiler is independent of the distribution. So as a software developer you can use this compiler and more important the generated binaries on all the supported Linux distribution. By that you can get improvements like zEC12 exploitation earlier than waiting for the next gcc in a distribution.

And my personal hope is that the performance will also be good as well. We will know this when the compiler is generally available.

January 20, 2014

Oracle Database 12c R1 and fixpack available for Linux on System z

Oracle has released the new 12cR1 version of their database for Linux on System z. With the appropriate license you can download it from Oracle. There is a also a blog entry in the Oracle blog. For more details see this IBM Flash.
The Redbook "Experiences with Oracle Database 12c Release 1 on Linux on System z" is a "must read" if you want to start with Oracle 12c on System z.
In the IBM Germany Lab in Boeblingen there has been a class called "Oracle Bootcamp". The presentations can be downloaded here.

Also for the older version 11R2 Oracle released the patchset. There is also a new Redbook available for Oracle 11: Experiences with Oracle 11gR2 on Linux on System z.

(updated 3/26/2014)

January 14, 2014

Fedora 20 for IBM System z released

The new Fedora 20 for System z / s390x was released 1/8/2014. Thanks to the Fedora team keeping the distribution going!

The download is available from the Fedoraproject site and the respective mirrors and known issues  are covered in the wiki.

December 20, 2013

Oprofile on zLinux - how to setup and use

(updated 1/8/2014)

Oprofile is a system wide profiler which is available in all major distributions for Linux on System z. Here is the setup and use for RHEL 6 and SLES 11.

The following example is for RHEL 6.5 (kernel 2.6.32-431.1.2.el6.s390x). For other kernel levels you need to adapt the package numbers. But basically it should work the same. The Red Hat description is here.

First step: install the required packages:
  • oprofile-0.9.7-1.el6.s390x
  • oprofile-jit-0.9.7-1.s390x (only needed for profiling Java code)
  • oprofile-gui-0.9.7-1.el6.s390x (only needed if you want the GUI)
  • kernel-debuginfo-2.6.32-431.1.2.el6.s390x.rpm
  • kernel-debuginfo-common-s390x-2.6.32-431.1.2.el6.s390x.rpm
Note that the kernel-debuginfo packages are only available on RHN. See this howto get it. You need to log into your Red Hat Customer portal for the full information. Also install from RHN any other debuginfo package of a distribution package you want to analyze. 

Second step: configure oprofile
opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux

Third step: measure workload
opcontrol --start
run your workload
opcontrol --stop
opcontrol --dump 

Last step: call opreport or opannotate with the options you want. For understanding options use the respective man pages. One commonly used option is:
opreport --symbols
Don't be surprised by an entry with symbol name vtime_stop_cpu. That's cpu  idle in RHEL 6.

For SLES 11 SP3 the setup is similar. SUSE has a good description on how to use in their Systems Analysis and Tuning Guide.

So in the first step you need to install oprofile-0.9.8-0.13.31.s390x.rpm from the SDK. Optionally  the kernel debuginfo package e.g. kernel-default-debuginfo-3.0.76-0.11.1.s390x.rpm as well as all the debuginfo versions of distribution packages you want to profile.

The vmlinux file for SLES is gzipped in /boot. If you have enough space there you can just gunzip it in place otherwise put it in /tmp as the SUSE guide suggests. Then in the second step you set up oprofile by
opcontrol --setup --vmlinux=/boot/vmlinux-`uname -r` 

Step 3 & 4 for SLES 11 are the same as above. 

If you want to analyze data on another system use oparchive. It will generate a directory with all required data that you can compress and take off the system. So e.g.
oparchive -p <path to Linux modules> -o /tmp/myoutputdir

You can also include Java and JITed code into the profiling by adding
to your Java options. For SLES11 you need to add /usr/lib64/oprofile to your LD_LIBRARY_PATH. This especially valuable if you don't know yet where to search for a problem. If you have identified Java code as the problem then a specialized profiler is probably the better choice.