Shared TLB Demap Delay for Multithreaded Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multithreaded processors, the demapping of translations in translation lookaside buffers (TLBs) is inefficient due to the possibility of translations being reloaded from other threads sharing the TLB, leading to performance issues and potential livelocks during synchronization operations.

Innovation Solution

A control unit is implemented to track pending TLB updates across strands, delaying demap operations until any pending updates are completed, ensuring that translations are invalidated only after new updates are processed, thus preventing reloads and avoiding livelocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If demap operation is issued on each strand to ensure TLB invalidation, then reliability of TLB invalidation is improved, but productivity decreases due to thread interruptions

Engineering Contradiction:
ImproveTLB invalidation reliabilityVSAvoidthread execution productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the TLB invalidation operation into a single demap instruction that can be executed on any strand, rather than requiring separate invalidation operations on each strand. The control unit tracks pending updates across strands and ensures proper invalidation ordering, combining multiple invalidation actions into one coordinated operation that maintains reliability while improving productivity.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If demap operation is delayed until pending updates are completed, then reliability of translation invalidation is improved, but loss of time increases

Engineering Contradiction:
Improvetranslation invalidation reliabilityVSAvoiddemap operation delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The control unit performs preliminary tracking of pending TLB updates before the demap operation is executed. By maintaining state information about which updates are pending and on which strands, the system can immediately determine the correct ordering and delay the demap operation only when necessary, minimizing time loss while ensuring reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The control unit implements feedback mechanisms to monitor the status of TLB updates across strands. When a demap operation is requested, the control unit checks the current state of pending updates and adjusts the timing accordingly. This feedback loop ensures that the demap operation is delayed only when pending updates exist, and only for the minimum necessary time to ensure proper invalidation ordering.

Inventive Principle:
Principle #23Feedback

3Device complexity

If TLB invalidation is performed without tracking pending updates, then device complexity is reduced, but reliability deteriorates due to potential reloads

Engineering Contradiction:
ImproveTLB management complexityVSAvoidtranslation invalidation reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The control unit automatically tracks and manages pending TLB updates without requiring external intervention or complex software coordination. The hardware itself monitors the state of updates and controls the timing of demap operations, making the system self-managing. This self-service approach maintains low device complexity while significantly improving reliability by preventing incorrect reloads.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7383415B2Hardware demapping of TLBs shared by multiple threads
Publication Date: 2008.06.03 SUN MICROSYSTEMS INC
  • US7383415B2 patent drawing
  • US7383415B2 patent drawing
  • US7383415B2 patent drawing

AI summary

In one embodiment, a processor comprising at least one translation lookaside buffer (TLB) and a control unit coupled to the TLB. The control unit is configured to track whether or not at least one update to the TLB is pending for at least one of a plurality of strands. Each strand comprises hardware to support a different thread of a plurality of concurrently activateable threads in the processor. The strands share the TLB, and the control unit is configured to delay a demap operation issued from one of the estrands responsive to the pending update, if any.