is providing the engine used in Apple's Rosetta software, which translates software for its current machines using PowerPC processors so it can run on. "We've had a long-term relationship with them," Transitive Chief Executive Bob Wiederhold said Tuesday.
As a program runs, Rosetta translates its PowerPC instructions into corresponding x86 instructions. Although there are limits to what programs it can translate, the software promises to ease the transition that current Apple customers andface. Apple Chief Executive Steve Jobs on Monday demonstrated Rosetta during a , showing it running PowerPC versions of Adobe Photoshop and Microsoft Word and Excel--three applications essential to the success of the Macintosh line.
A Silicon Valley start-up called Transitive is supplying Apple Computer with a crucial bridge to enable the move to Intel-based computers.
Apple and Transitive face performance challenges. Success has been elusive for computer makers trying to support one chip's software on a machine with a different chip.
Jobs' Rosetta demonstration went smoothly--he loaded and edited several documents--but both Apple and Transitive face performance challenges with Rosetta. Success has been elusive for computer makers trying to support one chip's software on a machine with a different chip.
"History says that binary translation basically doesn't work," said Illuminata analyst Gordon Haff. "The day may come when someone can do a good enough job with it, but that concept has been thrown out there many times in the computer industry, and it's always fallen flat on its face."
But Los Gatos, Calif.-based Transitive is willing to set high expectations when comparing software compiled natively for the new processor to that compiled for the older processor and running on the new one.
In the case of Transitive's first customer, Silicon Graphics Inc., software for the older processor generally reaches at least 80 percent of the speed of native software, Wiederhold said. But that high score stems partly from the fact that the SGI systems are used for graphics tasks, which have little or no translation penalty, he said.
With more computationally intense tasks, the performance of translated software is between 60 percent and 80 percent of native software, Wiederhold said.
Another skeptic is Nathan Brookwood of Insight 64. "Everybody always has said 50 (percent) or 60 percent and delivered 30 (percent) or 40 percent," he said. Among those who have tried: Digital Equipment Corp.'sto run x86 Windows programs on computers with Alpha chips; Hewlett-Packard's software to run HP-UX software for PA- RISC chips on Itanium; and Intel's software to run software for x86 chips on Itanium.
Jobs was satisfied, though. During his demonstration, Jobs said translated software runs "pretty fast," though his presentation's slide said performance is "good (enough)." His demonstration computer had a 3.6GHz Pentium 4 and 2GB of memory.
Apple, though not known for bending over backward to support users of older Macs, has some experience helping users with processor transitions. When it changed from Motorola 680x0 processors to PowerPC in 1994, it included emulation software that would let users run the older software on the newer machines.
And Wiederhold is delighted to have Apple as a customer. "Like many start-up companies with breakthrough technology, there's a lot of skepticism about the technology itself--whether we can meet the claims we discuss," he said. "Getting proof points out there is very important to our success."
One thing that's unclear is whether Rosetta will work in the other direction--translating x86 software for use on PowerPC Macs, something that could significantly expand Transitive's revenue sources. That feature, by ensuring future Mac software will work on older-generation machines, could help convince potential PowerPC-based Mac customers not to put off their purchases.
Transitive last fall released a version of QuickTransit that would support such a feature, but Wiederhold wouldn't comment on whether Apple plans to use it.
However, Apple hopes programmers will create what it calls "universal binaries"--software that includes versions for both processors in one package. Doing so would significantly increase the size of a program, but if programmers followed this practice, an Intel-to-PowerPC translator wouldn't be needed.
Apple has been reluctant to discuss where Transitive fits into the Rosetta technology, though Jobs did confirm in a New York Times interview that Transitive is playing a role.
In an interview with CNET News.com, Apple Senior Vice President Phil Schiller declined to say how much of Rosetta was developed in-house. "I'm not going to talk about details, but it's Apple technology," Schiller said.
on how much of Rosetta was developed in-house
Transitive has about 65 employees, with all engineering staff in Manchester, England. Founder and Chief Technology Officer Alasdair Rawsthorne developed the technology in 1995 at the University of Manchester and built a company around it in 2000.
The company has raised $24 million in three rounds of investment--in October 2000, in February 2002 and in September 2004, Wiederhold said. Investors are Pond Venture Partners, Crescendo Ventures and Accel Partners.
Six major computer makers are Transitive customers, and some new ones should be announced in coming months, Wiederhold said. Later this year or early next, the company wants to start selling products to a second class of customer: software companies that can include QuickTransit as a quick way to bring products to new processors.
QuickTransit can be used to bring software to Itanium, PowerPC, and x86 from Intel and Advanced Micro Devices. It can translate software from computers with x86, mainframe, Power or MIPS chips.
AltiVec and other limitations
While Rosetta will work to translate many Mac programs, it does have some important limitations.
"Many, but not all, applications can run translated," Apple said in a paper for developers. "Applications that run translated will never run as fast as they run as a native binary because the translation process itself incurs a processing cost."
Apple said that Rosetta is "designed to translate currently shipping applications that run on a PowerPC with a G3 processor and that are built for Mac OS X."
However, Apple said Rosetta can't run several types of code: that written specifically to use the PowerPC's AltiVec instructions; that which requires a G4 or G5 chip;, which today can run with Mac OS X's "classic" environment; kernel extensions; applications that depend on kernel extensions; and code that inserts preferences in the System Preferences pane.
"How compatible your application is with Rosetta depends on the type of application it is," Apple said. "Applications that have a lot of user interaction and low computational needs, such as a word processor, are quite compatible. Those that have a moderate amount of user interaction and some high computational needs or that use OpenGL are, in most cases, also quite compatible. Those that have intense computing needs aren't compatible."
Apple said that there are no visual indications that an application is being translated. A dialog box in the Finder can be used, though, to see whether an application exists only in a PowerPC binary.