Delegated Snoop Protocol for CC-NUMA Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Cache-Coherent Non-Uniform Memory Access (CC-NUMA) systems require excessive protocol messaging and resource utilization due to Home Agents (HAs) servicing all coherency actions, even with direct cache-to-cache transfers between Request Agents (RAs) and Snooped Agents (SAs, leading to performance bottlenecks.

Innovation Solution

Implementing a delegated snoop protocol where the Home Agent sends a delegated snoop message to a Response Agent, instructing it to snoop another Response Agent, allowing the Response Agent to perform cache-to-cache transfers independently, reducing HA involvement and protocol messaging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Home Agents service all coherency actions in CC-NUMA systems, then cache coherency is maintained, but protocol messaging overhead increases and performance decreases

Engineering Contradiction:
Improvecache coherencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the coherency management responsibility by introducing delegated snoop agents that handle specific snoop operations independently. Instead of a single Home Agent servicing all coherency actions, the system divides this function across multiple agents, allowing parallel processing of coherency requests and reducing the messaging bottleneck at the Home Agent.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces delegated snoop agents as intermediaries between Request Agents and Home Agents. These intermediate agents receive snoop requests, perform the actual snooping operations on behalf of the Home Agent, and return results, thereby reducing the direct messaging burden on Home Agents and improving overall system throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If direct cache-to-cache transfers are implemented between Request Agents and Snooped Agents, then data transfer efficiency improves, but Home Agent protocol messaging overhead increases

Engineering Contradiction:
Improvedata transfer speedVSAvoidprotocol messaging complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the snoop operation from the traditional Home Agent-mediated path and implements it directly at the Request Agent level through delegation. The Request Agent obtains the snoop target address from the Home Agent, then directly snoops the target cache and performs the transfer without requiring the Home Agent to participate in the actual snoop messaging, thereby simplifying the protocol path while maintaining direct cache-to-cache transfer benefits.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If Home Agents handle all snoop operations, then cache coherency control is centralized, but concurrency and scalability are limited

Engineering Contradiction:
Improvecoherency controlVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the centralized coherency control function into distributed delegated snoop agents throughout the system. Each delegated agent can independently handle snoop operations for its assigned memory regions or address spaces, enabling the system to scale horizontally by adding more delegated agents without increasing the processing burden on Home Agents, thus improving both concurrency and scalability while maintaining coherency control.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11093394B1Delegated snoop protocol
Publication Date: 2021.08.17 XILINX INC
  • US11093394B1 patent drawing
  • US11093394B1 patent drawing
  • US11093394B1 patent drawing

AI summary

An example Cache-Coherent Non-Uniform Memory Access (CC-NUMA) system includes: one or more fabric switches; a home agent coupled to the one or more fabric switches; first and second response agents coupled to the fabric switches; wherein the home agent is configured to send a delegated snoop message to the first response agent, the delegated snoop message instructing the first response agent to snoop the second response agent; wherein the first response agent is configured to snoop the second response agent in response to the delegated snoop message; and wherein the first and second response agents are configured to perform a cache-to-cache transfer during the snoop.