Cross-Core Cache Invalidate Retry Timing for Cache Line Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments with multiple processor chips sharing caches, cache line contention leads to inefficiencies and delays due to repeated cross-invalidate commands when exclusive access is requested, as the cache controller lacks visibility into when the cross-invalidate command will be accepted.

Innovation Solution

Implementing a feedback mechanism in the cache controller to determine retry delays based on cross-invalidate reject responses, using encoded values or ticket codes to manage when to resend the cross-invalidate command, thereby reducing unnecessary broadcasts and optimizing cache line access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the cache controller repeatedly sends cross-invalidate commands to ensure cache line coherency, then cache coherency is maintained, but cache line access delay increases due to contention

Engineering Contradiction:
Improvecache coherencyVSAvoidcache line access delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a feedback mechanism where the cache controller monitors responses from caches receiving cross-invalidate commands. When a cache responds with a reject status, the controller uses encoded values in the response to determine appropriate retry delays, dynamically adjusting its behavior based on real-time system state rather than using fixed retry intervals

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system transitions from static retry mechanisms to dynamic retry delay adjustment. The cache controller adaptively modifies retry timing based on feedback from cache responses, encoding system state information that allows the controller to optimize retry behavior according to current contention conditions and cache availability

Inventive Principle:
Principle #15Dynamics

2Reliability

If the cache controller sends cross-invalidate commands to multiple caches simultaneously, then cache coherency is enforced across all caches, but command repetition and bus contention increase

Engineering Contradiction:
Improvecache coherencyVSAvoidcommand execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent employs feedback from cache responses to guide subsequent command issuance. The cache controller analyzes reject responses containing encoded status information to determine optimal timing for retry attempts, reducing unnecessary command repetition and improving overall system productivity by avoiding redundant broadcasts

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system uses information from initial cross-invalidate command responses to preliminarily determine retry timing before subsequent commands are issued. This preliminary assessment based on encoded response values allows the controller to prepare optimal retry strategies, reducing contention by spacing commands appropriately

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12585593B2Processor cross-core cache line contention management
Publication Date: 2026.03.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12585593B2 patent drawing
  • US12585593B2 patent drawing
  • US12585593B2 patent drawing

AI summary

Embodiments are for processor cross-core cache line contention management. A computer-implemented method includes sending a cross-invalidate command to one or more caches based on receiving a cache state change request for a cache line in a symmetric multiprocessing system and determining a retry delay based on receiving a cross-invalidate reject response from at least one of the one or more caches. The computer-implemented method also includes waiting until a retry delay period associated with the retry delay has elapsed to resend the cross-invalidate command to the one or more caches and granting the cache state change request for the cache line based on receiving a cross-invalidate accept response from the one or more caches.