Multi-bit Counter Large Page Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The use of large pages in virtual memory systems poses a tradeoff between fast memory access and efficient physical memory utilization, leading to suboptimal performance in both non-virtualized and virtualized computer systems, particularly due to the limitations of the translation lookaside buffer (TLB) and the need for efficient deployment strategies.

Innovation Solution

The implementation of a multi-bit counter associated with page table entries and a hardware page walker that increments these counters to track access activity, allowing the operating system to determine optimal deployment of large pages, thereby improving virtual memory system performance by enhancing address translation efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If large pages are used in virtual memory systems, then memory access speed is improved, but physical memory utilization efficiency deteriorates

Engineering Contradiction:
Improvememory access speedVSAvoidphysical memory utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies local quality by selectively deploying large pages only for specific memory regions that exhibit high access patterns, rather than universally applying large pages throughout the entire address space. The system analyzes access patterns and deployment metrics to identify optimal regions for large page deployment, thereby improving memory access speed for frequently accessed data while preserving fine-grained memory management for less active regions, thus maintaining overall physical memory utilization efficiency.

Inventive Principle:
Principle #3Local quality

2Reliability

If large pages are deployed universally, then TLB miss rate is reduced, but physical memory fragmentation increases

Engineering Contradiction:
ImproveTLB hit rateVSAvoidphysical memory structure
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent implements dynamics by making the large page deployment strategy adaptive and configurable rather than static and universal. The system allows dynamic adjustment of deployment parameters based on real-time metrics such as access patterns, memory pressure, and TLB utilization. This enables the system to respond to changing workloads and memory conditions, maintaining optimal TLB hit rates while preventing physical memory fragmentation through flexible, data-driven deployment decisions.

Inventive Principle:
Principle #15Dynamics

3Speed

If the TLB size is increased, then address translation speed is improved, but hardware complexity increases

Engineering Contradiction:
Improveaddress translation speedVSAvoidTLB structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the address space into different regions with different page sizes, allowing the system to manage translation complexity through hierarchical page tables rather than relying solely on a larger TLB. This segmentation strategy enables efficient address translation for frequently accessed data through the TLB while using page table walks for less frequent accesses, thereby maintaining fast translation speed without proportionally increasing TLB size or hardware complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9965399B2Large-page optimization in virtual memory paging systems
Publication Date: 2018.05.08 VMWARE INC
  • US9965399B2 patent drawing
  • US9965399B2 patent drawing
  • US9965399B2 patent drawing

AI summary

A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.