Dynamic binary translation for virtualisation
Submitting Institution
University of ManchesterUnit of Assessment
Computer Science and InformaticsSummary Impact Type
TechnologicalResearch Subject Area(s)
Information and Computing Sciences: Computation Theory and Mathematics, Computer Software, Information Systems
Summary of the impact
Binary translation enables applications compiled for one architecture to
run on another. Research on dynamic binary translation was commercialised
through the spin-out company Transitive in 2000. Transitive employed 80
staff at its engineering lab in Manchester and delivered over 20 million
copies of its software, before being acquired by IBM in 2009, giving rise
to the IBM Manchester Lab. Transitive technology was fundamental in
Apple's transition to Intel CPU chips, and was shipped with around 14
million Mac computers during the REF period. The technology was described
as "The most amazing software you'll never see" by Steve Jobs.
Underpinning research
The impact is based on research that took place at The University of
Manchester from 1995 to 2000. It was led by Professor Alasdair Rawsthorne
(1995 to 2013), with contributions from the following research students:
- Jason Sologlou (1995-1996) MPhil: A Framework for Dynamic Binary
Translation.
- John Sandham (1996-1998) MPhil: Dynamic Optimization of x86 Code.
- Daniel Owen (1996-1999) PhD: Optimisation of Memory Reference Patterns
in Dynamic Binary Translation Systems.
- Ian Rogers (1998-2001) PhD: Optimising Java Programs Through Basic
Block Dynamic Compilation.
Sologlou, Sandham and Owen all joined Transitive on its creation, and
Rogers joined upon completion of his PhD.
In 1995 dynamic binary translation, which translates instructions from
one architecture to another while a program is executing, was widely
regarded in the industry as a technology of limited applicability due to
its poor performance, terrible reliability and lack of generality.
Rawsthorne's research, the wider context for which is provided in [6],
showed that binary translators could offer bitwise compatibility with
silicon CPUs at a performance close to native and across a range of
instruction set architectures.
The core insight was that high-fidelity dynamic binary translators could
be constructed using an Intermediate Representation to bridge the semantic
gap between almost any pair of instruction set architectures.
The major contributions of the research were:
1) an Intermediate Representation (IR) that provided the richness
necessary for mapping semantics between different low-level instruction
sets [1, 4, 5];
2) a demonstration that it was possible to analyse program binaries
encoded in one instruction set, translate them into this IR and then
code-generate to a native instruction set, all sufficiently quickly to
deploy the technique at run-time — even for programs requiring interactive
response times [2]; and
3) the development of adaptive translation techniques, using the
translator's operation at run-time to generate translations customised for
the functional and performance requirements of the application at that
instant, while permitting re-translation in the event that these
requirements might change in the future [3].
The combination of these techniques allowed the development of dynamic
binary translators for different pairs of subject and target
architectures.
References to the research
As the commercial potential of the research was recognised early on,
patent protection was sought for key results. Four of the patents from
this research ([2,3,4,5]) were returned by Manchester in The Research
Assessment Exercise in 2008, in which all outputs in the return received a
2* rating or higher.
Key References
[1] J. Sologlou, A. Rawsthorne, Register Based Program Code Conversion,
Patent Registration Number 7,346,900,
18/3/2008 (Filed 6/6/2002).
[2] J. Graham, A. Rawsthorne, J. Sologlou, Obtaining Translation of
Generic Code Representation, Patent Registration Number GB 2382426B,
13/03/2003 (Filed 16/8/2002).
[3] J. Sologlou, A. Rawsthorne, Program Code Conversion, Patent
Registration Number 7,203,933
B2, 10/4/2007 (Filed 6/4/2001).
Other References
[4] J. Sologlou, A. Rawsthorne, Program Code Conversion for Program Code
Referring to Variable Size Registers, Patent Registration Number 2003/ 0106050,
5/6/2003 (Filed 6/6/2002).
[5] A. Rawsthorne, J. Sologlou, Program Code Conversion, Patent
Registration Number EP1119807
B1, 20/4/2005 (Filed 11/10/99).
[6] S.V. Adve, D. Burger, R. Eigenmann, A. Rawsthorne, M.D. Smith, C.H.
Gebotys, M.T. Kandemir, D.J. Lilja, A.N. Choudhary, J.Z. Fang, P-C Yew,
Changing Interaction of Compiler and Architecture, IEEE Computer. (1997)
30:12 51-58. http://dx.doi.org/10.1109/2.642815.
(Google Scholar: 28 citations).
Details of the impact
Context
Moving software applications from one platform to another is often a time
consuming and expensive process due to differences between operating
system (OS) and processor pairs. The need to rewrite applications for the
new OS/processor pair resulted in a software/hardware dependency that was
a major barrier to strategic migration, delaying hardware sales and
limiting the availability of software on new platforms.
Rawsthorne's research led to the development of hardware virtualization
technology which allows software applications that have been compiled for
one OS/processor pair to run on another without any source code or binary
changes, and at speeds comparable to native ports. The technology
dramatically reduced software developers' cost, risk, and time-to-market
in supporting multiple hardware platforms.
Pathways to Impact
The research led directly to the creation of the start-up company
Transitive, with Rawsthorne as CTO, which secured venture capital funding
from Pond Venture Partners Ltd., Manchester Technology Fund (a University
of Manchester/UMIST venture fund), Crescendo Ventures and Accel Partners.
Transitive had its headquarters in Los Gatos, California with a research
and development team in Manchester. Transitive was purchased by IBM in
2009.
Reach and Significance
Transitive Corporation and IBM Manchester Lab. The primary
economic impact of the research was through the establishment of
Transitive Corporation. The company accounts show that Transitive employed
81 on 31/11/2008 and 76 staff on 31/12/2009 [A]. Transitive was acquired
by IBM in 2009, which on 13th May 2010 announced the official opening of
the IBM Manchester Lab [B], which continues to this day. The press release
[B] states that "the Manchester Lab engineers have already developed IBM®
PowerVM Lx86 for IBM Power Systems, a technology which helps to enable
clients to consolidate their Linux-based applications onto IBM systems".
Apple's Adoption of Transitive Technology. In the early 2000s, it
was apparent to many in the industry that Apple's choice of PowerPC
processor for its Macintosh computers was increasingly limiting its
business. The volumes available in the (IBM-compatible) PC business had
enabled Intel and AMD to produce ranges of CPU chips carefully optimized
for use in different system products such as servers, desktop and laptop
computers. Apple laptops were handicapped by needing heavier thermal
solutions and heavier batteries than IBM-compatible PCs of the era, which
made it impossible for Apple to compete with PC manufacturers in this
growing market.
In 2005, Apple announced it would transition the entire Macintosh product
line to Intel CPU chips starting in 2006. As part of this announcement
they introduced "Rosetta", licensed from Transitive, to allow existing
PowerPC applications to run on new Intel-based Macintosh computers at good
performance [C, D].
Rosetta was shipped with Apple desktop and laptop computers that used Mac
OS X "Tiger" from Version 10.4.4 to Version 10.5 "Leopard", which
essentially cover the period from January 2006 until August 2009. As an
estimate of the number of copies of Rosetta shipped, from Q2 2006 until Q2
2009, Apple shipped over 25 million desktop and laptop computers [E]. We
expect that most of these were in use for at least some part of the REF
period, and in terms of sales, over 14 million desktop and laptop
computers were sold by Apple from Q1 2008 to Q2 2009, representing a
revenue of over $20bn [E]. The sales of Apple computers roughly doubled
from 2006 to 2009, reflecting the successful change in platform that
Rosetta helped to bring about.
For Intel there was also a significant revenue boost as every one of the
post 2006 Macintosh computers contains an Intel CPU. Over the period
2008-2011, 40 million were sold, representing additional sales revenue to
Intel of approximately $4bn.
Sources to corroborate the impact
Supporting material is available from the university for the
corroborating sources below.
[A] Fame: detailed information on UK and Irish Companies (https://fame.bvdinfo.com/).
Confirms the staffing levels at Transitive; supporting material provides
the specific entries.
[B] IBM Press Release: IBM Opens Development Laboratory in the Centre of
Manchester
(http://www-03.ibm.com/press/uk/en/pressrelease/31668.wss).
[C] Apple Rosetta Web Page (http://www.apple.com/asia/rosetta/)
on 17th June 2013.
[D] Wikipedia page for Rosetta (http://en.wikipedia.org/wiki/Rosetta_%28software%29)
on June 17th 2013.
[E] Apple sales data downloaded on 1 March 2013. Supports the specific
statements on units sold and revenue; supporting material provides
quarterly sales figures.