Architectural and Operating System Support for Virtual Memory

Architectural and Operating System Support for Virtual Memory
复制标题

虚拟内存的架构和操作系统支持

DOI:
10.1007/978-3-031-01757-5
复制
发表时间:
2017
期刊:
2009 18th International Conference on Parallel Architectures and Compilation Techniques
影响因子:
--
通讯作者:
Daniel Lustig
Daniel Lustig
中科院分区:
--
文献类型:
--
作者:
A. Bhattacharjee;Daniel Lustig

文献摘要

被引文献

相似文献

这本书提供计算机工程师,学术研究人员,新的研究生,和经验丰富的从业者虚拟内存的端到端的概述。我们开始回顾基本概念,不仅讨论当今最先进的虚拟内存硬件和软件支持,还讨论该领域的新兴研究趋势。主题涵盖了处理器微体系结构、内存系统、操作系统设计和内存分配。我们展示了如何有效的虚拟内存实现取决于仔细的硬件和软件的合作,我们讨论了新的研究方向,旨在解决这个空间中出现的问题。虚拟内存是一个经典的计算机科学抽象概念,也是计算革命的支柱之一。长期以来,它实现了硬件灵活性,软件可移植性和整体更好的安全性,仅举几个其强大的好处。现在几乎所有的用户级程序都理所当然地认为,它们将从硬件、操作系统、设备驱动程序和系统库的物理内存管理负担中解放出来。然而,尽管它在从仓库规模的数据中心到嵌入式物联网(IoT)设备的系统中无处不在,但虚拟内存的开销正在成为当今的关键性能瓶颈。为单个CPU或甚至单个核设计的虚拟存储器架构在许多情况下都在努力向上扩展和向外扩展到当今的系统,这些系统现在越来越多地包括外来硬件加速器(例如GPU、FPGA或DSP)和新兴存储器技术(例如非易失性存储器),并且运行越来越密集的工作负载(例如虚拟化和/或“大数据”应用)。因此,虚拟内存的许多基本抽象和实现方法正在被增强、扩展或完全重建,以确保虚拟内存在未来几年保持可行性和性能。
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 been freed 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.