Dynamic binary translation for virtualisation

Submitting Institution

University of Manchester

Unit of Assessment

Computer Science and Informatics

Summary Impact Type

Technological

Research Subject Area(s)

Information and Computing Sciences: Computation Theory and Mathematics, Computer Software, Information Systems


Download original

PDF

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.