CSR: Small: Collaborative Research: Instruction Address Translation Revisited
University Of Rochester, Rochester NY
Investigators
Abstract
Applications continue to grow both in the size of their code and in the amount of data they access. Whether on mobile, desktop, or server platforms, applications are written in a modular fashion, relying heavily on common functionality provided by a large number of libraries. Modern operating systems leverage this commonality by sharing libraries across applications to avoid duplicate copies of instructions in memory. However, operating systems still maintain independent memory management (address translation) data for each process, consuming memory resources proportional to the number of simultaneously executing processes. The goal of this project is to enhance the efficiency of memory system access and management for shared code libraries. The success of these efforts will contribute to the long-term sustainability of the world's fast evolving digital economy and society, reducing computational waste and improving responsiveness. The education component will include improving classroom instruction by contributing new course modules as well as training graduate students in the importance of efficient sharing. This project involves designing novel hardware and software to promote efficient access to shared code in a multi-tasking environment, including: 1) new operating system memory management mechanisms and policies to eliminate duplication and minimize cache and translation lookaside buffer (TLB) footprint, examining the tradeoffs between the use of variable segments and hierarchical page tables; 2) reexamining the need for caching translations when utilizing emerging low-latency persistent memory; and 3) using available protection support for safe translation sharing in modern TLBs in addition to designing new hardware support to improve efficiency.
View original record on NSF Award Search →