Architectural and Operating System Support for Virtual Memory

Sale price  $49.49 Regular price  $54.99

Reliable shipping

Flexible returns

Synthesis Lectures on Computer Architecture

Architectural and Operating System Support for Virtual Memory

Abhishek Bhattacharjee | Daniel Lustig | Anurag Khandelwal

Technology & Engineering / Electronics / Circuits / General

This book provides computer engineers, academic researchers, new graduate students, and seasoned practitioners an end-to-end overview of virtual memory. We begin with a recap of foundational concepts and discuss not only state-of-the-art virtual memory hardware and software support available today, but also emerging research trends in this space. The span of topics covers processor microarchitecture, memory systems, operating system design, and memory allocation. We show how efficient virtual memory implementations hinge on careful hardware and software cooperation, and we discuss new research directions aimed at addressing emerging problems in this space.

Virtual memory is a classic computer science abstraction and one of the pillars of the computing revolution. It has long enabled hardware flexibility, software portability, and overall better security, to name just a few of its powerful benefits. Nearly all user-level programs today take for granted that they will have beenfreed from the burden of physical memory management by the hardware, the operating system, device drivers, and system libraries.

However, despite its ubiquity in systems ranging from warehouse-scale datacenters to embedded Internet of Things (IoT) devices, the overheads of virtual memory are becoming a critical performance bottleneck today. Virtual memory architectures designed for individual CPUs or even individual cores are in many cases struggling to scale up and scale out to today's systems which now increasingly include exotic hardware accelerators (such as GPUs, FPGAs, or DSPs) and emerging memory technologies (such as non-volatile memory), and which run increasingly intensive workloads (such as virtualized and/or "big data" applications). As such, many of the fundamental abstractions and implementation approaches for virtual memory are being augmented, extended, or entirely rebuilt in order to ensure that virtual memory remains viable and performant in the years to come.

Abhishek Bhattacharjee is a Professor of Computer Science at Princeton University. His research focuses on building computer systems that preserve high-level abstractions for programmers and algorithms while achieving high performance under hardware constraints. He works at the intersection of computer architecture, operating systems, server systems, and neurotechnology. He is the recipient of the ACM SIGARCH Maurice Wilkes Award for his contributions to memory address translation, which have influenced the design of billions of microprocessors and operating systems. He received his PhD from Princeton University in 2010.

Dan Lustig is a Distinguished Research Scientist at NVIDIA. His research focuses on memory system architecture, with particular interests in memory consistency models, cache coherence protocols, virtual memory, and the formal verification of these systems. He received his PhD from Princeton University in 2015.

Anurag Khandelwal is an Associate Professor at the Department of Computer Science at Yale University. His research interests span computer software and hardware systems, networking, and security. Anurag received his PhD in Computer Science from UC Berkeley in 2019.


Publication Date: 17 October 2026
Publisher: Springer Nature Switzerland
Imprint: Springer
ISBN-13: 9783032384836
Format: Hardback
Page Count: 165

You may also like