Due to technology and industry trends, parallelism and energy efficiency have emerged as critical considerations in future computing systems. The investigators observe that many convenient models for writing parallel programs can lead to significant redundancy in computation and data. This redundancy can be used to improve performance and reduce energy consumption.

The investigators observe that many parallel software models (e.g. data parallelism, Single-Program Multiple Data (SPMD), multi-programming, and high-throughput computing) consist of multiple threads of computation with very similar instructions streams and working sets of data. The trick, however, is to design efficient mechanisms that both exploit this similarity and effectively support the differences. This project will follow two research thrusts to eliminate redundancy across five application domains. First, the research will explore multi-threaded processor core designs that eliminate redundant instruction fetch and/or execution. Second, the research will explore content-aware caching techniques that reduce redundant storage of identical data across parallel threads and processes.

Project Report

This project has shown that real-world applications have significant data and computation redundancy. That is, there can be many copies of the same data or compute operation as the program is running. We have also demonstrated efficient microarchitural mechanisms, many leveraging existing features in systems, that can exploit this redundancy to improve performance, reduce energy, and save storage. This perspective is novel to the architecture community and will inform future research and implementations of computing systems. This work has resulted in 7 scientific, peer-reviewed publications and 1 software package. Our studies of data and computation redundancy, especially in scientific applications, has impact on scientific fields that rely upon computation. First, our mechanisms will allow scientists to write programs in an intuitive manner without giving up efficiency, since our system automatically remove redundancy. Second, scientists can be more aware of redundancies and remove them while designing algorithms if desired. This project has helped support 5 graduate students and 1 undergraduate in their research. 2 of those students have graduated and now work at Facebook and Raytheon. Collaborations with Lawrence Livermore National Laboratories (LLNL) and the Institute of Computing Technology have helped train graduate students and postdocs at those institutions. One is now employed at AMD and the other now is a postdoc for our group at UC Santa Barbara. This project created memory management middleware in collaboration with LLNL. The software package, called SBLLmalloc, is publically available and can be used for scientific applications in cluster-computing settings. Our techniques enable scientists to solve larger problems on available computing resources. These problem could include biology, medicine, ecology, energy, and other issues that can have a large effect on society.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
1017578
Program Officer
Almadena Chtchelkanova
Project Start
Project End
Budget Start
2010-08-01
Budget End
2014-07-31
Support Year
Fiscal Year
2010
Total Cost
$515,213
Indirect Cost
Name
University of California Santa Barbara
Department
Type
DUNS #
City
Santa Barbara
State
CA
Country
United States
Zip Code
93106