TLB Synchronous Page Table Update Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face inefficiencies in propagating page table entry (PTE) changes synchronously due to the high cost of TLB shootdowns, which are anticipated to become more frequent as PTE changes increase, necessitating a more efficient mechanism for maintaining TLB coherence in shared memory systems.

Innovation Solution

The introduction of hardware within TLBs for synchronous TLB invalidation, combined with a new instruction and a mutex to ensure exclusive access to page table entries, allows for efficient and synchronized updates by invalidating specific virtual addresses and using a Fence operation to ensure data coherence across all threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TLB shootdowns are used to propagate PTE changes synchronously, then data coherence across threads is maintained, but system performance deteriorates due to prohibitively expensive operations

Engineering Contradiction:
Improvedata coherenceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the TLB invalidation process by targeting only specific virtual addresses that have changed, rather than invalidating all TLB entries. The INVPTE instruction allows selective invalidation of TLB entries corresponding to modified PTEs, reducing the scope of the operation from global to local, thus maintaining coherence while improving performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism using the INVPTE instruction and associated hardware support as a mediator between PTE changes and TLB invalidation. This intermediary enables synchronous propagation of PTE changes without requiring full TLB shootdowns, acting as a bridge that maintains coherence efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If PTE changes are propagated more frequently to maintain coherence, then data consistency across threads improves, but the overhead of synchronization operations increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by invalidating only the necessary TLB entries corresponding to changed PTEs, rather than performing complete TLB shootdowns. This selective invalidation reduces the synchronization overhead while maintaining sufficient data consistency, as only the affected portions of the TLB need to be updated.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of invalidation scope from global (all TLB entries) to specific (only entries for modified virtual addresses). By changing this parameter, the system can propagate PTE changes more frequently without incurring proportional increases in synchronization overhead.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If hardware support for synchronous TLB invalidation is added, then update efficiency improves, but device complexity increases

Engineering Contradiction:
Improveupdate efficiencyVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes existing TLB hardware components multi-functional by enabling them to handle both normal TLB operations and the new INVPTE instruction. The TLB structure is modified to support selective invalidation without requiring entirely new hardware, thus improving update efficiency while limiting the increase in overall device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent implements self-service by allowing the TLB to perform its own invalidation operations through the INVPTE instruction, eliminating the need for complex external coordination mechanisms. The TLB hardware works autonomously to invalidate specific entries based on the instruction, reducing the need for additional complex synchronization hardware.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10067870B2Apparatus and method for low-overhead synchronous page table updates
Publication Date: 2018.09.04 INTEL CORP
  • US10067870B2 patent drawing
  • US10067870B2 patent drawing
  • US10067870B2 patent drawing

AI summary

An apparatus and method are described for low overhead synchronous page table updates. For example, one embodiment of a processor comprises: a set of one or more cores to execute instructions and process data; a translation lookaside buffer (TLB) comprising a plurality of entries to cache virtual-to-physical address translations usable by the set of one or more cores when executing the instructions; locking circuitry to allow a thread to lock a first page table entry (PTE) in the TLB to ensure that only one thread can modify the first PTE at a time, wherein the TLB is to modify the first PTE upon the thread acquiring the lock; a PTE invalidation circuit to execute a PTE invalidate instruction on a first core to invalidate the first PTE in other TLBs of other cores, the PTE invalidation circuit, responsive to execution of the PTE invalidate instruction, to responsively determine a number of other TLBs of other cores which need to be notified of the PTE invalidation, transmit PTE invalidate messages to the other TLBs, and wait for responses; and the locking circuitry to release the lock on the first PTE responsive to receiving responses from all of the other TLBs.