GGrantIndex
← Search

CAREER: Automated, Portable, and Effective Application Guidance for Complex Memory Systems

$542,241FY2020CSENSF

University Of Tennessee Knoxville, Knoxville TN

Investigators

Abstract

Computer systems with multiple tiers of heterogeneous memory devices with different performance and different capabilities have begun to emerge. Conventional data management strategies will need to be altered to take advantage of the different types of memory in each tier, but doing so faces a number of challenges. The primary goal of this project is to develop software systems and tools that enable better performance and efficiency for emerging memory systems while also reducing barriers that could limit their adoption. This research will develop insights into how to collect and analyze memory behavior, how typical computer applications use memory resources, and how systems with complex memory hardware should manage application data. This will allow other researchers to create and explore new techniques to manage memory more effectively, and has the potential to significantly improve both performance and energy efficiency in these emerging systems. Additionally, this work promises to generate new knowledge in the areas of static analysis, program profiling, and feedback-directed optimization for the purposes of predicting and guiding memory management. The results of this research will also be integrated into undergraduate and graduate coursework to advance curriculum and student knowledge of the latest software systems and memory technologies. A key concept driving this research is that the distribution and usage of memory resources depend upon activities that occur in different layers of the vertical execution stack, including the applications, operating system, and hardware. By increasing coordination among these activities, this research will reduce inefficiencies that arise from making data management decisions with limited information and enable fine-grained, flexible, and efficient data management. To achieve this objective, a collaborative data management framework will be created where: 1) the application runtime will use automated program profiling and analysis to partition data objects into separate heap regions according to their expected usage behavior and will convey this information to the OS, and 2) the OS will incorporate and use this information to direct physical memory allocation and recycling across the memory tier hierarchy. All of the generated data, code, and results related to this project will be made available through public git repositories. Links to the relevant repositories will be posted on the PI’s website: http://web.eecs.utk.edu/~mrjantz/software.html. All code and data related to the project will be stored and archived using the central file system at the University of Tennessee. This system is backed up regularly on-site following a defined schedule and continuously mirrored off-site. Project data will be maintained and made available throughout the duration of the project and for at least five years beyond the end date of the project. 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 →