Cache Probe Transaction Filtering for Multiprocessor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multiprocessor systems with multiple cache devices face inefficiencies in providing the latest data due to high rates of wasted cache coherency protocol probes, especially when accelerators and cores access different data sets with low overlap, leading to unnecessary traffic and energy consumption.

Innovation Solution

Implementing scrubber and watcher circuitries to selectively disable cache snoop operations by flushing data from cache devices and monitoring for acknowledgement, thereby reducing unnecessary snoop requests and optimizing cache coherency protocol usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the CHA performs cache coherency protocol probes for all memory accesses, then cache coherency is maintained, but unnecessary traffic and energy consumption increase when accelerators access data not cached by cores

Engineering Contradiction:
Improvecache coherencyVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by having cores issue probe transactions to the CHA before accelerator access. The CHA responds with cache state information (hit/miss indicators) in advance, allowing the accelerator to determine whether subsequent access requires full coherency protocol or can proceed directly to memory access, thus avoiding unnecessary energy consumption while maintaining coherency when needed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The CHA acts as an intermediary between cores and accelerators, providing cache state information about memory regions. This intermediary mechanism allows accelerators to make informed decisions about memory access without directly invoking full coherency protocols, reducing traffic and energy consumption while preserving cache coherency where applicable

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the CHA services all probe transactions from accelerators, then cache coherency protocol compliance is maintained, but traffic volume increases significantly when accelerators access large data sets with low overlap with core memory access

Engineering Contradiction:
Improvecache coherency protocol complianceVSAvoidtraffic volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary probe transactions and cache state inquiries before actual accelerator data access. The CHA provides advance information about which memory regions are cached by cores, allowing the accelerator to bypass the CHA for uncached regions and only engage the coherency protocol for cached regions, significantly reducing traffic volume while maintaining protocol compliance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory address space is effectively segmented into cached regions and uncached regions based on CHA probe responses. The accelerator divides its access pattern accordingly, routing accesses to cached regions through the CHA for coherency checking and accesses to uncached regions directly to memory, reducing overall traffic volume while maintaining protocol compliance where needed

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20220107897A1Cache probe transaction filtering
Publication Date: 2022.04.07 INTEL CORP
  • US20220107897A1 patent drawing
  • US20220107897A1 patent drawing
  • US20220107897A1 patent drawing

AI summary

Examples described herein relate to circuitry to selectively disable cache snoop operations issued by a particular processor or its cache manager based on data in a memory address range, to be accessed by the particular processor, having been flushed from one or more other cache devices accessible to other processors. At or after completion of flushing or scrubbing data in the memory address range to memory, the particular processor or its cache manager do not issue snoop operations for accesses to the memory address range. In response to an access by some other device to the memory address range, the processor or cache manager may resume issuing snoop operations.