Token-Required Cache Operation Forward Progress in Shared Caches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern computing systems, ensuring forward progress of token-required cache operations in a shared cache is challenging due to the need for precise management of tokens and availability of cache controllers across multiple compute nodes, which can lead to inefficiencies and potential collisions if not managed properly.

Innovation Solution

A method where a snooper in a cache controller snoops instructions for token-required operations, determines the availability of snoop machines and their reservation state, and dispatches cache controllers only when all necessary resources are available, ensuring that each token-required operation owns a token or acquires one before execution, thereby preventing collisions and optimizing cache operation execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple token-required cache operations are allowed to execute simultaneously in a shared cache, then cache operation throughput increases, but collisions and misuse of the cache occur

Engineering Contradiction:
Improvecache operation throughputVSAvoidcache operation correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the execution of token-required cache operations by introducing a token mechanism that divides the cache into exclusive regions. Each token represents a exclusive access right to a specific cache region, allowing multiple operations to proceed in parallel without collision. The snoop machine monitors token ownership and enforces exclusive access, resolving the contradiction between throughput and correctness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a snoop machine as an intermediary component between cache controllers and the shared cache. This snoop machine monitors token ownership status and mediates access requests, ensuring that only the token owner can execute operations on protected cache regions. The intermediary prevents collisions while allowing parallel execution, balancing throughput and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cache controllers continuously check availability of all required cache controllers before execution, then collision prevention is improved, but execution time and system latency increase

Engineering Contradiction:
Improvecollision preventionVSAvoidexecution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having cache controllers pre-check token availability and reservation state before attempting execution. The snoop machine proactively monitors token ownership and pre-validates access rights, so that when an operation needs to execute, the necessary permissions are already confirmed. This reduces the need for repeated checks during execution, lowering latency while maintaining collision prevention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the snoop machine continuously monitors token ownership status and reservation state, providing real-time information back to cache controllers. This feedback loop allows cache controllers to make informed decisions about execution eligibility without needing to perform exhaustive availability checks, reducing latency while ensuring collision-free operation.

Inventive Principle:
Principle #23Feedback

3Reliability

If the snoop machine is set to reservation state to handle only token-required operations, then operation correctness is improved, but the number of operations that can be executed simultaneously decreases

Engineering Contradiction:
Improveoperation correctnessVSAvoidoperation execution rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by making the snoop machine's behavior context-dependent rather than uniform. When in reservation state, the snoop machine selectively accepts only token-required operations that own a token, while allowing other operations to proceed independently. This localized filtering ensures correctness for protected operations without unnecessarily blocking all concurrent operations, maintaining productivity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent makes the snoop machine's processing behavior dynamic based on the reservation state and token ownership conditions. The snoop machine adapts its acceptance criteria dynamically - in reservation state it is selective about token-required operations, but can process other operations when conditions permit. This dynamic behavior maintains both correctness and execution rate by adjusting processing characteristics based on current system state.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8938588B2Ensuring forward progress of token-required cache operations in a shared cache
Publication Date: 2015.01.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8938588B2 patent drawing
  • US8938588B2 patent drawing
  • US8938588B2 patent drawing

AI summary

Ensuring forward progress of token-required cache operations in a shared cache, including: snooping an instruction to execute a token-required cache operation; determining if a snoop machine is available and if the snoop machine is set to a reservation state; if the snoop machine is available and the snoop machine is in the reservation state, determining whether the instruction to execute the token-required cache operation owns a token or is a joint instruction; if the instruction is a joint instruction, instructing the operation to retry; if the instruction to execute the token-required cache operation owns a token, dispatching a cache controller; determining whether all required cache controllers of relevant compute nodes are available to execute the instruction; executing the instruction if the required cache controllers are available otherwise not executing the instruction.