Transitive Emulator Ports Sparc/Solaris Apps to Linux on Xeon, Itanium
Published: June 28, 2006
by Timothy Prickett Morgan
Earlier this year, when Transitive, a startup that has created a sophisticated emulator for running software for one computer architecture on other architectures, got backing from Intel, the tongues started wagging that Intel had given Transitive money to create a version of its emulator to support the porting of Solaris/Sparc applications to Intel Xeon and Itanium processors, possibly running the Linux operating system. And, indeed, this has come to pass.
This week, Transitive, which likes to hold its cards pretty close to its vest, announced the first fruits of its labor with Intel: Two QuickTransit tools that are part of what it calls the Solaris/Sparc Migration Initiative, which will allow companies to take applications written for Solaris running on Sparc platforms and run them through the QuickTransit "hardware virtualization" emulation software and then run them on Linux platforms based on either 32-bit or 64-bit Xeon or 64-bit Itanium processors. (There is a separate tool for each source and target platform combination.) QuickTransit for Solaris/Sparc to Linux/Xeon, the first product, will be available in late July or early August, while QuickTransit for Solaris/Sparc to Linux/Itanium will be available in the fourth quarter, probably close to the end of the year.
Transitive burst onto the scene almost two years ago, and is probably most famous for supplying the key ingredients for Apple Computer's "Rosetta" emulation environment, which has allowed Apple to ditch PowerPC processors and move its Mac OS X operating systems and applications to Intel Pentium and Xeon processors this year. Before that happened last year, Silicon Graphics has chosen QuickTransit as a means of supporting applications originally developed for its Irix Unix/MIPS chip combination on its Linux/Itanium Altix supercomputers. Transitive was founded in October 2000 and is a spinout from Manchester University in England. The company has over 60 software engineers and has a number of venture capitalists backing it.
Back then, Transitive was only working through the server makers to have them adopt the tool as part of their own systems, hoping to take down big licensing deals to help vendors cope with the legacy platforms in their own installed bases--and to allow them to chase the legacy installed bases of their competitors. With the new Solaris/Sparc variants of the QuickTransit emulator, explains Bob Wiederhold, president and chief executive officer at Transitive, the company is selling the emulator directly to end users--something many of us were clamoring for the company to do--as well as through an indirect sales channel involving the server and operating system players. With the Solaris/Sparc versions of the QuickTransit emulator, customers pay $875 per server socket for the QuickTransit tools. This is a very reasonable price, and hopefully, QuickTransit will see the wisdom in playing Switzerland and allowing the emulation of all kinds of platforms on all kinds of iron.
When it was announced nearly two years ago, transitive had four basic flavors of its software. QuickTransit for Itanium supported MIPS, Power/PowerPC, X86, and mainframe binaries; QuickTransit for Opteron supported MIPS, Power/PowerPC, and mainframe binaries; QuickTransit for X86/X64 supported MIPS, Power/PowerPC, and mainframe binaries; and QuickTransit for Power/PowerPC supports MIPS, X86, and mainframe binaries. With this week's announcement, Sparc binaries are being added to the X86/X64 and Itanium binaries and sold as a separate product. None of the other combinations are, as yet, being offered as an end user product.
QuickTransit has three key parts: a front end where the binaries written for one platform (say Solaris on Sparc) reside and a back end that links to the new platform (say Linux on Itanium, just to annoy Scott McNealy twice). Sitting between this front end and back end is an optimizer layer that translates blocks of instructions in the AIX-Power application into an intermediate form, which Transitive calls intermediate representation, or IR. The optimizer, as the name suggests, performs optimizations on these blocks of instructions and stores these routines in the cache of the server, in this case the Linux-Itanium box. The optimizer then encodes the binaries for the new target environment and handles all of the operating system and graphics mapping calls, which allows the application to run. QuickTransit can support any operating system that is Unix-like or Linux-like as a source application platform and move it to any other Unix-like or Linux-like platform. QuickTransit can also move any applications (including the operating systems) that run on IBM mainframes to a Unix or Linux platform. And, because QuickTransit is what is called a user space application, it can run within any virtual machine hypervisor, such as those provided by VMware and XenSource.
In theory, there is no reason why the QuickTransit tools could not be used to port OpenVMS or OS/400 applications to new architectures, either. But, as always, Wiederhold is mum about the possibilities. I joked to Wiederhold that he could probably get payola from server makers for not porting the QuickTransit to their platforms, with IBM's MVS and OS/400 platforms and HP's OpenVMS coming to mind. He laughed politely, the conversation kinda fell flat for a second, and then we moved on. But, it remains true that QuickTransit lowers barriers to platform exit, and Transitive knew that when it developed the tool.
The Solaris/Sparc versions of QuickTransit support the full UltraSparc instruction sets, including V8, V8+, and V9. Both 32-bit and 64-bit Solaris applications are supported, and Transitive is supporting applications written for Solaris 2.6, 2.7, 8, 9, and 10. "We haven't found an application that won't run yet," brags Wiederhold. "But we will find some," he added. The QuickTransit tool supports the full Solaris environment, including scripts, and will work on any Linux with the Linux 2.6.9 kernel. (Red Hat Enterprise Linux 4 AS and Novell SUSE Linux Enterprise Server 10 are being certified out of the chute. Transitive says that it is working on other Solaris/Sparc tools, and it is an obvious guess that supporting Solaris workloads on Opteron/Linux combinations is next. However, there is also another interesting possibility: supporting applications that were written for Sparc/Solaris 2.6 that used undocumented calls and APIs that have been locked in that very old Unix release and move it to either Sparc or Opteron servers--quite possibly even those from Sun.
As I said last spring, it would be very interesting to see Intel or AMD make the emulation of RISC/Unix and proprietary platforms on their respective Xeon and Itanium or Opteron processors a standard platform feature, much as TCP/IP and XML acceleration are part of the platform. This might cause an even more massive server consolidation than we have seen to date.
Transitive Gets Backing from Intel for Porting Product
SGI Goes All the Way With Transitive Emulator
Cool Stuff: Transitive Emulates Server Platforms on Other Iron