The PolyFlow project will investigate new dynamic techniques for using control-dependence information to find and exploit global instruction-level concurrency within a single thread of execution. PolyFlow builds on compiler-assisted thread level parallelization mechanisms that concurrently fetch, rename and execute multiple, widely separated, portions of the program. Based on the insight that the control dependence graph provides concrete information about the instructions that will be fetched in the future, the PolyFlow compiler provides this graph, rather than thread boundary information, directly to the micro-architecture, allowing the micro-architecture to make feedback-directed dynamic and speculative instruction prioritization and resource utilization decisions. The project will investigate the specific architectural, feedback, compilation, and resource management mechanisms necessary for PolyFlow to attain high levels of concurrency on a single thread. PolyFlow may fundamentally change how we approach single-threaded computation from a parallelism perspective, potentially opening up fresh avenues of research in architecture and compilation. PolyFlow's performance gains can be molded by system designers throughout the information technology sector into better system attributes such as reliability, security, innovative human-computer interfaces, system autonomy or application intelligence.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
0429711
Program Officer
Timothy M. Pinkston
Project Start
Project End
Budget Start
2004-11-01
Budget End
2007-10-31
Support Year
Fiscal Year
2004
Total Cost
$424,980
Indirect Cost
Name
University of Illinois Urbana-Champaign
Department
Type
DUNS #
City
Champaign
State
IL
Country
United States
Zip Code
61820