The objective of this research is to enable improved performance and application development efficiency for streaming applications. The approach is to use architecturally diverse computing engines, such as field programmable gate arrays and graphics processing units, to execute portions of an application. This approach is especially well suited to applications that process streaming data, such as from a sensor array like a telescope or other scientific instrument.

Intellectual merit. While the use of architecturally diverse systems has a long history in the world of performance-critical systems that interact with the physical world, application development has always been a challenge. This proposal seeks to improve application development by making significant progress in two essential areas: performance monitors and debuggers. The approach has the following properties: it is non-intrusive with respect to the application being monitored and it supports data collection concerning rare events. In particular, it allows correlation of the cyber portion of an application with the physical portion in which the rare events occur.

Broader impacts. Impact on society: The research can have a dramatic impact on cyber-physical computing applications, from scientific instrumentation to medical imaging. Improvements in power efficiency, weight, and volume are all achievable through the use of architectural diversity. Education: The proposed research will be carried out by graduate and undergraduate students, both furthering their education and increasing the nation's trained workforce. Underrepresented groups: Washington University's Chancellor's Fellowship and Olin Fellowship programs will be leveraged to attract the participation of individuals from underrepresented groups.

Project Report

The centerpiece of this research project is the TimeTrial performance monitoring system. It enables the low-impact measurement of streaming application performance executing on heterogeneous compute platforms, including FPGAs, GPUs, and multicore processors. TimeTrial is a tool that enables observation of critical performance properties of streaming data applications without significantly perturbing the execution of the application under observation. One of the unique features of TimeTrial is its ability to estimate performance properties (e.g., queue occupancies) that cross the boundaries of compute engines. The grant has also supported the ability to effectively do design-space search in the domain of streaming data applications. This activity includes three components: (1) Use of the topological information inherent in the streaming application to decompose the design optimization task into subtasks that can be independently solved. This has the benefit of reducing the size of the search space by several orders of magnitude, thereby turning previously unsolvable problem instances into reasonable designs. (2) Effective parallelization of subsets of the application pipeline, both showing where optimal replication is feasible (in polynomial time) and providing useful heuristic methods where optimality is infeasible (NP-complete). (3) Demonstration of the benefits of application-specific memory subsystems. We have shown substantial performance gains for a range of benchmark applications when using a search-driven design approach to memory sub-system design. Finally, we have constructed a language and compilation environment, called ScalaPipe, that enables complete streaming data applications to be expressed in the language and compiled to executable images that can be deployed on FPGAs, GPUs, and multicore processors.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0931693
Program Officer
Theodore Baker
Project Start
Project End
Budget Start
2009-10-01
Budget End
2013-09-30
Support Year
Fiscal Year
2009
Total Cost
$575,473
Indirect Cost
Name
Washington University
Department
Type
DUNS #
City
Saint Louis
State
MO
Country
United States
Zip Code
63130