An often cited strength of the Linux community is choice. Linux on POWER is provided by the two premier enterprise Linux vendors, Red Hat Linux and SUSE Linux. Each with their respective philosophies and fortes, these Linux distributions provide the full toolchains, libraries, and development tools Linux developers have come to expect. Each is reviewed in this article.
Note that TurboLinux is also supported. TurboLinux Enterprise Server8 uses licensed code from SUSE Linux, so in the following discussion, those features that apply to SUSE apply to TurboLinux as well.
Red Hat Enterprise Linux 3 (RHEL3)
Red Hat is well established as a leader and pioneer in the open source community. The arrival of Red Hat Linux in enterprise form to the POWER architecture in 2003 brought with it cutting-edge Linux technology.
RHEL3 provides a 2.4.21 Linux kernel optimized for the POWER architecture. Even before Linux 2.6 was released, Red Hat backported several 2.6 features into their Linux 2.4 kernel.
Among these, the Native Posix Threads for Linux (NPTL) library stands out. The previous threading model, Linux Threads, is a traditional 1:1 threading model that works in conjunction with the Linux 2.4 scheduler, and has been a target for renovation for some time. In RHEL3, Red Hat backported the new threading model from the 2.5 development trees into its 2.4 kernel. The result is better scalability, faster multithreading, and most obviously, radically improved Java performance.
NPTL is still a 1:1 model, as opposed to the m:n threading found in some commercial UNIX operating systems, but no one questions the performance now. Capable of generating and destroying 100,000 threads in under two seconds on an antiquated 450 Mhz Intel processor, the new threading model can supply the performance expected of enterprise class Linux and more. Java applications often show an eightfold improvement over execution on the older Linux Threads model.
The incorporation of cutting-edge development did not stop at the kernel threading model. RHEL3 also includes a new and improved glibc, version 2.3.1. Required for the performance granted by NPTL threading, glibc 2.3.1 also brings more efficient libraries for Linux applications.
SUSE SLES8, the senior of the two enterprise Linux offerings for POWER, is near the end of its lifecycle. Featuring a regularly updated 2.4 kernel (SUSE has released three service packs to SLES8 users to ensure that system security and performance updates are available), SLES8 provides options of all sorts. Three journaling file systems are available to choose from. All common database, Web server, and mail server applications are available on the SLES8 distribution by default, along with up-to-date releases of both the KDE and Gnome desktop environments. The 2.4.21 kernel currently available on SLES8 provides a 64-bit foundation for the execution of either 32- or 64-bit applications in real-time.
The soon-to-be released SLES9 is currently in beta, as SUSE puts the finishing touches on a new GCC, glibc, and Linux 2.6 kernel combination. At its release, SLES9 will offer the first Linux 2.6 kernel for IBM eServer(TM) iSeriesŪ and pSeriesŪ servers.
Which distribution to use?
Due to the differences in threading models offered by RHEL3 and SLES8, complete binary compatibility cannot be taken for granted. The good news is, developers nearly always find code builds compatible across Linux distributions, and Linux on POWER is no exception.
However, in the case of deployment, some applications make more sense on a specific distribution. For example, the Reiser File System, available by default on SLES8, is known for its high performance with small files. An application that focuses on the read and write access of files smaller than 1 KB will benefit from this file system's availability, and thus may be best running on SLES8, whereas applications running Java threads will benefit from the RHEL3 implementation of NPTL.
The virtue of the open source model is flexibility, and Linux on POWER is flexible. That said, developers will also find a commonality of resources for development on either RHEL3 or SLES8. Compilers, the IBM Java Developer's Kit, and development tools like the popular integrated development environment Eclipse are all examples of tools freely available for either distribution.