TLB Shootdown Optimization via Core Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multicore processor and virtual machine environments, TLB shootdowns are time-consuming and resource-intensive due to the need for each core to review and acknowledge the removal of virtual memory pages, especially when communication involves multiple software layers, leading to significant performance reductions.

Innovation Solution

A system and method that directs and tracks TLB shootdowns by including processing core identification information, a shootdown address, and a notification address in the TLB shootdown request, allowing only relevant cores to invalidate virtual memory pages and acknowledge completion, thereby reducing unnecessary processing and communication overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TLB shootdown requests are sent to all processor cores to ensure complete invalidation of virtual memory pages, then reliability of memory management is improved, but processing time and system performance deteriorate due to unnecessary processing by unaffected cores

Engineering Contradiction:
Improvecompleteness of TLB invalidationVSAvoidTLB shootdown completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the set of processor cores into two groups: affected cores that need to invalidate TLB entries and unaffected cores that do not. This is achieved by including process identification information in the shootdown request, allowing each core to determine whether it is executing the relevant process. Only affected cores perform the invalidation operation, eliminating wasted processing time on unaffected cores while ensuring complete invalidation where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making the TLB shootdown operation selective rather than universal. Each processor core evaluates its local state (whether it is executing the process that triggered the shootdown) and performs the invalidation operation only if locally relevant. This localized approach maintains reliability for affected cores while reducing overall system processing time.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If all processor cores review and acknowledge TLB shootdown requests to ensure proper invalidation, then memory management accuracy is improved, but communication overhead and resource consumption worsen

Engineering Contradiction:
Improveaccuracy of TLB invalidation trackingVSAvoidcommunication overhead for shootdown acknowledgment
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent extracts the acknowledgment requirement from the universal set of all processor cores and applies it only to the subset of affected cores. By including process identification information in the shootdown request, the system can determine which cores are executing the relevant process and require acknowledgments only from those cores. This reduces communication overhead and energy consumption while maintaining accurate tracking of invalidation completion.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by requiring acknowledgments only from affected cores rather than all cores. This partial acknowledgment approach is sufficient to ensure accurate tracking of TLB invalidation completion while significantly reducing the communication overhead and resource consumption associated with universal acknowledgment requirements.

Inventive Principle:
Principle #16Partial or excessive action

3Stability of the object's composition

If TLB shootdown requests are processed synchronously with waiting for all acknowledgments before resuming processing, then consistency of memory state is improved, but system productivity deteriorates due to delays

Engineering Contradiction:
Improveconsistency of virtual memory stateVSAvoidsystem throughput during shootdown
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent implements preliminary action by having the initiating core send shootdown requests to all affected cores before resuming its own execution. The affected cores independently perform their invalidation operations and send acknowledgments asynchronously. This allows the initiating core to continue processing without waiting for acknowledgments, significantly improving productivity while maintaining consistency through the preliminary notification and independent completion approach.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3502906B1TLB shootdown for low overhead
Publication Date: 2021.06.16 GOOGLE LLC
  • EP3502906B1 patent drawingFigure 1
  • EP3502906B1 patent drawingFigure 2
  • EP3502906B1 patent drawingFigure 3

AI summary

Aspects of the disclosure relate to directing and tracking translation lookaside buffer (TLB) shootdowns within hardware. One or more processors, comprising one or more processor cores, may determine that a process executing on a processing core causes one or more virtual memory pages to become disassociated with one or more previously associated physical memory addresses. The processing core which is executing that process which caused the disassociation may generate a TLB shootdown request. The processing core may transmit the TLB shootdown request to the other cores. The TLB shootdown request may include identification information, a shootdown address indicating the disassociated virtual memory page or pages which need to be flushed from the respective TLBs of the other cores, and a notification address indicating where the other cores may acknowledge completion of the TLB shootdown request.