Power Systems i: The Windows Conundrum
January 4, 2010 Timothy Prickett Morgan
We all live with Windows, and I don’t mean the ones in our walls that let us see outside. By capitalizing the word, and not the Word (which should mean Logos, not a word processor, but that is a different story. . . . ), you all knew I meant Microsoft Windows, a desktop and server operating system, and not the glass panes. Windows is a fact of life in data centers of the 2010s when it was but a dream of Microsoft’s in the 1990s. But running Windows applications does not necessarily mean having to put up with Windows itself, and the sooner IBM‘s Power Systems i people realize this, the better off the i business is going to be.
IBM’s System/390 managers took a hard look at their customers’ data centers in the late 1990s, when it looked like Sun Microsystems was going to take the server mantle away from Big Blue and Windows had not yet become the dominant server platform, as it is now if you don’t count Linux as a kind of Unix. (Which I don’t.) Anyway, these IBMers correctly figured out that they needed to support Linux on mainframes so they could help CIOs suck Unix and various other infrastructure workloads (most often running on Windows) back onto the mainframe. Moving Unix apps to Linux is not a big deal for mainframe shops with lots of systems talent, and while the competition between Linux and Windows is indirect because they are very different operating systems, moving a print or file or Web server from Windows to Linux is not a big deal for big iron shops. It is safe to say that the porting and enthusiastic supporting of Linux on mainframes has preserved that mainframe business, which would have otherwise gone into decline. (Specialty engines that accelerate database and Java applications for a reduced hardware and software price haven’t hurt the mainframe biz, either, I realize.)
What a pity that IBM’s AS/400 managers back in the 1990s didn’t see Windows as the threat to the midrange that it most certainly was. Depending on who you ask, somewhere around 85 to 90 percent of i shops have Windows servers running a significant portion of their workloads on Windows; generally, for every AS/400-style box in a shop, there are several to dozens of X64 servers doing work, usually infrastructure jobs but increasingly application serving. I have been through this ad nauseum and I am not going to cover all that ground again. We are in 2010 now, and the only important thing is what to do about Windows at i shops. I know this Windows issue is on your mind, too. I get letters like this one all the time:
I am a Power specialist (AIX and i), IBM midrange true blue, and have been in the midrange since 1983 starting with the System/38. My current role is as pre/post sales virtualization for Power and VMware.
I have read your in-depth power articles for years. My question is: Can you please investigate and write an article on when IBM will run Windows Server on Power? They had Windows NT running and withdrew it. It seems a natural now with the stars aligning with Power 7 and Server 7 it will happen. If not–why not? I am sure it can be technically done. It must be a business thing. I would just like to know the bottom line.
Right now with Nehalem starting to compete with Power6 in Linux (I see BP calls on why Power6 is better than Nehalem), maybe IBM should step up with Power7 and announce “3xNehalem+” benchmarks. Why not come out with 128 bit support running Server 7. This would be a definite game-changer. Long overdue. Power chips are running game consoles, Lx86, why not run ESXi? With IBM on the high end creating large data centers and running project Blue waters/Roadrunner sites on Power7/Cell tech, it is time for IBM to enter the low end ESXi market on Power and evolve its business into large-scale computing running Power”X” tech.
In that last bit of the letter I got last week, Dave is, of course, referring to running VMware‘s ESX Server hypervisor on Power iron, which while interesting, would not allow X64 virtual machines to magically run on Power-based servers. But what Dave says about Windows-on-Power makes good sense, and IBM does have all the tools it needs to make a concerted, multi-prong attack on the Windows boxes running in Power Systems i shops that may included running emulated and virtualized Windows applications on Power boxes.
The first and most obvious thing to do, as the AS/400 community has been saying for years, is to get Windows Server 2008 R2, the latest incarnation of the server variant of Windows, to run natively on Power-based machines. As you can see from the Related Stories section at the bottom of this article, this idea and rumors that it was being formally discussed by Microsoft and IBM surface from time to time. But nothing ever comes of it. You will recall, of course, that IBM did launch the Power Personal Computers in August 1995, about the same time the AS/400s went to Power-based RISC processors, and you will also remember that these machines ran Windows NT 3.51 and AIX; IBM had mountains of trouble getting OS/2 Warp ported to the boxes. Windows NT was supposed to run on these Power PCs as well as Power-based servers, but Windows NT 4.0, which shipped in July 2006 and was the first credible server edition of Windows, was the last one to support Power, MIPS, and Alpha architectures. The Itanium chip has been relegated to a cut-down version of Windows designed to support SQL Server as a database engine, and Windows is really an X64 operating system at this point. Except, of course, for the three-core PowerPC “Xenon” Xbox 360 game console, which runs a variant of Windows. Which means Windows is still supported on 64-bit Power chips, and that for the right money, IBM could convince Microsoft to redo the Windows port to Power servers.
This seems very unlikely, unless Microsoft finds itself embroiled in an antitrust lawsuit and needs to somehow demonstrate that Windows is a multiplatform operating system. Microsoft needs to make money, and it makes a lot more money selling licenses for underutilized X64 machines than it would on heavily virtualized Power machines. Microsoft could, of course, charge a premium for the Power version of Windows Server, like Red Hat and Novell do for their mainframe versions of Linux compared to the X64, Power, and Itanium versions. How does a factor of 344 premium sound? That’s what they charge per engine comparing X64 cores and mainframe engines. Nice business, if you can get it.
Microsoft could, for instance, assume a five-to-one compression ratio for virtualized Windows running atop IBM’s PowerVM hypervisor (again, assuming it can be ported to that hypervisor at all) and then charge five times as much for a Power Windows license compared to an X64 Windows license. With Intel finally getting some antitrust scrutiny, the repercussions for a Power Windows port should be muted. There may never be a better time, in fact–aside from 15 years ago, of course.
There is another option, and it is similar to the way AIX and PHP applications, as well as the TCP/IP stack and the Java virtual machine that is part of i/OS, were brought to the box: emulation. IBM has a lot of tricks it can deploy here.
First and foremost, for certain modern Windows applications, IBM could work with Novell to get the Mono Extensions to its SUSE Linux Enterprise Server variant of Linux certified on Power-based servers and run C# applications natively inside Mono. The Mono clone of the .NET runtime environment is supported on X64 machines and on IBM mainframes, but not on Power or Itanium gear. I can understand why you wouldn’t want it on Itanium machines, which have their own native Windows (however crimped it might be), but Power iron does not have native Windows support and if you want to peddle Mono anywhere, you’d think Power Systems shops sick of Wintel box sprawl and Patch Tuesday would be a pretty happy hunting ground.
The other option is to use the QuickTransit emulation magic that IBM got when it acquired Transitive back in November 2008 to get Windows applications running on Power iron. QuickTransit is at the heart of the “Rosetta” emulation environment that is used by Apple to allow PowerPC-Mac OS X applications to run on X64-Mac OS X machines with no changes. QuickTransit was originally created to port mainframe and RISC/Unix applications to X64 iron running Linux and eventually Solaris and was also used by Silicon Graphics to move MIPS/Irix applications to Itanium/Linux machines when SGI killed off Irix server biz. While QuickTransit never officially supported Windows as either a source or target platform, there must be some way to make it work considering how different mainframe and Unix boxes and their systems software are from X64 iron.
Another interesting option for getting Windows applications is the Wine, short for Wine Is Not an Emulator. What Wine does is implement the Win32 application programming interface set such that a Windows application running inside Wine and atop Linux, Mac OS X, Solaris, or BSD Unix doesn’t know it isn’t running on a Windows box. The current Wine 1.0.1 stable release has over 1.4 million lines of C code, which was contributed over the 17 years by more than 700 people and which is reportedly used by over 1 million end users. Wine 1.2 will be released this year, and will include support for the Win64 64-bit API set for Windows. The code will be ready for IBM to step in and make use of it to support specific and certified Windows applications.
IBM could, for instance, plunk an X64 processor on a PCI-Express card with some memory and put Wine on that card as a co-processor to support Windows applications. Big Blue did this for years with the Integrated PC Server and Integrated xSeries Server adapters that ran whole Windows operating systems. I would suggest that for this co-processor, all you need is a Xen hypervisor to allow the card to run isolated Wine instances and let the applications run atop Wine rather than Windows. Give the co-processors accessed to the Integrated File System (which is an OS/2 file system that looks like a Windows file system, after all) and big gobs of memory.
The other option would be to absorb Wine into the PASE runtime or plunk it atop the PowerVM hypervisor and allow Windows applications to execute on the Power processors. This may take some clever programming, such as that which Praxis Technologies did to create a product called Wabi, one of the many acquisitions that Sun did in the 1990s and didn’t make much use of. The Wabi product was interesting in that it implemented APIs and emulated hardware when necessary so Windows applications could run on Solaris platforms based on either 32-bit X86 or Sparc hardware. (These were generally 16-bit Windows applications, by the way.) My guess is that the machine-level emulation needed for Wine on Power could be done by QuickTransit, thereby allowing Wine to run Windows applications on Power boxes without any changes much as Wabi did for Sparc machines.
IBM, after its emulation experience with OS/2 Warp and the emulating of Windows 3.X applications, is probably not thinking about how it might take on Windows with Power iron. And you can bet the System x and BladeCenter people are not too keen on this, either.
Tough chip for you then, System x and BladeCenter. Make your own OS/400 and RPG emulator and compete right back for all I care. Either way, the OS/400 shop gets options, which is what I really care about.
Power 7-related stories:
Open source RPG and OS/400 stories: