Java environments for Linux on POWER architecture

This article provides a brief overview of the currently available Java™ Development Kits (JDKs) and Java Runtime Environments (JREs) for Linux® on POWER™. It covers the Linux distributions running on the IBM® eServer® iSeries™, including eServer i5; eServer pSeries™, including eServer p5; eServer BladeCenter™ JS20; and eServer OpenPower™.

Nikolay Yevik, Linux on POWER Technical Consultant, IBM, Software Group

Nikolay Yevik, a Linux on POWER consultant in IBM’s Solutions Enablement group, has more than 6 years of experience working on UNIX platforms, performing development work in C, C++ and Java. He has Masters degrees in Petroleum Engineering and Computer Science.



22 November 2005 (First published 21 October 2004)

Also available in Japanese

Introduction

In this article, Linux on POWER refers to the coupling of multiple distributions of the Linux operating system with POWER and PowerPC (abbreviated as PPC) processors, which are IBM's family of general-purpose and embedded processors tied together under the collective term Power Architecture™. The Power Architecture is pervasive as the core to a broad spectrum of devices, including:

  • Cell phones and palmtops
  • Game consoles
  • Desktops, workstations, and servers from IBM and other vendors
  • Large IBM SMP servers
  • The world's fastest supercomputers

There are many Linux on POWER distributions, such as Yellow Dog Linux, Y-HPC, Debian, Mandrake, and many others, that run on Power Architecture hardware made by IBM, as well as other manufacturers. For a comprehensive list, see penguinppc.org. (See Resources.)

This article refers primarily to the two mainstream enterprise-level Linux on POWER distributions running on IBM Power Architecture hardware:

  • Red Hat Enterprise Linux
  • SUSE LINUX Enterprise Server

SLES 8 and RHEL AS 3 release prior to Update 3 are not supported on POWER5 technology-based hardware, including eServer OpenPower. The Linux distributions supported on POWER5 and OpenPower are SLES 9 and RHEL AS 3 Update 3.

See Terms for definitions of the common terms used in this article. For more on compatibility of IBM JDKs for Linux on POWER, see IBM developer kit for Linux: Tested platforms.


Future Java II platform Java environments

Java 2 Standard Edition version 5.0
The next major release of the IBM Developer Kits for Linux on POWER is Java 2 Standard Edition, Version 5.0, that was previously called 1.5.0.

At this time, IBM offers Beta version of JDK and JRE 5.0 for Linux on POWER in both 32-bit as well as 64-bit. Please see the link for IBM Developer Kits provided in the Resources section.

There is also work under way to produce JDK 5.0 for PPC architecture from Blackdown Development Group. (See Resources.)


Currently supported Java II platform Java environments

JDK and JRE 1.4.2
Are available from IBM in both 32-bit and 64-bit address space versions for Linux on POWER. Customers, especially those using SLES 9 and RHEL AS 3 Update 3, are highly encouraged to move to the latest level of JDK/JRE 1.4.2. See NPTL vs Linux threads for information about JVM 1.4.2 compatibility with particular Linux releases.

JDKs and JREs 1.4.1 and 1.4.2 do not ship debug versions of libraries and executables. They can be requested, if necessary, when you open a service request with IBM Service and Support.

Currently there is no Java plug-in available with JDK 1.4.2 for any of the browsers running on Linux on POWER, such as Mozilla.

Java Communications application programming interface (JAVACOMM API) is also being provided along with JDK 1.4.2 to allow access to serial or parallel ports from Java programs.

JDK and JRE 1.3.1
For Linux on POWER are available from IBM in 32-bit versions. JDK 1.3.1 is shipped along with the Java Authentication and Authorization Service (JAAS) package and the JAVACOMM API package.

Currently there is no Java plug-in available with JDK 1.3.1 for any of the browsers running on Linux on POWER, such as Mozilla.

32-bit Blackdown JDK 1.3.1 is also available from Blackdown Development Group. This is a direct reference port of Sun JDK 1.3.1 under the Sun Community Source License (CSL). It does not include Sun JDK 1.3.1 HotSpot technology or JIT technology. Its garbage collector (GC) is conservative, and it uses native threads. It is available in the form of a JRE, as well as J(S)DK on SLES 8 with RPM packages named java2-jre-1.3.1-30 and java2-1.3.1-30, respectively.


Deprecated Java II platform Java environments

JDK and JRE 1.4.1
Because JDK/JRE 1.4.2 is an in-service replacement of the JDK/JRE 1.4.1, JDK and JRE 1.4.1 are no longer supported. Customers are encouraged to move to the move to the latest Service Refresh level for the JDK 1.4.2, which is fully supported and has support for the most recent Linux for POWER distributions for POWER5 microprocessor-based hardware, such as SLES 9 and RHEL AS 3 Update 3.

NPTL versus Linux threads

RHEL 3 and SLES 9 provide a new threading technology called Native POSIX Threads Library (NPTL). This threading library is different from the library supported in previous Linux distributions known as "LinuxThreads." IBM Java 64-bit SDKs and JREs starting with 1.4.1 SR 2 do not support LinuxThreads operation. These should be operated with NPTL, which is the default. See Table 1 below, which shows whether a particular version of 64-bit JVM is compatible with a particular Linux for POWER distribution. This is relevant only to 64-bit JVMs 1.4.1 SR2 and up. 32-bit versions of 1.4.x will run on all supported Linux on POWER distributions, NPTL, or LinuxThreads.

