Efficient Fine-grained Virtual Memory

Efficient Fine-grained Virtual Memory PDF Author: Tianhao Zheng (Ph. D.)
Publisher:
ISBN:
Category :
Languages : en
Pages : 252

Get Book Here

Book Description
Virtual memory in modern computer systems provides a single abstraction of the memory hierarchy. By hiding fragmentation and overlays of physical memory, virtual memory frees applications from managing physical memory and improves programmability. However, virtual memory often introduces noticeable overhead. State-of-the-art systems use a paged virtual memory that maps virtual addresses to physical addresses in page granularity (typically 4 KiB ).This mapping is stored as a page table. Before accessing physically addressed memory, the page table is accessed to translate virtual addresses to physical addresses. Research shows that the overhead of accessing the page table can even exceed the execution time for some important applications. In addition, this fine-grained mapping changes the access patterns between virtual and physical address spaces, introducing difficulties to many architecture techniques, such as caches and prefecthers. In this dissertation, I propose architecture mechanisms to reduce the overhead of accessing and managing fine-grained virtual memory without compromising existing benefits. There are three main contributions in this dissertation. First, I investigate the impact of address translation on cache. I examine the restriction of virtually indexed, physically tagged (VIPT) caches with fine-grained paging and conclude that this restriction may lead to sub-optimal cache designs. I introduce a novel cache strategy, speculatively indexed, physically tagged (SIPT) to enable flexible cache indexing under fine-grained page mapping. SIPT speculates on the value of a few more index bits (1 - 3 in our experiments) to access the cache speculatively before translation, and then verify that the physical tag matches after translation. Utilizing the fact that a simple relation generally exists between virtual and physical addresses, because memory allocators often exhibit contiguity, I also propose low-cost mechanisms to predict and correct potential mis-speculations. Next, I focus on reducing the overhead of address translation for fine-grained virtual memory. I propose a novel architecture mechanism, Embedded Page Translation Information (EMPTI), to provide general fine-grained page translation information on top of coarse-grained virtual memory. EMPTI does so by speculating that a virtual address is mapped to a pre-determined physical location and then verifying the translation with a very-low-cost access to metadata embedded with data. Coarse-grained virtual memory mechanisms (e.g., segmentation) are used to suggest the pre-determined physical location for each virtual page. Overall, EMPTI achieves the benefits of low overhead translation while keeping the flexibility and programmability of fine-grained paging. Finally, I improve the efficiency of metadata caching based on the fact that memory mapping contiguity generally exists beyond a page boundary. In state-of-the-art architectures, caches treat PTEs (page table entries) as regular data. Although this is simple and straightforward, it fails to maximize the storage efficiency of metadata. Each page in the contiguously mapped region costs a full 8-byte PTE. However, the delta between virtual addresses and physical addresses remain the same and most metadata are identical. I propose a novel microarchitectural mechanism that expands the effective PTE storage in the last-level-cache (LLC) and reduces the number of page-walk accesses that miss the LLC.

Efficient Fine-grained Virtual Memory

Efficient Fine-grained Virtual Memory PDF Author: Tianhao Zheng (Ph. D.)
Publisher:
ISBN:
Category :
Languages : en
Pages : 252

Get Book Here

Book Description
Virtual memory in modern computer systems provides a single abstraction of the memory hierarchy. By hiding fragmentation and overlays of physical memory, virtual memory frees applications from managing physical memory and improves programmability. However, virtual memory often introduces noticeable overhead. State-of-the-art systems use a paged virtual memory that maps virtual addresses to physical addresses in page granularity (typically 4 KiB ).This mapping is stored as a page table. Before accessing physically addressed memory, the page table is accessed to translate virtual addresses to physical addresses. Research shows that the overhead of accessing the page table can even exceed the execution time for some important applications. In addition, this fine-grained mapping changes the access patterns between virtual and physical address spaces, introducing difficulties to many architecture techniques, such as caches and prefecthers. In this dissertation, I propose architecture mechanisms to reduce the overhead of accessing and managing fine-grained virtual memory without compromising existing benefits. There are three main contributions in this dissertation. First, I investigate the impact of address translation on cache. I examine the restriction of virtually indexed, physically tagged (VIPT) caches with fine-grained paging and conclude that this restriction may lead to sub-optimal cache designs. I introduce a novel cache strategy, speculatively indexed, physically tagged (SIPT) to enable flexible cache indexing under fine-grained page mapping. SIPT speculates on the value of a few more index bits (1 - 3 in our experiments) to access the cache speculatively before translation, and then verify that the physical tag matches after translation. Utilizing the fact that a simple relation generally exists between virtual and physical addresses, because memory allocators often exhibit contiguity, I also propose low-cost mechanisms to predict and correct potential mis-speculations. Next, I focus on reducing the overhead of address translation for fine-grained virtual memory. I propose a novel architecture mechanism, Embedded Page Translation Information (EMPTI), to provide general fine-grained page translation information on top of coarse-grained virtual memory. EMPTI does so by speculating that a virtual address is mapped to a pre-determined physical location and then verifying the translation with a very-low-cost access to metadata embedded with data. Coarse-grained virtual memory mechanisms (e.g., segmentation) are used to suggest the pre-determined physical location for each virtual page. Overall, EMPTI achieves the benefits of low overhead translation while keeping the flexibility and programmability of fine-grained paging. Finally, I improve the efficiency of metadata caching based on the fact that memory mapping contiguity generally exists beyond a page boundary. In state-of-the-art architectures, caches treat PTEs (page table entries) as regular data. Although this is simple and straightforward, it fails to maximize the storage efficiency of metadata. Each page in the contiguously mapped region costs a full 8-byte PTE. However, the delta between virtual addresses and physical addresses remain the same and most metadata are identical. I propose a novel microarchitectural mechanism that expands the effective PTE storage in the last-level-cache (LLC) and reduces the number of page-walk accesses that miss the LLC.

