Virtual TLB Synchronization for Multiprocessor VM Address Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a virtual machine environment, there is a conflict between the expectations of guest software regarding address translation and the need for the virtual machine monitor (VMM) to maintain control over physical resources, including translation lookaside buffers (TLBs), which leads to inconsistencies and requires sophisticated synchronization mechanisms to manage shadow page tables across multiple processors.

Innovation Solution

The implementation of a virtual TLB that emulates the functionality of a physical TLB, using shadow page table hierarchies controlled by the VMM, which synchronizes with guest page tables to maintain consistency and manage metadata for active processes, ensuring that the VMM retains ultimate control over address translation while allowing guest software to operate as if it were on a dedicated machine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If shadow page tables are used to maintain VMM control over physical resources, then control and protection are improved, but synchronization complexity and interprocessor interrupts increase

Engineering Contradiction:
Improvecontrol over physical resourcesVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the synchronization mechanism from the shadow page table update process by introducing a separate validation data structure that tracks which processors have stale TLB entries. This separates the control function (shadow page tables) from the synchronization coordination function (validation data), reducing the complexity of the overall synchronization mechanism while maintaining reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces validation data as an intermediary structure that mediates between shadow page table updates and processor TLB validation. Instead of direct complex synchronization between all processors, the validation data acts as an intermediary that tracks stale entries and triggers selective invalidation, simplifying the synchronization path while maintaining control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If shadow page tables are synchronized across multiple processors, then consistency is improved, but memory overhead increases

Engineering Contradiction:
Improveconsistency of page tablesVSAvoidmemory overhead
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The patent segments the synchronization information into two distinct data structures: shadow page tables for control and validation data for tracking. This segmentation allows the system to maintain consistency information selectively - only tracking validation state for entries that actually need synchronization, rather than duplicating entire page table structures, thereby reducing memory overhead while maintaining consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making the validation data structure processor-specific and entry-specific. Each processor maintains validation information only for the shadow page table entries relevant to it, rather than maintaining global validation state for all entries. This localized approach reduces overall memory overhead while ensuring consistency where needed.

Inventive Principle:
Principle #3Local quality

3Stability of the object's composition

If interprocessor interrupts are used for TLB synchronization, then consistency is improved, but processing time and productivity decrease

Engineering Contradiction:
ImproveTLB consistencyVSAvoidprocessing throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent applies partial action by invalidating TLB entries selectively based on validation data rather than performing full synchronization across all processors. When a shadow page table entry is updated, the system checks validation data to determine which processors actually have stale copies and only sends invalidation requests to those specific processors. This partial invalidation approach maintains consistency while minimizing interrupt traffic and preserving processing throughput.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If full shadow page table synchronization is implemented, then reliability is improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improveaddress translation reliabilityVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-establishing the validation data structure that tracks the validity state of shadow page table entries across processors. This validation infrastructure is set up in advance, allowing the system to quickly determine synchronization needs without complex real-time analysis. The preliminary validation tracking reduces the complexity of synchronization operations while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2812795B1A method and apparatus for supporting address translation in a multiprocessor virtual machine environment using tracking data to eliminate interprocessor interrupts
Publication Date: 2020.01.01 INTEL CORP
  • EP2812795B1 patent drawingFigure 1
  • EP2812795B1 patent drawingFigure 2
  • EP2812795B1 patent drawingFigure 3A

AI summary

In one embodiment, a method includes creating a first working set of shadow page table hierarchies for a first processor of a plurality of processors, creating a second working set of shadow page table hierarchies for a second processor of the plurality of processors, keeping a record of modified guest page tables, and synchronizing each modified guest page table with a corresponding shadow page table in the first working set. For each modified guest page table in the modified guest page tables record, an entry includes an indication of which of the plurality of processors have a hardware translation lookaside buffer containing a writable reference to the modified guest page table.