GGrantIndex
← Search

PPoSS: Planning: Prescriptive Memory: Razing the Semantic Wall Between Applications and Computer Systems

$250,000FY2020CSENSF

Carnegie Mellon University, Pittsburgh PA

Investigators

Abstract

There is a large semantic gap between the high-level understanding of an application's goals and the sequence of processor instructions and memory accesses observed by computer hardware. This is due to the long-standing narrow interface between software and the computing platform it is running on, which acts as a semantic wall that prevents the platform from meeting application needs. The cost of this wall is growing with the rapid increase in specialized hardware accelerators and new classes of memory and storage. This project razes the semantic wall by developing a fundamentally more expressive interface, called prescriptive memory, which enables more semantic information to be conveyed from applications to system software to hardware. Prescriptive memory will enable applications to take advantage of new hardware accelerators and new memory technologies, spurring market acceptance, which in turn spurs industry investment both in more advanced accelerators and memories and in application software that uses them. This virtuous cycle boosts the entire high tech ecosystem, which in turn boosts all aspects of society that benefit from improved computer performance. Prescriptive memory will also improve the energy-efficiency of computations in data centers, reducing their carbon footprint. As a general and powerful abstraction, prescriptive memory will provide significant--often game changing--benefits to a wide range of applications. The project will demonstrate such benefits for important applications in robotics and machine learning, with a showcase application being training robots to perform complicated tasks with and among humans in cluttered environments, safely and effectively. The project will define a prescriptive memory abstraction that enables higher-level properties to be associated with dynamic regions of a program's memory. It is through these properties that semantic intent, application goals, application preferences, etc. are expressed and conveyed throughout the software stack down to the hardware. The project will design and implement an open source software stack that supports and benefits from the new abstraction. A unifying hardware mechanism will be developed that enables hardware to leverage these properties to reduce overheads and better meet application needs. A super-controller will be designed and implemented that, based on these properties and dynamic system state information, makes (near-)optimal decisions on data placement and accelerator use at every point in time. The project will explore how prescriptive memory benefits a range of applications bottlenecked by the semantic wall, with a specific focus on providing orders of magnitude improvements in the speed and scale (fidelity) of robotic worlds simulations, a key to enabling safe and effective "AI in the wild." 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 →