Virtual memory is a classic computer science abstraction that has become a staple of computer systems and is ubiquitous today. At its core, programmers worry about writing their code into a flat, linear, and easy-to-use virtual address space. Meanwhile, the architecture and operating system hide the complexity of the physical address space, which is made up of an assortment of complex memory and storage devices. This programming model has become so crucial to the programmability, flexibility, and security of computer systems that programmers scarcely think about its existence today when writing code.
Despite these programmability benefits however, the virtual memory abstraction requires a complex amalgam of hardware support. In light of emerging computing trends (e.g., hardware accelerators, emerging memory technologies, applications that continue to use ever-increasing data sets) this hardware support is becoming increasingly crucial to understand.
This course's goal is to acquaint attendees with the state-of-the-art in terms of virtual memory hardware. The goal is to provide a foundation for future researchers to reason about the challenges being posed by virtual memory. Key topics covered will be ? modern two-level CPU TLB design, MMU cache design, two-dimensional page tables, hardware/software page table walkers, TLB coherence issues, and interactions between TLBs and caches. While the focus will be on foundational materials, we will touch upon emerging research themes as well.
Abhishek Bhattacharjee is an Associate Professor of Computer Science at Rutgers University. Abhishek's research interests are on high-performance systems for datacenters and the cloud, as well as biomedical devices and scientific software to model the brain and help treat neurological disorders.
Some of Abhishek's research is now widely deployed commercially. For example, his work on coalesced TLBs is now implemented in AMD's Ryzen chips. Similarly, his work on OS mechanisms for superpage management has been upstreamed into the mainline Linux 4.14 kernel series.
Abhishek is the recipient of the Chancellor's Award for Faculty Excellence in Research.