Existing compilation techniques are unlikely to release the full potentials of the new many-simple-core architectures, where a processor consists of tens, hundreds or more cores that do not have fine grain instruction-level-parallelism. The fundamental reason is that traditional compilation technology is largely designed to maximize single-thread performance while the same strategy will likely hinder the realization of the best overall performance when programs on many-simple-core processors routinely run hundreds or even more threads. A many-simple-core processor usually delivers the highest performance when its resource is fully utilized. However, a thread compiled in the traditional way has all resources at its disposal to maximize its own performance. When applied to hundreds of threads, the resource requirement adds up and will create a resource bottleneck that is much more likely than the performance of single thread to be the main performance issue. More generally speaking, the question of what is compiler optimization needs to be redefined in the new context of many-simple-core processors.

This research improves the tradeoff between single-thread performance and overall resource utilization. The project includes a systematical study of techniques and strategies that are needed to adapt existing compiler and code optimization techniques to the new many-simple-core processors, and the development of new optimization techniques and strategies that are oriented specifically to improve resource utilization on the new architecture. Specifically, the investigators study the modeling of shared resource utilization in compiler, compiler optimizations and code transformations that redefine the profitability analysis of existing techniques, and optimization strategy that orchestrates the selection of compiler transformations and their parameter values to "de-optimize" or "optimize" single thread to improve overall performance.

Project Report

In this project we develop compiler technique and software development tools to release the full potentials of the new many-simple-core architectures, where a processor consists of tens, hundreds or more cores that do not have fine grain instruction-level-parallelism. The fundamental motivation for this project is that traditional compilation technology is largely designed to maximize single-thread performance while the same strategy will likely hinder the realization of the best overall performance when programs on many-simple-core processors routinely run hundreds or even more threads. A many-simple-core processor usually delivers the highest performance when its resource is fully utilized. However, a thread compiled in the traditional way has all resources at its disposal to maximize its own performance. When applied to hundreds of threads, the resource requirement adds up and will create a resource bottleneck that is much more likely than the performance of single thread to be the main performance issue. More generally speaking, the question of what is compiler optimization needs to be redefined in the new context of many-simple-core processors. This project conducts a systematical study of techniques and strategies that are needed to adapt existing compiler and code optimization techniques to the new many-simple-core processors, and the development of new optimization techniques and strategies that are oriented specifically to improve resource utilization on the new architecture. Specifically, the investigators study the modeling of shared resource utilization in compiler, compiler optimizations and code transformations that redefine the profitability analysis of existing techniques, and optimization strategy that orchestrates the selection of compiler transformations and their parameter values to "de-optimize" or "optimize" single thread to improve overall performance. The techniques developed in the project have been applied to help solving various science and engineering challenges including multiscale computational fluid dynamics, large scale image processing and sparse signal processing.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
1115771
Program Officer
Almadena Chtchelkanova
Project Start
Project End
Budget Start
2011-08-01
Budget End
2014-07-31
Support Year
Fiscal Year
2011
Total Cost
$259,238
Indirect Cost
Name
University of Delaware
Department
Type
DUNS #
City
Newark
State
DE
Country
United States
Zip Code
19716