CAREER: Programming Heterogeneous Memory Hierarchies
University Of Colorado At Boulder, Boulder CO
Investigators
Abstract
This project tackles an emerging and inevitable problem within computing: how to explicitly manage computers that use different types of memory technologies. The project's novelties are new programming language mechanisms for managing these machines, with associated improvements in performance. The project's impacts are the simpler and more efficient management of these machines from the programmer's perspective. The inevitability of these mixed memory machines, along with their deployment as a common computing platform in the data center, means that their efficient use is matter of national import, with varied applications in academia, industry, and defense (e.g. genetic sequencing, weather prediction, economic model simulation, and counterterrorism monitoring). By innovating programmatic and educational tools for these machines, this project serves to enhance the architecture's utility and performance across numerous economic and national security applications. The project's aims tackle the problem of programming heterogeneous memory machines from specific angles, namely, the language level interface and associated compiler and runtime techniques. The project will proceed by (1) developing a flexible type system that can express data stored across the heterogeneous memory machine, (2) develop compiler optimizations customized to the problems of heterogeneous memories and their associated semantics, and (3) integrate runtime techniques for mitigating performance problems of heterogeneous memory machines. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
View original record on NSF Award Search →