CAREER: Compiler-Inserted Runtime Adaptation for Multicore Processors
Brigham Young University, Provo UT
Investigators
Abstract
Increases in the number of cores in multicore processors have lead to increases in the architectural and environmental diversity present in computer systems: the number, complexity, and mix of available cores vary greatly and the resources allocated to an application differ from run-to-run and within runs. Diversity has a significant impact on application performance; applications must adapt to differences in their architecture and environment to achieve good performance. However, developing adaptive applications greatly increases the difficulty of writing efficient parallel programs while increasing the level of skill required to write a parallel application, and may therefore limit programmers' ability to write parallel applications and take full advantage of multicore processors. This project develops and disseminates new compilation techniques and runtime adaptation strategies in which a compiler analyzes the concurrency and locality features of an application, selects a runtime adaptation strategy based on these features, and adds adaptation to the application. Key contributions address the challenges of discovering and representing concurrency and locality and selecting adaptation strategies based upon application characteristics. These new compilation techniques and adaptation strategies will free programmers from the need to concern themselves with architectural and environmental diversity when writing parallel applications. This freedom will then enable a wide variety of applications to benefit from multicore processors, thus ensuring that multicore processor systems will be able to live up to users' increased performance expectations.
View original record on NSF Award Search →