IBM Opens Up Beta for PAVE Linux Runtime on Power Chips
April 30, 2007 Timothy Prickett Morgan
Last week, IBM opened up a public beta testing cycle for an emulation product that it has created with a partner that will allow applications written for Linux on X86 and X64 processors to run on its Power-based System p servers running Linux.
IBM quietly announced that it was working with Transitive, the company that created a very sophisticated emulation tool called QuickTransit and launched it for use by systems vendors in June 2005. QuickTransit is, for instance, a key piece of the “Rosetta” emulation environment that allowed Apple Computer to stop using Power processors from IBM and Motorola and move to Core processors from Intel. Hewlett-Packard, Intel, and Silicon Graphics have all licensed the QuickTransit technology, the latter vendor using it to support Irix-MIPS applications on SGI’s Linux-Itanium servers, while the former two have worked to help Transitive create an instance of QuickTransit that allows Sparc/Solaris applications to run on X64 servers running Linux.
IBM’s flavor of QuickTransit for its System p machines is called PAVE, which last year appeared to stand for Portable Advanced Virtualization Emulator and which was, according to a statement of direction, expected to be delivered as a product in the first quarter of 2007. Now that the public beta of the code is open, and because this is Big Blue, the words behind the abbreviation have been changed to System p Application Virtual Environment, or pAVE. I am going to ignore this nonsense and just call it PAVE.
Apple gave away Rosetta to customers that bought X64-based Mac laptops and desktops and Xserve servers so they could continue to run their Power-based applications on X64 machines; Apple had to pay Transitive a licensing fee for the environment that converts from Power to X64, and then pay a per-machine charge as well as other fees. Just as I hinted IBM might do last summer, this is exactly the approach IBM is taking with PAVE, which will be available for free as a download for customers using existing RS/6000, pSeries, and System p5 machines and will be bundled for free on new System p boxes when the product is generally available in the late summer or so.
Scott Handy, vice president of worldwide marketing and strategy for the System p (who has also been responsible for IBM’s Linux strategy for a number of years) says that the PAVE tool will allow IBM to go beyond the 2,800 native Linux applications that have been moved to the Power architecture and emulate the full portfolio of Linux applications on X86 iron. IBM has identified over 6,000 such applications in its own databases, and estimates that there are about twice as many applications out there. So PAVE makes a huge number of applications available on Power that might not otherwise be.
Here’s the other interesting thing, which I had a hard time believing, but Handy says it is absolutely true. You can take a set of compiler tools that run on Linux on X86 and run them in the PAVE environment, and then actually compile code inside PAVE, which is emulating the Linux-X86 platform, and that resulting code will run inside PAVE itself. PAVE is not just for moving over code that was compiled on an X86 machine. But that’s not the cool part. The resulting binary code that has been compiled in PAVE in a 32-bit mode can be moved over to a real X86 chip and it will run, unchanged. This is hard to believe.
The beta of PAVE is available at this link. The site says that it will work on any Power5 or Power5+ System p5 machine, but apparently there are no technical restrictions for the code to run on any Power-based machine from IBM, including the AS/400, iSeries, and System i family of products.
There are, however, limits to the Linux code that can run inside PAVE, which include software that reaches down into the X86 hardware for features that are not analogous to the Power architecture and therefore cannot be translated by QuickTransit. IBM’s implementation of PAVE does not support anything beyond the Pentium II architecture, also known as the IA-32 architecture, dating from 1997. So any application talking directly to the graphics card or using SSE2 or SSE3 instructions for multimedia acceleration are out. So are applications that run in real mode on X86 iron. If the code doesn’t run correctly on Red Hat Enterprise Linux 4 Update 4 or Novell SUSE Linux Enterprise Server 9 Service Pack 3 or 10, then it is also not certified to run in PAVE. QuickTransit obviously can support 64-bit X64 code, since other vendors are doing this. And the final PAVE product could, too, or support could be added later.