The number of processing cores in everyday computer systems is quickly outpacing programmers' and compilers' ability to create many-threaded applications capable of taking advantage of the cores. Instead of requiring applications to be rewritten to take advantage of the many-core architectures, this project aims to create automated parallelization approaches that utilize machine learning to improve traditional parallelization methods to create more effective (and often speculative) threads. These techniques will be applied to the arrangement of the parallel execution of tasks (whether coarse- or fine-grained), yielding a systematic learning approach that will outperform static parallelization attempts. This approach assists both programmer identified parallelism as well as that exposed by the compiler. This project is not limited to applications with regular loop-level parallelism, but targets irregular integer applications which have proven difficult to statically parallelize.

This project will result in the development of a high performance dynamic parallelization system based on critical information gathered from machine learning and related approaches. By creating intelligent parallelization approaches, we enable the multicore machines of the future to be used to their full advantage by both scientists and the general public. Although many of today's applications may not require the full computational power of a many-core machine, the effective utilization of such machines will enable new, more-powerful applications than are currently possible.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
1018771
Program Officer
Marilyn McClure
Project Start
Project End
Budget Start
2010-08-01
Budget End
2015-07-31
Support Year
Fiscal Year
2010
Total Cost
$515,882
Indirect Cost
Name
University of Oklahoma
Department
Type
DUNS #
City
Norman
State
OK
Country
United States
Zip Code
73019