dynamic binary translation

From: xgl (xli03@emory.edu)
Date: Tue Jun 19 2001 - 07:26:18 MDT


Startup says software translates binary code on the fly
By Peter Clarke
EE Times
(06/11/01, 02:31:25 PM EDT)

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."



This archive was generated by hypermail 2.1.5 : Sat Nov 02 2002 - 08:08:11 MST