Table 1. Compatibility of 64-bit IBM JVMs with Linux on POWER
Linux on Powerglibc1.4.1 GA(deprecated)1.4.1 SR 1(deprecated)1.4.1 SR 2(deprecated)1.4.2
SLES 82.2.5YesYesNoNo
SLES 92.3.3NoNoYesYes
RHEL AS 32.3.2NoNoYesYes

There is also the option of running 32-bit JVMs with the original LinuxThreads library by setting the environment variable LD_ASSUME_KERNEL to 2.4.10. Setting LD_ASSUME_KERNEL to 2.4.10 may prevent 64-bit JVM from starting.


Java I platform and open source JVM implementations

There are multiple open source JVM projects available on the Web, which are loosely defined as JVM 1.1.x or 1.2.x. This means that their compliance to any of Sun Java I Platform JVMs (such as 1.1.4, 1.1.6, 1.1.7, and 1.1.8) or Java II Platform JVM 1.2.2 specifications is unclear. Some of them are JVMs for embedded devices, but could be used standalone. The only one readily available for Linux on POWER is Kaffe.

Kaffe is probably the oldest of all open source JVM projects. It is cleanroom implementation of JVM, which means no Sun proprietary JVM source code contamination. Until recently, it did not have JIT. Traditionally, Kaffe was shipped on most Linux distributions with Jikes -- an open source Java compiler implementation from IBM. SLES 7.3 used to ship kaffe-1.0.6-63.ppc.rpm, however it is no longer shipped with SLES 8 distribution, though Jikes is. Kaffe RPM from SLES 7.3 distribution media,- kaffe-1.0.6-63.ppc.rpm, can be installed on SLES 8 and works.

It is preferred for the Java source code to be compiled with the Javac compiler that is included with Kaffe distribution, though according to documentation it should also run bytecode produced by the Jikes compiler.

There are other open source JVM implementations available, most of which are cleanroom implementations. Their classification in terms of any particular Sun JVM specification is largely undefined. Their portability to Linux on POWER and usefulness for production purposes should be verified on a case-by-case basis.

One open source JVM implementation from IBM is Jikes Research Virtual Machine (Jikes RVM). It can be installed on Linux on POWER/PPC. It is, for the most part, an experimental JVM and should be tested to see if it can live up to production quality standards in a particular production environment.


Summary

Linux on POWER distributions offer a variety of Java development and run time environments. At the time of this writing, customers are encouraged to use the latest Service Refresh of the latest available version of the JVM for Linux on POWER from IBM, 1.4.2, with Java 2 SE 5.0 coming to replace it shortly.


Terms

ISA
Instruction Set Architecture
JDK
Java Development Kit. Superset of JRE. Includes JRE and development tools such as compiler, debugger, and others.
JITC
Just-In-Time Compiler that converts Java bytecode into the native machine code of the host architecture.
JIT
Same as JITC
JSDK
Java Software Development Kit. Abbreviation used interchangeably with SDK and JDK.
JRE
Java Run-Time Environment. Subset of JDK. Does not include development tools. Provides JVM to run Java bytecode compiled elsewhere.
JVM
Java Virtual Machine
NPTL
Native POSIX Threads Library. NPTL brings enterprise-class threading support to Linux, far surpassing the performance offered by LinuxThreads. It is based on 1:1 ratio between user and kernel threads.
OpenPower
IBM POWER5 microprocessor-based system tuned for Linux
POWER
Name of the common chip architecture for IBM pSeries and iSeries servers
POWER5
The latest currently available POWER chip. Like the POWER3 and POWER4, the POWER5 technology unifies the POWER and PowerPC architectures. It features communications acceleration, chip multiprocessing, and simultaneous multithreading (SMT).
POWER4
The POWER4 architecture has superior performance across a broad range of commercial and high performance computing environments. POWER4- based iSeries and pSeries servers support dynamic logical partitioning.
POWER4+
Also known as POWER4-II. Upgrade of POWER4 working at higher frequencies and with less power consumption.
POWER3
One of the currently available POWER chips available for entry-level pSeries servers
PowerPC
Hardware architecture derived from POWER
PPC
Abbreviation of PowerPC
RHEL
Red Hat Enterprise Linux
RISC
Reduced Instructions Set Computer
SDK
Software Development Kit. Abbreviation used interchangeably with JDK and JSDK.
SLES
SUSE Linux Enterprise Server
SR
Service Refresh
pSeries
IBM UNIX-based servers that run AIX and/or Linux on IBM POWER- based hardware
iSeries
IBM's integrated servers based on POWER architecture
i5
New IBM integrated server systems based on the new POWER5 microprocessor
p5
New IBM UNIX-based servers for AIX and/or Linux on the new IBM hardware, based on the new POWER5 microprocessor

Resources

Learn

Get products and technologies

  • IBM developer kit for Linux: A development kit and runtime environment that contains IBM's just-in-time compiler, enhanced with a unique Mixed Mode Interpreter and a re-engineered Java 2 virtual machine.

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Linux on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Linux
ArticleID=90792
ArticleTitle=Java environments for Linux on POWER architecture
publish-date=11222005