Paging Cache Optimization for Virtual Machine Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual Machine technology faces inefficiencies in mapping guest paging structures to Virtual Machine Monitor (VMM) paging structures, leading to frequent page faults and significant overhead, which impacts performance due to the need to manage physical memory across multiple VMs.

Innovation Solution

A system and method for virtualizing processors that utilize hardware-supported real paging structures, with a cache of connection structures mapping guest physical pages to real physical addresses, employing tie descriptors and caching mechanisms to optimize page fault handling and memory management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If guest paging structures are mapped to VMM paging structures, then memory management is enabled, but page faults increase and overhead increases

Engineering Contradiction:
Improvememory managementVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-establishing mapping relationships between guest paging structures and VMM paging structures before memory access occurs. The system maintains mapping tables that store these pre-computed relationships, allowing the VMM to quickly translate guest physical addresses to real physical addresses without triggering frequent page faults. This proactive mapping approach reduces the overhead of memory management while maintaining reliable virtualization.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If physical memory is apportioned between multiple VMs, then resource allocation is improved, but page fault handling complexity increases

Engineering Contradiction:
Improveresource allocationVSAvoidpage fault handling
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism in the form of mapping tables and translation structures that mediate between the physical memory apportionment and the page fault handling process. These intermediary structures store the mapping relationships between guest VMs and physical memory regions, allowing the VMM to efficiently translate address spaces without complex real-time calculations. This mediator approach simplifies page fault handling while maintaining flexible resource allocation across multiple VMs.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If paging structures are virtualized, then VM isolation is improved, but translation overhead increases

Engineering Contradiction:
ImproveVM isolationVSAvoidtranslation overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies copying by creating simplified copies of the paging structure mappings in the form of translation tables and cache structures. Instead of fully virtualizing every memory access, the system maintains copies of the mapping relationships that can be quickly queried during address translation. This copying approach preserves VM isolation through proper mapping boundaries while reducing translation overhead by avoiding complex virtualization operations for each memory access.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7856542B1Paging cache optimization for virtual machine
Publication Date: 2010.12.21 PARALLELS INT GMBH
  • US7856542B1 patent drawing
  • US7856542B1 patent drawing
  • US7856542B1 patent drawing

AI summary

A system, method and computer program product for virtualizing a processor include a virtualization system running on a computer system and controlling memory paging through hardware support for maintaining real paging structures. A Virtual Machine (VM) is running guest code and has at least one set of guest paging structures that correspond to guest physical pages in guest virtualized linear address space. At least some of the guest paging structures are mapped to the real paging structures. For each guest physical page that is mapped to the real paging structures, paging means for handling a connection structure between the guest physical page and a real physical address of the guest physical page. A cache of connection structures represents cached paths to the real paging structures. Each path is described by guest paging structure descriptors and by tie descriptors. Each path includes a plurality of nodes connected by the tie descriptors. Each guest paging structure descriptor is in a node of at least one path. Each guest paging structure either points to other guest paging structures or to guest physical pages. Each guest paging structure descriptor represents guest paging structure information for mapping guest physical pages to the real paging structures.