Linux on Intel is driving the commoditization of computing. But it's not the only game in town, nor is it the only combination of software and hardware with influence. Linux also runs on PowerPC processors - including IBM's POWER series, Apple's G5, and other embeddable cores - and runs well. Here's a look at the "other" Linux, the one that runs on PPC.
In May 2003, Apple Computer launched the Power Macintosh G5 to critical and popular acclaim. Powered by the brand-new IBM PowerPC 970 processor and Mac OS X Panther, the G5, and more recently, the G5 Xserve, are compelling paragons of low-cost, high-performance, 64-bit computing. Indeed, the G5 is so cost-effective and capable that 1,100 of them were purchased and assembled to form Virginia Tech’s Terascale Cluster, now the third fastest supercomputer in the world, boasting performance of a whopping 10.28 teraflops and built at a fraction of the price of other like configurations.
But Mac OS X on G5 is only part — and a small part — of the PowerPC (PPC) story. Linux runs on PPC, too, and runs very well. Moreover, PPC cores scale down to embedded devices and up to big iron. 64-bit Linux on Opteron and [Intel's chip] may be the next big thing, but it’s already old hat for IBM, Apple, and others. x86? More like ex-86.
When Apple, IBM, and Motorola set out to develop the RISC-based PowerPC processor in the early 1990s, the companies set out to design an architecture with staying power. From the beginning, PowerPC was designed for a wide range of applications and devices, including embedded systems, desktops, and enterprise servers. Moreover, support for 64-bit computing was planned from the start.
While market and technology analysts were skeptical, even pessimistic, at first, the PowerPC has succeeded as an embedded processor and, due to a recent overhaul complete with racing stripes, as a capable competitor to x86. While PowerPC is most closely associated with Apple hardware, the CPU is used in many other systems.
At the “small” end of the spectrum, PowerPC co-designers Motorola and IBM both produce embedded PowerPC cores that are found in everything from voice-over-IP (VOIP) systems, automobiles, video game consoles (including Microsoft’s forthcoming Xbox 2), Cisco routers, and even NASA’s Spirit and Opportunity Mars rovers. A variety of PowerPC solutions are available from vendors such as Synergy Microsystems, Momentum Computer, Mercury, and Sky Computers.
At the “large” end of the spectrum, IBM utilizes a variant of the 64-bit PowerPC architecture in its iSeries, pSeries, and JS20 Bladecenter servers. Dubbed POWER (see the sidebar “IBM’s POWER Series”), the POWER4 is the current generation processor and powers many of the “Top 500″ supercomputers in the world (see http://www.top500.org and the sidebar “PowerPC Linux: Supercomputing Gone Cheap”). And when Apple turned to IBM for the G5 processor, IBM took a single POWER4 core and added a VMX vector-processing unit (which Apple renamed its Velocity Engine).
Linux Magazine contacted Brian Connors, IBM’s Vice President for Linux on POWER, and asked him to describe IBM’s Linux on POWER initiative. Here’s his response.
POWER refers to IBM’s series of server platforms based on our own family of POWER microprocessors. POWER’s been termed the first “server on a chip,” and IBM continues to invest in the POWER architecture to offer customers open, innovative technology solutions that complement the growing demand for 64-bit applications.
IBM’s family of 64-bit POWER and PowerPC microprocessors are among the most widely used in the industry. In addition to being the force behind IBM’s pSeries, iSeries, and JS20 BladeCenter servers, the microprocessor technology can also be found in Nintendo game consoles, Apple computers, and some of the world’s most powerful supercomputers and storage systems.
The Linux on POWER initiative is a strategic program, and a pivotal one, allowing IBM to satisfy its customers’ requirements, centered on the market momentum of Linux and customer choice.
The Linux on POWER initiative has two thrusts: scale-up and scale-out.
To scale-up, customers can consolidate workloads from competitive Unix environments onto our pSeries or iSeries systems. Besides running Linux, customers can simultaneously run their mission critical OS/400 or AIX environments on the very same systems via logical partitions. In addition, on pSeries, customers can run Linux natively for high performance environments.
To scale-out, our recently announced JS20 BladeCenter, also based on POWER, is the first in a line of platforms that will be optimized for Linux. Our 64-bit platforms are priced competitively to competing IA32 platforms in the market.
In tandem with software vendors, we are building a suite of applications to expand the capabilities of Linux on POWER. Our customers are rapidly moving mission critical workloads to Linux. Linux on POWER is capable, practical, robust, and cost-effective, and customers are taking advantage of it.
POWER5, the next generation of the POWER series, boasts higher clock frequency and the addition of symmetrical multithreads (SMT). The POWER5 holds great promise — so much so that the United States Department of Energy signed an agreement with IBM to build a supercomputer containing over 12,000 POWER5 processors. According to IBM, the POWER5-based giant will provide twice the performance of any other system available today. (For reference, the most powerful supercomputer today, NEC’s Earth Simulator, has a peak performance of 40,960 GFlops.) The improvements introduced with the POWER5 in 2004 will surely make their way into the next generation of 970-like processors.
Comparing PowerPC (PowerPC or PPC will refer to IBM POWER, the G5, and other PowerPC hardware for the remainder of this article) to other microprocessor architectures is a tricky proposition. In addition to the comparison problems inherent between CISC- and RISC-based microprocessor designs, modern PowerPC cores such as the 970 are particularly hard to quantify.
According to Momentum Computer, an engineering firm working on PowerPC 970-based products, only real world testing provides an accurate account of performance. The company’s “970 Frequently Asked Questions” page states, “There are no benchmarks available that effectively measure how well the 970′s speculative branch execution unit performs. There are no benchmarks to measure the advantage of having 200 instructions ‘in-flight,’ [and none] able to effectively measure latency.”
Moreover, Momentum also feels that since the 970 has 32-bit and 64-bit floating-point units, no existing benchmarks provide valuable comparisons against other microprocessors.
In any case, with the introduction of the G5, 64-bit PowerPC processors seem to be the future of even low-cost Macintosh hardware. Meanwhile, AMD and IBM are pushing 64-bit solutions, and have seemingly forced Intel to adopt 64-bit more quickly than anticipated. All in all, the newer processors are a boon to computing — and Linux.
Linux on PPC
Today, a number of commercial and non-commercial Linux distributions are available for PowerPC, where each distribution tends to focus on a particular class of hardware.
For instance, commercial distributions of SuSE Linux Enterprise Server and Red Hat Enterprise Linux are available exclusively for IBM’s pSeries and iSeries platforms. SuSE maintains PowerPC expertise on staff, and while Red Hat is relatively new to the PowerPC market, they continue to improve their product to meet the needs of IBM and its customers.
Mac-on-Linux and Apple’s New Cat
Mac-on-Linux (MOL, http://www.maconlinux.org) is arguably one of the most useful applications available for PowerPC Linux. MOL is an open source virtual machine that allows the operation of other PowerPC operating systems on top of a PowerPC Linux system in a window or full-screen. Better yet, MOL runs at nearly 100% of native operation, because the application is a virtual machine and not an emulator.
For instance, MOL is often used to run Mac OS X 10.3 Panther as an application in Linux. MOL supports USB peripherals and audio when combined with Mac OS X, which allows you to plug in a USB-based digital camera while MOL is running Mac OS X and Apple’s iPhoto will start automatically and ask if you would like to transfer new pictures to your computer.
The iPhoto example illustrates how MOL can be a great way to utilize Linux as a primary operating system, yet use Mac OS X for the two or three applications not immediately available for Linux.
Free distributions such as Mandrake, Gentoo, and a number of hobbyists’ distributions support PPC, and Debian supports PPC to the same extent as x86. Terra Soft Solutions offers Yellow Dog Linux (http://www.yellowdoglinux.com), the only distro made specifically for PPC. A G5-edition of Yellow Dog is under development and is currently available as the G5 Linux Test Drive. Terra Soft has also announced plans to support IBM’s BladeCenter JS20, which is powered by twin PPC 970 processors.
Although PowerPC Linux is now a robust, time-tested, proven solution, some limitations do exist. In particular, due to the lack of hardware documentation from Apple and other OEMs, certain features of Macintosh machines are either partially supported or not supported at all.
For instance, Apple’s AirPort Extreme 802.11g wireless connectivity is not likely to be supported anytime soon due to lack of documentation from Broadcom (the manufacturer of the AirPort Extreme chip set). As a result, PPC Linux users are migrating to supported PCMCIA or USB wireless adaptors for their Apple notebooks.
Neither 3D acceleration nor sleep are fully supported, and the level of support depends on the particular chip set generation found in a specific PowerBook or iBook model. Sleep is very important because it allows a user on-the-go to suspend and resume their work at will.
NVidia-based Apple computers offer neither 3D nor sleep under Linux, and likely never will, as NVidia has refused to both release a binary driver for the PowerPC platform and provide developers with documentation. While more proactive than NVidia, ATI doesn’t provide specifications of newer generation chips sets to Linux developers.
The thermal management system on most modern Macintosh machines is also incomplete. The Power Mac G5, with its complex thermal system, is an exception, thanks to documentation provided via Apple’s open source Darwin project, the open source component of Mac OS X. Support for fine-grained control of the fans in machines such as Xserve, PowerBook, and iBook is unavailable.
A minor limitation is the lack of open source support for the software modems found in recent Macs. However, for those that need a modem, LinuxAnt provides a full-featured binary driver for PowerPC Linux for a small fee.
Yes, the Linux limitations on Macintosh are frustrating. However, the Linux community never avoids a good challenge. In particular, PowerPC Linux kernel maintainers Paul Mackerras and Benjamin Herrenschmidt have enabled excellent hardware support of Macintosh systems with little or no assistance from Apple. Mackerras and Herrenschmidt embody the spirit of Linux, and users are tremendously lucky to have their involvement.
On the positive side, Apple has been more supportive recently than in previous years, as the value of Linux-based Macs has been demonstrated. For example, Terra Soft, Lockheed Martin, and the Navy have successfully deployed Linux-based Macs as sonar image processing systems on-board the U.S. submarine fleet. Another success is the sixty-CPU cluster at the University of Colorado at Boulder’s Departments of Mathematics and Biology. Other companies, labs, and universities also run Linux on Macs.
IBM hardware has fewer limitations. As a hardware manufacturer and as a strong proponent of Linux, IBM ensures that all new hardware that runs Linux runs with all features. For instance, the pSeries and iSeries platforms run Linux on par with AIX. IBM envisions Linux as a dominant player in the enterprise, high-performance clustering, and desktop spaces, further enabling a homogeneous environment across otherwise dissimilar computer form-factors and functions.
A Happy Mac
Limitations on the Mac do exist, but many features do work. You don’t need Mac OS X to have a “Happy Mac.”
Mainstream PowerPC Linux distributions generally support any PowerPC-based machine that utilizes a PCI bus. While a Linux port exists for the earlier NuBus, most distributions don’t support Nubus out-of-the-box. From the Power Mac 7200 through so-called beige G3s, from PowerBook G3s to modern iBooks, from the first Power Mac G4 to modern G5s, Linux enables a functional, useful, and in most instances, a full-featured and powerful development, research, production, and play environment.
For instance, the dual-processors found in some Power Mac G4 and G5 configurations are fully supported under PowerPC Linux. I/O such as USB1, USB2, and FireWire 400 are well supported. The core system controller (Northbridge) and associated I/O tend to be well supported, because Apple develops hardware using a unified motherboard architecture — that is, the same motherboard technology permeates throughout the hardware line-up across multiple generations of hardware.
PowerPC Linux: Supercomputing Gone Cheap
PowerPC’s ability to elegantly balance the price/performance/ power-consumption/density ratio makes it ideal for building high performance computing clusters. Now, with the introduction of the G5 Apple in the Power Mac and Xserve product lines, 64-bit PowerPC Linux clusters are now very competitive with x86 systems for high performance computing. For high-density, needs, IBM’s recently announced JS20 blades are also highly competitive.
PowerPC clusters aren’t new, however. Terra Soft installed a 60 CPU Xserve cluster at the University of Colorado at Boulder for the study of “the biophysics of computation of neural dendrites at the molecular dynamics level.”
With the G5 and beyond, PowerPC high performance computing has truly arrived.
Apple’s original 802.11b-compatible AirPort is also well supported under Linux. Only the current 802.11g-based AirPort Extreme product is not. Video support is limited in the worst case to unaccelerated 2D with some systems running in full 3D. Moreover, monitor mirroring is supported in a number of previous generation Apple PowerBook and iBook models.
As for older Macs, Apple’s ADB interface for keyboard and mouse, non-software modems, and built-in SCSI are supported. While hardware support is a game of continuous improvement and constant catch-up, engineers from IBM, PowerPC Linux companies, and the community are working hard to improve hardware support. (A comprehensive list of hardware support can be found on the Yellow Dog “Hardware Support” page at http://www.yellowdoglinux.com/support/hardware/breakdown/index.php.)
Running Linux on a Mac
Installing Linux on PowerPC is simple, much like other platforms. For instance, the Yellow Dog installer is nearly identical to Red Hat’s anaconda. There are, however, some differences.
Partitioning hard disks is a common challenge for all Linux installs. On Macintosh hardware, independent of the use of OS X or Linux, hard drives are formatted to use Apple’s partition map layout. Under the Apple layout, the first partition on the drive contains the actual partition map. This is different from the DOS partition map style, which contains the partition map under the Master Boot Record (MBR), a region of the hard disk used to store the partition map.
(The DOS partition map style has a number of limitations, which is why Apple invented a new scheme. For instance, one block in a DOS map can only hold four partitions. Thus, the concept of “primary” versus “extended” partitions of which x86 Linux users are so familiar. No such concept exists in the Apple world, because it’s unnecessary.)
Bootloader technology is different on the Mac as well. Mainstream PowerPC systems from IBM, Apple, and others use Open Firmware (OF), a firmware standard developed by Sun, Apple, and others in the early 1990s as the means to initialize system hardware, bring it to life, and then boot the operating system. yaboot, similar to LILO in features and configuration, is the preferred bootloader on most OF-based, PowerPC hardware.
Open Firmware on IBM machines store yaboot on a partition of type PReP Boot. On Apple machines, yaboot resides on an Apple Bootstrap partition that’s “blessed” as a bootable region. In distributions such as Yellow Dog, the ybin scripts are included with yaboot, allowing users to easily dual-boot between Linux and Mac OS X via a boot-time, keyboard driven menu.
Once installed, PowerPC Linux distributions appear nearly identical to their Intel counterparts and offer nearly the same suite of applications. PowerPC Linux is a mature port, due in large part to IBM’s engineering resources, which include a number of full-time kernel and tool chain engineers. While IBM’s focus is 64-bit PowerPC, much of the company’s work benefits 32-bit PowerPC Linux hardware, such as G3 and G4-based Macs.
Justification, Migration, Application
One of the early struggles for PPC Linux was a very real chicken-and-egg dilemma. How do you motivate independent software vendors (ISVs) to port or recompile and maintain their applications when the user base isn’t large enough to justify the engineering and often more costly marketing and support? At the same time, how do you generate interest in PPC Linux without a suite of applications? An early, immature kernel and toolchain didn’t bolster confidence.
While there are multi-fold more applications available for PowerPC Linux today than just two years ago, the same struggle continues, as it does even for large OEMs such as Apple, which continues to fight for acceptance of Mac OS X where Windows and Red Hat dominate the marketplace.
Examples of current, glaring software shortfalls include the lack of Flash and Shockwave plug-ins for PPC Linux, despite online petitions and repeated attempts at motivating Macromedia developer relations. Moreover, the Real One player for PowerPC is outdated and unsupported, and Ximian GNOME is no longer maintained for any PowerPC Linux distribution.
In most cases, the existing number of PPC Linux users (while growing) is perceived as too small. Meanwhile, technology companies struggling through a tough economic climate have witnessed the number of commercial Linux distribution companies shrink from dozens to just a few major players today. Companies find it easy to drop or refuse to support a new platform. Regaining support requires not only a good business case, but often an up-front outlay to cover immediate engineering resources.
The good news is that through the persistence of IBM, Terra Soft, many customer end-users, and the active PowerPC Linux developer community, major enterprise applications are now available or en route to the platform. Examples include DB2, Websphere, and other enterprise applications from IBM, as well as JD Edward’s customer relationship management (CRM) software.
In addition, Oracle has just released a developer’s preview for PowerPC Linux. This is a major win for the platform as Oracle is a must-have application for many institutions. Most recently, companies like Mellanox, Platform’s LSF, and ATTO have been proactive and are dedicated to supporting Yellow Dog Linux.
Ten Years of PPC
More than a decade after the PowerPC was first introduced to the world, the architecture is still exciting and has a promising, cutting-edge future. IBM’s leadership and commitment to both PowerPC and Linux are invaluable.
From Apple’s impressive line of personal computers to IBM’s serious iron, PowerPC is a serious host for Linux. Be it groundbreaking science, enterprise deployment, or casual home use, PowerPC Linux is enjoying a major role in the open revolution.
Dan Burcaw co-founded Terra Soft Solutions, Inc., the developer of Yellow Dog Linux. Previously, Dan wrote “Outside Intel” about Linux on PowerPC for the August 1999 issue of Linux Magazine, available online at http://www.linux-mag.com/1999-08/outside_intel_01.html. Dan can be reached at firstname.lastname@example.org.