Work Package 5

From Superoptimization
Revision as of 18:25, 1 August 2014 by Jeremy (Talk | contribs)

Jump to: navigation, search

Work package 5 is to construct an early stage business plan.

Work package summary


Construct an early stage business plan for future commercial deployment. This will explore likely markets, potential customers and appropriate business models.


An early stage business Plan


Will need to know likely techniques as identified by work package 1.

Early stage business plan


Compilers translate software written in programming languages to the binary code a computer actually executes. All compilers try to “optimize” the translation, but this is a misnomer, since the result is not “optimal” in the sense of being the best possible translation of the software. Superoptimization, in which the compiler searches for the truly optimal translation dates from 1987, and involves exhaustively searching through all sequences of binary codes to find the very best. The potential gains are huge – one early example reduced a common sequence from 9 to 4 instructions, resulting in reduced execution time, smaller programs and more energy efficient code.

Due to the computational demands, exhaustive search can only tackle tiny code fragments. Over the past 27 years, the algorithms have been improved, and peephole optimization used for more general deployment. In the summer of 2013, research by one of Embecosm's team, James Pallister, suggested the technique could potentially be applied to optimizing for energy efficiency.

Market opportunity

Compiler technology underpins the huge processor design market, in which the UK is arguably the world leader (with multi-billion pound companies like ARM and Imagination Technology). The UK already has a strong position in compiler technology, particularly for energy efficiency. This feasibility work, will reinforce UK leadership, pulling more of this global business into the UK. It is notable that both major industry compiler conferences are being held in the UK in 2014.

The key commercial differentiator for any compiler is the performance of the code it generates. That performance may be measured as the speed at which the code executes, the size of the code generated (particularly for the deeply embedded market) or more recently for energy efficiency of the generated code. This last is being explored by the Embecosm with Bristol University through the Technoogy Strategy Board funded MAGEEC project.

After 40+ years of development, compiler technology is now quite mature. Companies such as Embecosm typically differentiate on compiler performance improvements of the order of 5-10%. The scale of the benefits possible through superoptimization would represent a disruptive advantage for any company that could deliver. However as 27 years of research indicates, there is huge risk in attempting to achieve this. The assistance of the UK Technology Strategy Board has allowed Embecosm to undertake the initial evaluation of that risk. In the unlikely event of this feasibility study yielding success, Embecosm would be in a position to take a world-leading position in compiler delivery.

Market size

We have previously estimated that the global compiler market is worth £150M-170M/year. A significant minority proportion of that market is due to proprietary compiler development by two major companies, Microsoft and Intel. A further minority proportion is down to open source compiler development in-house by major chip vendors, such as ARM. However the remainder is supported by competing compiler development companies of which Embecosm is one. Establishing dominance in superoptimization technology would allow Embecosm over time to grow to take a major part of this market. It is even possible that the benefits possible would open up the potential for a change of strategy by Microsoft and Intel, and encourage in-house development to move out-of-house

Service offering

Most compiler development companies are now service companies developing one of the two major open source compilers, GCC and LLVM. The market for a proprietary compiler for any particular processor is tool small to justify the investment, and a per-user licensing model is not liked by end-customers, because it inhibits their ability to promote their product. As a consequence we are seeing the disappearance of product-centric proprietary compiler companies, most recently with the acquisition of Target Compiler Technologies by Synopsys Inc.

We thus see the only business strategy being to offer superoptimization as a service to customers. Any superoptimizer is going to be specific to a particular architecture, and the service offered to customers would be to develop the superoptimizer for their specific processor, for use with GCC or LLVM.

Execution strategy

The four other work packages of this project will have established the feasible services that could form the basis of a service offering. In particular work package 4 provides the detailed design solution. Before any service offering can be made, Embecosm will need to invest in developing a comprehensive demonstration solution to give credibility. This may be done exclusively in house, but the preferred route will be collaborative R&D with a potential lead customer, possibly with support from the Technology Strategy Board.

Forecast business value

An early stage business plan cannot give meaningful concrete figures. However Embecosm has doubled in size every year since 2008. Delivery of compelling new service offerings is central to continuing that growth.