Region Probe Filter Directory for Distributed Memory Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed data processing systems with non-uniform memory access (NUMA) architecture, the bandwidth limitations and storage requirements for maintaining cache coherency lead to performance issues, particularly with large numbers of processors and frequent probes, which can be exacerbated by the need for large probe filter storage and potential clock cycle delays.

Innovation Solution

The implementation of a probe filter with a region probe filter directory and a line probe filter directory, which efficiently determines whether to issue probes based on memory access requests, particularly for read-only access, reducing unnecessary probe transmissions and storage needs by using a controller to access these directories and suppress probe generation for read-only requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a probe filter is used to reduce bandwidth requirements and access latency, then network traffic is reduced and performance is improved, but a large amount of storage space is required to maintain the state of all cache lines

Engineering Contradiction:
ImproveperformanceVSAvoidstorage space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The probe filter directory is divided into two separate directories: a region probe filter directory that stores information about regions of memory (grouping multiple cache lines), and a line probe filter directory that stores information about individual cache lines. This segmentation allows the system to track only modified cache lines in the line directory while using the region directory to cover read-only regions, significantly reducing total storage requirements while maintaining probe filtering functionality.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the size of the memory that needs to be looked up is too large, then the probe filter can reduce system traffic, but it adds a clock cycle delay between an access request and the determination that no probe needs to be issued

Engineering Contradiction:
Improvesystem traffic reductionVSAvoidclock cycle delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The lookup process is segmented into two stages: first, the region probe filter directory is accessed to determine if the memory access falls within a read-only region; second, if not, the line probe filter directory is accessed to check individual cache lines. This segmentation enables early termination of the lookup process for read-only region hits, reducing the average clock cycle delay while maintaining comprehensive probe filtering.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The region probe filter directory is checked first before the line probe filter directory because region checks can quickly eliminate read-only memory accesses that don't require probes. This preliminary action filters out a large portion of memory accesses before performing more detailed line-by-line checks, reducing overall lookup time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9792210B2Region probe filter for distributed memory system
Publication Date: 2017.10.17 ADVANCED MICRO DEVICES INC
  • US9792210B2 patent drawing
  • US9792210B2 patent drawing
  • US9792210B2 patent drawing

AI summary

A probe filter determines whether to issue a probe to at least one other processing node in response to a memory access request, and includes a region probe filter directory, a line probe filter directory, and a controller. The region probe filter directory identifies regions of memory for which at least one cache line may be cached in a data processing system and a state of each region, wherein a size of each region corresponds to a plurality of cache lines. The line probe filter directory identifies cache lines cached in the data processing system and a state of each cache line. The controller accesses at least one of the region probe filter directory and the line probe filter directory in response to a memory access request to determine whether to issue the probe, and does not issue any probe in response to a read-only request.