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

10/21/2019
by   Zhi Zhang, et al.
0

In paravirtualization, the page table management components of the guest operating systems are properly patched for the security guarantees of the hypervisor. However, none of them pay enough attentions to the performance improvements, which results in two noticeable performance issues. First, such security patches exacerbate the problem that the execution paths of the guest page table (de)allocations become extremely long, which would consequently increase the latencies of process creations and exits. Second, the patches introduce many additional IOTLB flushes, leading to extra IOTLB misses, and the misses would have negative impacts on I/O performance of all peripheral devices. In this paper, we propose PiBooster, a novel lightweight approach for improving the performance in page table management. First, PiBooster shortens the execution paths of the page table (de)allocations by the PiBooster cache, which maintains dedicated buffers for serving page table (de)allocations. Second, PiBooster eliminates the additional IOTLB misses with a fine-grained validation scheme, which performs page table and DMA validations separately, instead of doing both together. We implement a prototype on Xen with Linux as the guest kernel. We do small modifications on Xen (166 SLoC) and Linux kernel (350 SLoC). We evaluate the I/O performance in both micro and macro ways. The micro experiment results indicate that PiBooster is able to completely eliminate the additional IOTLB flushes in the workload-stable environments, and effectively reduces (de)allocation time of the page table by 47 The macro benchmarks show that the latencies of the process creations and exits are expectedly reduced by 16 netperf results indicate that PiBooster has no negative performance impacts on CPU computation, network I/O, and disk I/O.

READ FULL TEXT
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
12/09/2020

Page Tables: Keeping them Flat and Hot (Cached)

As memory capacity has outstripped TLB coverage, applications that use l...
research
02/20/2021

SoftTRR: Protect Page Tables Against RowHammer Attacks using Software-only Target Row Refresh

Rowhammer attacks that corrupt level-1 page tables to gain kernel privil...
research
01/14/2023

Async-fork: Mitigating Query Latency Spikes Incurred by the Fork-based Snapshot Mechanism from the OS Level

In-memory key-value stores (IMKVSes) serve many online applications beca...
research
05/30/2019

FRAMER: Using page frame cache to exploit DRAM Vulnerability

Modern operating systems use a number of different techniques and mechan...
research
01/24/2022

DuVisor: a User-level Hypervisor Through Delegated Virtualization

Today's mainstream virtualization systems comprise of two cooperative co...
research
05/09/2011

User Mode Memory Page Management: An old idea applied anew to the memory wall problem

It is often said that one of the biggest limitations on computer perform...

Please sign up or login with your details

Forgot password? Click here to reset