Dr. Soner Onder, Computer Science, has been awarded a $1,200,000 collaborative medium grant from the National Science Foundation titled, “Collaborative Research: SHF: Medium: Vectorized Instruction Space (VIS).”
With this award, Dr. Onder now has four concurrently active NSF awards, where the MTU share is over $1.6million.
This is a joint project with Florida State University, with each university receiving an equal share of $600,000. Michigan Tech is the lead institution; Onder is the sole PI for MTU.
For the project, Florida State University will develop the compilation aspects of the project under the direction of principal investigator Prof. David Whalley and co-PI Dr. Gang-Ryung Uh. Michigan Tech will develop the processor architecture side of the project under the direction of Onder.
This joint project targets a long-unsolved problem in the handling of computer programs, namely the efficient processing of control-flow instructions. It aims to significantly increase the performance of application programs ranging from those running on mobile devices to those utilized by ever-growing data centers.
The project’s potential impacts are to enable better-performing systems at all scales, thus directly and positively impacting society. The efficiency of most applications is still primarily affected by how fast branch instructions can be processed, which in turn decides how many machine instructions can be executed by a processor per clock cycle. Advancing the state of the art in this problem domain requires a paradigm shift and a completely novel approach to system design.
The project’s novelty lies in its proposal to investigate a mechanism that has significantly better potential than incremental improvements based on available techniques can provide. The team will develop the foundations of such an approach. The resultant toolsets and design infrastructure will be open source, making an impact on both education and research.
The project’s novel approach can be summarized as applying the principle of vectorization to the instruction space, referred to as Vectorized Instruction Space (VIS). VIS relies on an executable dynamic single-assignment form implemented at the machine-instruction level. Vectorization of the instruction space converts control dependences to data dependences using a process that has significantly less overhead than traditional predication, and it naturally combines controlled multi-path execution with speculation.
Within this new paradigm, it will be possible to eliminate a significant fraction of difficult-to-predict branch instructions, and efficiently unroll loops with unknown iteration counts. The project involves the development of the foundations of the paradigm both at the microarchitecture and the compiler level, targeting both superscalar and VLIW architectures.