000 nam a22 7a 4500
999 _c28502
_d28502
008 190613b xxu||||| |||| 00| 0 eng d
020 _a9781627056021
082 _a005.43
_bBHA
100 _aBhattacharjee, Abhishek
245 _aArchitectural and operating system support for virtual memory
260 _bMorgan & Claypool,
_c2018
_aMadison :
300 _axvii, 157 p. :
_bill. ;
_c24 cm.
365 _b69.95
_cUSD
_d00
490 _aSynthesis lectures on computer architecture
504 _aIncludes bibliographical references.
520 _aAnnotation. 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.
650 _aComputer systems
650 _aStorage
650 _aVirtual memory
650 _aMain memory
710 _aLustig, Daniel
942 _2ddc
_cBK