Tuesday, June 18, 2013
1:46 PM

Porting to Linux on System z

The recently released overview paper "Porting applications to Linux on IBM System z" prompted a few questions about porting in principal that I'll try to answer here in this blog entry.
  • The developerWorks article "Porting applications to Linux for System z" provides more technical details, especially on the differences between 31bit and 64bit and of course the endianess problem. So before you start porting your C/C++ program take a look at this. The migration toolkit can be found here and here.
  • Open Source packages not yet integrated in a distribution are usually pretty easy. Most of the time a simple ./configure, make, make install sequence does the job. You probably need to install a few development libraries before. Sometimes small changes to the make file are required to recognize s390x as a big-endian 64 bit architecture. Usually you can take a look at the ppc64 implementation. 
  • Java workloads usually run just out of the box. 
    • Don't forget to download and install the latest service pack though. 
    • Due to the 31bit addressing the heap of the 31bit JVM on System z can't be as large as the heap on a 32bit JVM. So for e.g. a 3 GB heap you need to switch to the 64 bit JVM on zLinux. If you  then use the -Xcompressedrefs option you can keep the additional memory reasonable.
  • For ISVs there is at IBM Partnerworld a special roadmap called "Porting your UNIX or Linux on x86 solution to Linux for IBM System z mainframe server platforms". 
  • Also hosted on Partnerworld is the "IBM Systems Application Advantage for Linux (Chiphopper)". Which is an offering from IBM to help porting ISV applications.
  • IBM als runs Porting Centers around the world for professional help. 

0 comments:

Post a Comment