Page Tables: Keeping them Flat and Hot (Cached)

12/09/2020
by   Chang Hyun Park, et al.
0

As memory capacity has outstripped TLB coverage, applications that use large data sets suffer from frequent page table walks. The underlying problem is that traditional tree-based page tables are designed to save memory capacity through the use of fine-grained indirection, which is a poor match for today's systems which have significant memory capacity but high latencies for indirections. In this work we reduce the penalty of page table walks by both reducing the number of indirections required for page walks and by reducing the number of main memory accesses required for the indirections. We achieve this by first flattening the page table by allocating page table nodes in large pages. This results in fewer levels in the page table, which reduces the number of indirections needed to walk it. While the use of large pages in the page table does waste memory capacity for unused entries, this cost is small compared to using large pages for data as the page table itself is far smaller. Second we prioritize caching page table entries during phases of high TLB misses. This slightly increases data misses, but does so during phases of low-locality, and the resulting decrease in page walk latency outweighs this loss. By flattening the page table we are able to reduce the number of indirections needed for a page walk from 4 to 2 in a non-virtualized system and from 24 to 8 under virtualization. However, the actual effect is much smaller as the Page Walker/Paging Structure Cache already captures most locality in the first two levels of the page table. Overall we are able to reduce the number of main memory accesses per page walk from 1.6 to 1.0 for non-virtualized systems and from 4.6 to 3.0 for virtualized systems.

READ FULL TEXT

page 1

page 6

page 7

page 9

page 10

page 11

research
03/16/2021

Page Table Management for Heterogeneous Memory Systems

Modern enterprise servers are increasingly embracing tiered memory syste...
research
11/09/2021

Intrinsic PUF Instance on Non-Volatile NAND Flash Memory

Embedded systems or micro controller based modules have become increasin...
research
12/22/2022

A Local-Pattern Related Look-Up Table

This paper describes a Relevance-Zone pattern table (RZT) that can be us...
research
03/23/2018

Unix Memory Allocations are Not Poisson

In multitasking operating systems, requests for free memory are traditio...
research
10/21/2019

PiBooster: A Light-Weight Approach to Performance Improvements in Page Table Management for Paravirtual Virtual-Machines

In paravirtualization, the page table management components of the guest...
research
10/11/2019

Mitosis: Transparently Self-Replicating Page-Tables for Large-Memory Machines

Multi-socket machines with 1-100 TBs of physical memory are becoming pre...
research
04/15/2020

An Evaluation of DNN Architectures for Page Segmentation of Historical Newspapers

One important and particularly challenging step in the optical character...

Please sign up or login with your details

Forgot password? Click here to reset