With all the talk about AMD's Opteron processors recently, we cannot
forget that Intel, too, has a 64-bit platform that runs Linux. I took SuSE Linux Enterprise Server 8 for Intel Itanium2 Processor
Family for a test drive. And I liked what I found.
Hardware and installation
My thanks to Ion Computer's Paul Scheremeta and Keith Josephson for making a test machine available and for providing assistance for this review. The machine was an Itanium 2 server equipped with 4 900MHz CPUs with 1.5MB of Level 3 cache for each processor. It contained 8GB of DDR memory and a 36GB Ultra160 10,000 RPM SCSI disk.
Keith of Ion Computer installed SLES 8 on the server and said it was a typical SLES install.
Outside of the need to add a couple of additional packages, the only
glitch was that the installation did not include a kernel to support the
multiple CPUs. "I had to manually (and forcefully) install the SMP kernel
RPM," said Keith. But once this was done, the machine looked remarkably
familiar. As Keith put it, "It feels like Linux."
Remember: Boredom is good
If you read my experiences with SLES 8 on the Opteron, you'll
remember that boredom is one of the goals when you are evaluating a new
hardware platform. Ideally, you want a machine that does everything the
way your current platform does, but allows you to do more if you need to.
So the fact that SuSE on the Itanium 2 looks and feels like it does on the
x86 and the Opteron is a good thing.
Indeed, the user interface appeared to be a garden-variety KDE desktop.
It had the applications one might expect to find on an x86 SuSE Linux
server. But how would it react to 32- and 64-bit executables?
The first test was to simply transfer executables compiled on an x86 Linux
system to the Itanium 2 box and attempt to run them. They worked fine,
although performance was not stellar.
The second test was to recompile these 64-bit-clean programs from source
code to see if any changes were needed. When I performed this test on an
Opteron last week, I had to modify the gcc command line to find the X11
libraries in a different location -- one that was reserved for 64-bit
libraries. On the Itanium 2, no modifications to the command line were
needed. I believe this is because the AMD architecture can work in both
32 and 64 bits, while the Intel architecture works in 64 bits and emulates
32 bits. The Intel box has just one set of libraries, while the
AMD box has two.
The 64-bit executables ran about a third faster than the
32-bit executables did. Of course, these programs did some disk I/O so
they cannot be used as a CPU benchmark, but it is clear that the
recompile yielded a noticeable improvement.
The next option was to try to recompile the programs using the
Intel compiler, properly called the Intel C++
Itanium Compiler for Itanium-based applications -- quite a
mouthful. The command to invoke it (
ecc) is far more terse, thankfully. Intel also offers a Fortran compiler for Itanium.
These compilers are not open source nor are they included with
SuSE SLES 8, but I suspect that a number
of readers will be using these compilers on Itanium 2 boxes, especially
where performance is critical, because they can better optimize code for the Itanium 2 processor. The compilers are available under a couple
of different licenses from Intel. People who place more emphasis on software freedom than technical
expediency will, of course, opt for the GNU compilers.
The first thing I noticed is that the compiler arguments for ecc and gcc are very
different. Thankfully, I had a fairly simple compile,
so I didn't need to change anything to compile the code. But the Intel
compiler by default spewed out a number of messages that gcc didn't with
the same code. Anyone using ecc will clearly need to become acclimated
to the differences in the compiler.
Once the compile was done, I ran the executable. It zipped through its
task quickly and without incident. Very nice.
SuSE Linux Enterprise Server 8 for Intel Itanium2 Processor Family
delivers what it should in several major areas. First, it looks just
like its x86 and AMD64 cousins, making for easier system
administration in an organization utilizing multiple hardware
architectures or transitioning from a 32-bit to a 64-bit world.
Second, SLES supports x86 binaries. They may run slower than IA64 programs,
but they seem to work without incident.
Finally, it compiles 64-bit clean source code if you simply stick with
gcc. If you decide to go to the proprietary Intel compilers for
performance reasons, you will have some retooling to do. But at least
there is a quick and painless path to 64-bit executables.
Yes, the Itanium 2's IA64 architecture hasn't exactly taken the market by storm, and yes, most IA64 boxes can be pricey, but SuSE Linux Enterprise Server 8 for Intel Itanium2 Processor Family seems to deliver the key necessities for this hardware platform.
Russell Pavlicek is a consultant and author dealing
with Linux in business. He is a panelist on The Linux
Show weekly webcast, and is a contributor to a number
of Linux Web sites. He formerly wrote the Open Source
column for InfoWorld magazine.