Combining Data and Instruction Level Parallelism through Demand Driven Execution of Imperative Programs

Futuristic technology – Cool blue image of a computer cpu

Researcher: Soner Onder, PI, Professor, Computer Science

Sponsor: National Science Foundation

Amount of Support: $113,910

Duration of Support: 2 years

Abstract: This project advances a new execution paradigm, namely, demand-driven execution (DDE) of imperative programs. It studies the feasibility of the paradigm by establishing theoretical performance bounds, and identifying its key scalability aspects. The primary intellectual merit of the proposal is the DDE methodology and its use in removing impediments to parallelism due to data flow and control flow. The project’s broader significance and importance stems from its impact on the design of future processors, and its synergistic use of compilers and microarchitectures. Processors built using the DDE approach can better utilize computing resources and are energy efficient.

The basic idea behind the DDE methodology is to compile C-like programs such that both instruction-level and data-level parallelism can be used through a collaboration between compilers and microarchitectures. The basis for this collaboration is an executable, intermediate program representation known as “Future Gated Single Assignment” (FGSA) form into which a source program is compiled. The FGSA representation not only can be used by an optimizing compiler but also can be used as hardware instructions which can be directly executed by the microarchitecture.

More info.