Virtual TLB Synchronization for Multiprocessor VM Address Translation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Stability of the object's composition
If shadow page tables are synchronized across multiple processors, then consistency is improved, but memory overhead increases
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.
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.
3Stability of the object's composition
If interprocessor interrupts are used for TLB synchronization, then consistency is improved, but processing time and productivity decrease
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.
4Reliability
If full shadow page table synchronization is implemented, then reliability is improved, but device complexity and processing overhead increase
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.
Data Source
Figure 1
Figure 2
Figure 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.