Active Threads: Towards Efficient Fine-grained Parallelism in Object-oriented Systems

Active Threads: Towards Efficient Fine-grained Parallelism in Object-oriented Systems PDF Author: Boris Weissman
Publisher:
ISBN:
Category :
Languages : en
Pages : 448

Get Book Here

Book Description


Scalable Shared Memory Multiprocessors

Scalable Shared Memory Multiprocessors PDF Author: Michel Dubois
Publisher: Springer Science & Business Media
ISBN: 9780792392194
Category : Computers
Languages : en
Pages : 360

Get Book Here

Book Description
Mathematics of Computing -- Parallelism.

Architectural and Operating System Support for Virtual Memory

Architectural and Operating System Support for Virtual Memory PDF Author: Abhishek Bhattacharjee
Publisher: Springer Nature
ISBN: 3031017579
Category : Technology & Engineering
Languages : en
Pages : 168

Get Book Here

Book Description
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.

Proceedings of Ninth International Congress on Information and Communication Technology

Proceedings of Ninth International Congress on Information and Communication Technology PDF Author: Xin-She Yang
Publisher: Springer Nature
ISBN: 9819732999
Category :
Languages : en
Pages : 635

Get Book Here

Book Description


Effect of Virtual Memory on Efficient Solution of Two Model Problems

Effect of Virtual Memory on Efficient Solution of Two Model Problems PDF Author: Jules J. Lambiotte
Publisher:
ISBN:
Category : Differential equations, Partial
Languages : en
Pages : 20

Get Book Here

Book Description


Understanding the Linux Virtual Memory Manager

Understanding the Linux Virtual Memory Manager PDF Author: Mel Gorman
Publisher: Prentice-Hall PTR
ISBN:
Category : Computers
Languages : en
Pages : 778

Get Book Here

Book Description
This is an expert guide to the 2.6 Linux Kernel's most important component: the Virtual Memory Manager.

Structuring Programs for Efficient Operation in Virtual Memory Systems

Structuring Programs for Efficient Operation in Virtual Memory Systems PDF Author: Anthony L. Barrese
Publisher:
ISBN:
Category : Structured programming
Languages : en
Pages : 97

Get Book Here

Book Description


ECOOP '87. European Conference on Object-Oriented Programming

ECOOP '87. European Conference on Object-Oriented Programming PDF Author: Jean Bezivin
Publisher: Springer
ISBN: 3540478914
Category : Computers
Languages : en
Pages : 282

Get Book Here

Book Description
In October 1983 an informal meeting was organized in Le Cap d'Agde with the help of the BIGRE bulletin. Sixty people turned out to hear more than ten presentations on object-oriented programming. More important was their unanimous demand for other, more structured encounters. So, about one year later, the Object group was created by AFCET. A second workshop was organized in Brest, and again one year later in Paris, each time showing increased attendance and interest. The success of these meetings and the fact that similar activities were taking place in other European countries, especially Great Britain and Germany, led to the idea of an annual European Conference, providing a forum for theorists and practitioners interested in the object-oriented programming paradigm. It is impossible to acknowledge here all the people and organizations that welcomed with great enthusiasm the birth of the ECOOP conference and contributed to its organization. More than a hundred submissions were received and the program committee had the unpleasant task of turning down many valuable contributions. We hope, however, that the selection of papers for ECOOP'87 emphasizes the fundamental issues and problems of object-oriented programming and will point toward interesting future research directions.

FGCS '92

FGCS '92 PDF Author:
Publisher: IOS Press
ISBN: 9784274077241
Category : Computer architecture
Languages : en
Pages : 788

Get Book Here

Book Description