Cache Line Invalidations via State Indication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments, exclusive fetch requests for cache lines often result in unnecessary invalidations due to rejections by manager nodes, leading to increased contention and reduced processing efficiency.

Innovation Solution

Incorporating a state indication with exclusive fetch requests to determine whether the manager node has accepted or rejected the request, allowing nodes to decide whether to invalidate their cache line copies based on this information, thereby reducing unnecessary invalidations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If nodes invalidate cache line copies on each re-broadcast of exclusive fetch request, then cache consistency is maintained, but processing efficiency deteriorates due to increased invalidation operations and memory access latency

Engineering Contradiction:
Improvecache consistencyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by including state indications (accept/reject flags) in exclusive fetch requests before nodes perform invalidation operations. Nodes examine these pre-provided state indications to determine whether invalidation is necessary, avoiding premature or redundant invalidation actions that would harm processing efficiency while maintaining cache consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by incorporating state indications from manager nodes into exclusive fetch requests. These state indications provide feedback information about whether the manager node has accepted or rejected the exclusive fetch, enabling non-manager nodes to make informed decisions about cache line invalidation and avoid unnecessary processing.

Inventive Principle:
Principle #23Feedback

2Reliability

If nodes perform invalidation on each exclusive fetch request, then cache line protection is ensured, but processing cycles are wasted due to repeated invalidation operations

Engineering Contradiction:
Improvecache line protectionVSAvoidprocessing cycles
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses preliminary action by providing state indications in advance within exclusive fetch requests. Non-manager nodes can examine these pre-provided accept/reject flags before executing invalidation operations, ensuring cache line protection is maintained while avoiding wasted processing cycles on redundant invalidations of already-protected or successfully-updated cache lines.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If state indication is included with exclusive fetch request, then unnecessary invalidations are reduced, but message size and communication overhead increase

Engineering Contradiction:
Improveinvalidation reductionVSAvoidmessage structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by modifying the exclusive fetch request message structure to include compact state indication parameters (accept flag and reject flag). These binary state indicators efficiently convey the necessary information about manager node decision status, reducing unnecessary invalidations while minimizing the increase in message size and communication overhead through concise parameter encoding.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11989128B1Invalidity protection for shared cache lines
Publication Date: 2024.05.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11989128B1 patent drawing
  • US11989128B1 patent drawing
  • US11989128B1 patent drawing

AI summary

A node of the computing environment obtains an exclusive fetch request of a cache line shared by, at least, the node and a manager node of the computing environment. The exclusive fetch request includes a state indication regarding processing of the exclusive fetch request by the manager node. The node processes the exclusive fetch request, based on the state indication included with the exclusive fetch request regarding processing of the exclusive fetch request by the manager node.