LONDON A spin-off from the University of Manchester, Transitive Technologies Ltd., is planning to wow engineers at the Embedded Processor Forum this week in San Jose, Calif., with its dynamic binary-translation technology.
The San Diego company claims its Dynamite software can take binary code ready to run on one type of processor and, on the fly, translate it into the binary code required by another. Transitive also says that because of optimizing routines within its software, the translated code usually runs faster and more efficiently than the original native code.
If these claims are substantiated, Transitive could spark dramatic changes in the way processor hardware is designed and deployed by ending the architecture-loyalty and legacy-code issues that have dominated for the last 20 years.
The company has no scheduled role in the Embedded Processor Forum but plans to take a suite of rooms in the Fairmont Hotel, where the forum is being held, and invite key engineers and senior executives to see a demonstration of its technology. Transitive says it will show X86 software running on a MIPS-based server.
Many processor pairs
Translation, sometimes called software emulation, has been studied extensively in academic research and to an extent is offered by the Crusoe processor from Transmeta Corp. (Santa Clara, Calif.). However, Crusoe specifically takes X86 code and prepares it for execution by Crusoe's own pipeline.
In contrast, Transitive's optimizing, dynamic binary-translation technology is generalized and can, in theory, be tailored for many processor pairs. The company plans to do this under the product-family name Dynamite.
The key technical person behind Transitive is Alasdair Rawsthorne. For 20 years a lecturer in the computer science department of Manchester University, Rawsthorne is now chief technology officer at Transitive. His colleague Steve Furber, the ICL professor of computer engineering at Manchester, sits on the company's board of directors.
"At the moment we are thinking of two product lines. One solves legacy-based problems, the second would be used for innovative co-architecture developments," said the company's San Diego-based president and chief executive officer, John Graham, a Brooktree and Conexant veteran.
The Dynamite architecture is based around a translation kernel, with a front end that takes code aimed at a source processor and a back end that aims the translation at a new target. The front end acts as an instruction decoder, building an abstract, intermediate representation of the subject program in the form of what Transitive calls "directed acyclic graphs." The kernel can then perform abstract, machine-independent optimizations on this representation.
The kernel is reusable and with its dynamic optimization technology can accelerate programs regardless of the architecture for which they were compiled, the company maintains.
"The Dynamite kernel is production-ready," said Graham. "The key to our technology is that we are able to get code into an intermediate format very, very quickly. Most translations take such a long time they can't do many optimizations."
Graham also explained that it is possible to run the Dynamite translation either above or below the operating system. Development of a back end to target a particular processor can be done in about four to five months, he said, entirely using public-domain information.
However, some optimizations are not trivial, and handling exceptions are the test of the system. Though it runs in real-time, Dynamite is not expected to be deployed without considerable engineering effort. Coping with word-size mappings and the "endian" convention is relatively easy, Graham said. Handling differences in interrupt structures, stack depths or sizes of register sets requires libraries of prewritten support files.
"You don't take it out of the shrink wrap and expect it to run. It's not that kind of silver bullet," he said. "Dynamite is a partnering and licensing proposition."
Not all processor types or processor pairs are ideally suited to the Dynamite approach, Graham acknowledged.
"Translating CISC to RISC is bit like pushing uphill, but we can get close to parity in performance assuming the same clock speed," he said. "That's because we work the 90:10 rule on the fly. The software spends 90 percent of its time in 10 percent of the lines of code.
"That means for RISC-to-RISC and CISC-to-CISC translations, we are able to make improvements. We have seen accelerations of code of 25 percent. So for example, with ARM to MIPS and vice versa there's a real chance of performance improvement in either direction." However DSPs with their typically hand-optimized inner loops are not a good target, he added.
There is no fixed latency associated with the Dynamite translation, Graham said. Dynamite learns as the code runs or an engineer can pre-teach it while a system is booting up. The result is that while there may be some latency while caches are filled, once the software is running the technology can, in effect, produce results earlier than they would occur when running on a native machine. "Our claim is that we can run 1:1 or [even] better than native speeds," he said.
Dynamite requires system memory to reside in typically, a few hundred kilobytes to a couple of megabytes but apart from that there is no overhead. It is also possible to tailor Dynamite to the memory space available, Transitive said. To reduce the footprint for a portable application, not all available optimizations need to be used, for example.
Range of platforms
Nigel Topham, principal architect with Siroyan Ltd. (Reading, England), a startup developing its own scalable processor architecture, said he believed binary translation could become a mainstream technology.
"SoC [system-on-chip] customers do not want to be constrained by a single processor architecture and want to move software applications between platforms as markets converge and applications are reused in a variety of different-form-factor appliances," said Topham. "It is often not possible to predict in advance which applications will be successful, and being able to rapidly exploit a successful application across a range of platforms is a very important competitive advantage that binary translation can help to address."
As an academic at the University of Edinburgh in the early '90s, Topham worked with Transitive's Rawsthorne on ACRI, a European supercomputer project. Topham said Siroyan had one meeting with Transitive but had not, as yet, been shown detailed technology.
Binary translation rides on "advances in processor technology and software maturity," he said. "From a processor developer's perspective, we can deliver the raw processing power and functionality that is sympathetic to this approach" and "enabling software development tools."