Most current general-purpose processors have two to four cores, and the number of cores on processor chips is expected to double every one and half years. Applications run efficiently on such processors only if they exploit coarse-grain parallelism. However, parallel programming has so far been successful only for applications that deal with structured data such as arrays and relations; unfortunately, most general-purpose applications deal with unstructured data such as graphs and trees. This project is focused on the exploitation of a particular kind of data parallelism in irregular applications that arises from the use of unordered and ordered worklists. Optimistic parallelization is the key mechanism for obtaining parallelism in such applications. A runtime system is used to manage the optimistic parallelism, and compiler analyses are used to optimize parallel execution. Finally, programs are further optimized using dynamic code specialization as the program executes. To investigate the scalability of this approach, the project uses multicore hardware prototypes based on field-programmable gate-arrays. If successful, the project will go a long way towards solving the pressing problem of writing software for multicore processors.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0720531
Program Officer
D. Helen Gill
Project Start
Project End
Budget Start
2007-08-01
Budget End
2011-07-31
Support Year
Fiscal Year
2007
Total Cost
$300,000
Indirect Cost
Name
University of Delaware
Department
Type
DUNS #
City
Newark
State
DE
Country
United States
Zip Code
19716