High-performance processors provide the horsepower beneath the computing infrastructure that supports society's institutions. In the 1990s, the theme of speculation drove innovation in all aspects of processor design and led to phenomenal performance gains. Today, single processor performance is not scaling as well. This is often attributed to technology issues, but more unsettling is the lack of a compelling theme to drive a new generation of microarchitecture innovation, like speculation in the past. While multiple processors on the same chip (multicore or many-core) is an important theme, it is not a panacea. Much software is non-parallel, complex, and irregular, and cannot take advantage of multiple processors in traditional ways. Thus, the multicore theme must be combined with a new sequential-program-centric thrust.
This project puts forward a new microarchitecture theme, in which the processor has a global perspective of a running program's data objects and their current influence on the program as a whole. In the chief proposed design, changes to objects are met in real-time by specializing the few candidate fragments of code that could operate next on the objects, simplifying and resolving the code based on the new data stored within the objects. This significantly reduces the length of the running program. This new execution model presents a unique form of parallelization: although the program itself is not parallelized (it is reduced), specialization tasks are highly parallel by virtue of assigning responsibility for different objects to different processors in a multicore or many-core platform. An alternative interpretation may be that the specialization tasks among many cores constitute a meta dataflow execution of the whole program. Another powerful aspect is maintaining persistent meta-data about the program among specialization cores -- information a compiler has (and more) but which is now embedded in the execution fabric, enabled by the computation and memory capacity of future multicore substrates.