Transitive technology: The Rosetta Stone for binary translation
"The most amazing software you'll never see" was how Steve Jobs described the technology created by Manchester spin-out company Transitive. And considering its impact, it’s not hard to see why.
Transitive employed over 80 people in Manchester before being purchased by IBM in 2009.
Binary translation software has had a seismic impact since the technology was commercialised in 2000. The Rosetta software was used in approximately 25 million Mac computers between 2006 and 2009, resulting in revenue of over $20 billion.
Due to differences between operating systems and processing pairs, moving software from one platform to another can be a time-consuming and expensive procedure. The need to rewrite applications for new operating systems and processor pairs resulted in a software-hardware dependency that formed a major barrier for users to change systems, stalling hardware sales and limiting the availability of software on new platforms.
The change to Intel chips that Rosetta allowed to happen led to additional sales revenue of $1 billion for Intel.
Transitive delivered over 20 million copies of its software before being purchased by IBM in 2009.
University researcher Alasdair Rawsthorne worked on the development of hardware virtualisation technology that allowed applications compiled for one operating system and processor pair to run on another without any source code or binary changes. The resulting technology dramatically reduced the cost and risk to software developers and improved the time it took to bring a product to market. The potential for this research to translate into a profitable business was clear, and in 2000 Transitive was formed with Professor Rawsthorne as Chief Technology Officer.
Transitive's technology came at a fortunate time for Apple. In the early 2000s it was apparent that the company's use of PowerPC processors for its Macintosh computers was limiting its business. PowerPC chips needed heavier thermal solutions and larger batteries than IBM-compatible machines, which used Intel CPU software optimised for use in different products such as servers, desktop computers, and laptops. Apple needed a solution in order to compete in an ever-expanding market.
In 2005, Apple announced that it would change over its entire product line to Intel CPU software in 2006; as part of this announcement it introduced Rosetta, licensed from Transitive. Rosetta allowed existing PowerPC applications to run on Intel-based Macintosh computers, meaning that existing Macintosh users could buy the new models without needing to replace their applications.
Apple's sales roughly doubled between 2006 and 2009.
From 2006 to 2009, sales of Apple computers roughly doubled following the adoption of Intel CPU. Rosetta was shipped with desktop and laptop computers that used Mac OS X Tiger version 10.4.4 to Leopard version 10.5.
The Transitive technology behind Rosetta helped bring about a very successful change in platform technology for Apple. Transitive continued to blossom over the course of the decade, with 81 people employed in Manchester, and another 20 worldwide. In 2009, IBM acquired Transitive and opened the IBM Manchester Lab, where research and development continues to this day.
The journey that Transitive embarked upon was founded upon research that took place at The University of Manchester from 1995 to 2000. Professor Rawsthorne led the work, with contributions from:
- 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.
When work began in 1995, dynamic binary translation was regarded in the industry as a technology of limited use due to its poor performance and terrible reliability. Professor Rawsthorne's research showed that binary translators could offer bitwise compatibility with silicon CPUs at almost the same level of performance as native software.
The main insight from his work was that dynamic binary translators could be constructed using an intermediate representation to bridge the semantic gap between almost any pair of instruction set architectures.