Sequential Prefetching in Virtualized Host Memory via Address Space Layout Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, virtual machines (VMs) face challenges in memory management due to the limitations imposed by two-level address translation, which disrupts sequential memory access patterns, leading to inefficiencies in prefetching and increased overheads in decompressing memory pages from compressed pools, thereby impacting performance and memory utilization.

Innovation Solution

The solution involves modifying the layout of the guest physical address space to sequentialize memory access patterns in the host virtual address space, allowing for effective sequential prefetching by re-arranging memory page mappings and using a host-managed compressed memory pool to reduce wait times and improve performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If two-level address translation is used in virtual machines, then memory isolation and virtualization are achieved, but sequential memory access patterns are disrupted and prefetching efficiency deteriorates

Engineering Contradiction:
Improvememory isolationVSAvoidprefetching efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a host-managed compressed memory pool as an intermediary between the guest virtual address space and physical memory. This intermediary layer enables the host to manage memory compression and prefetching operations, bridging the gap between virtualization requirements and prefetching efficiency. The intermediary allows sequential prefetching to occur at the host level while maintaining guest isolation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by performing sequential prefetching of compressed memory pages from the host-managed compressed memory pool before they are needed by the guest VM. The host proactively loads and decompresses pages in advance, preparing them for future access. This preliminary action eliminates the need for sequential decompression operations when pages are actually needed, directly addressing the prefetching efficiency problem while maintaining virtualization isolation.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If memory pages are decompressed sequentially from compressed pools, then memory utilization is improved, but decompression overheads increase and performance deteriorates

Engineering Contradiction:
Improvememory utilizationVSAvoiddecompression wait time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the host perform sequential prefetching of compressed memory pages and their decompression in advance. Instead of decompressing pages sequentially on-demand (which causes high wait times), the system pre-decompresses pages from the compressed memory pool and stores them in the host virtual address space. This eliminates the sequential decompression bottleneck and significantly reduces decompression wait time while maintaining effective memory utilization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a copy of the compressed memory pool management at the host level. The host maintains a separate compressed memory pool that mirrors the guest's memory compression needs, allowing independent prefetching and decompression operations. This copying approach enables parallel processing of decompression operations without blocking the guest VM, reducing overall decompression time.

Inventive Principle:
Principle #26Copying

3Productivity

If sequential prefetching is enabled in virtualized environments, then performance is improved, but address translation complexity increases

Engineering Contradiction:
Improvememory access performanceVSAvoidaddress translation overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces the host-managed compressed memory pool as an intermediary that simplifies address translation for prefetching operations. By managing compression and prefetching at the host level rather than within the guest VM, the system reduces the complexity of address translation overhead. The intermediary layer handles the complex coordination between guest virtual addresses and host physical addresses, enabling sequential prefetching without proportionally increasing translation complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240143379A1Apparatus and method for enabling sequential prefetching inside a host
Publication Date: 2024.05.02 INTEL CORP
  • US20240143379A1 patent drawing
  • US20240143379A1 patent drawing
  • US20240143379A1 patent drawing

AI summary

It is provided an apparatus for enabling sequential prefetching inside a host, the apparatus comprising interface circuitry, machine-readable instructions, and processing circuitry to execute the machine-readable instructions. The machine-readable instructions comprise instructions to identify a first memory access pattern of an application in a guest virtual address space inside a virtual machine. The application is running inside the virtual machine and wherein the virtual machine is running on the host. The machine-readable instructions further comprise instructions to modify a layout of a guest physical address space, wherein the guest physical address space is corresponding to the guest virtual address space, to sequentialize a second memory access pattern in a host virtual address space. The second memory access pattern in the host virtual address space is corresponding to the first memory access pattern of the application in the guest virtual address space.