Multiprocessor Cache Coherence via Data Switching and Directory Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache coherence protocols in multiprocessor systems face challenges with communication delays, high power consumption, and poor extensibility due to sequential bus access and system-wide broadcasting, especially in unordered message networks where real-time snooping is not feasible.

Innovation Solution

A data reading method and system that employs a multiprocessor network with data switching devices to manage cache coherence through message forwarding and identifier management, allowing for efficient data access and consistency across processor nodes without relying on sequential bus access, using a node group structure with control and storage nodes to manage data status identifiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If bus snooping protocol is used for cache coherence management, then cache coherence can be achieved, but communication delay increases and power consumption rises due to sequential bus access and system-wide broadcasting

Engineering Contradiction:
Improvecache coherenceVSAvoidcommunication delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the cache coherence management by dividing processor nodes into different groups (first group and second group) with separate interconnect paths. When a processor node needs to access data, it only communicates with nodes in its own group rather than broadcasting to all nodes system-wide. This segmentation reduces communication delay while maintaining cache coherence within each group.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces directory nodes as intermediaries that manage cache coherence information for groups of processor nodes. Instead of direct processor-to-processor communication or system-wide broadcasting, the directory node acts as a mediator that receives access requests, determines the appropriate cache node, and forwards requests selectively. This intermediary approach reduces unnecessary communications and power consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If bus snooping protocol with system-wide broadcasting is used for cache coherence, then data consistency can be maintained, but power consumption increases excessively

Engineering Contradiction:
Improvedata consistencyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent divides the processor network into multiple groups with separate interconnect paths, so that cache coherence messages are confined to local groups rather than being broadcast system-wide. This segmentation significantly reduces the number of nodes that need to process coherence messages, thereby reducing overall power consumption while maintaining data consistency within each group.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing system-wide broadcasting for every cache access, the patent applies partial action by only initiating coherence protocols within the necessary subset of processor nodes (those in the same group). This selective approach reduces power consumption by avoiding unnecessary message transmission and processing in nodes that do not need the data.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If sequential bus access is used for data requests, then bus arbitration can be implemented, but communication delay increases and extensibility deteriorates

Engineering Contradiction:
Improvebus arbitrationVSAvoidextensibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the interconnect structure into multiple independent paths connecting different processor node groups to memory devices. This allows multiple groups to access memory simultaneously through different paths, eliminating the sequential bottleneck of a single shared bus. The system can be extended by adding more groups and paths without disrupting existing operations, improving both performance and extensibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a one-dimensional sequential bus architecture to a multi-dimensional interconnect structure where processor groups are organized in a hierarchical manner with multiple access paths. This dimensional change allows parallel access operations and provides scalability by enabling the addition of new groups along different dimensions of the interconnect network.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Adaptability or versatility

If message network with unordered communication is used, then system extensibility improves, but real-time snooping becomes infeasible

Engineering Contradiction:
Improvesystem extensibilityVSAvoidreal-time snooping feasibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by having directory nodes pre-establish group memberships and maintain knowledge of which processor nodes belong to which groups before actual data access occurs. This pre-organization allows the system to handle unordered message network communication while still providing deterministic cache coherence management, as the directory node can immediately determine the appropriate group and initiate coherence protocols without needing real-time snooping.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3260987B1Data reading method, equipment and system
Publication Date: 2019.03.06 HUAWEI TECH CO LTD
  • EP3260987B1 patent drawingFigure 1A
  • EP3260987B1 patent drawingFigure 1B~2
  • EP3260987B1 patent drawingFigure 3

AI summary

Embodiments of the present invention disclose a data reading method, a data processing device, and a data processing system. The method includes: receiving, by a first control node, a reading message forwarded by a data switching device, where the reading message is used to instruct to read first data, and the reading message is sent by a second control node to the data switching device and then forwarded by the data switching device to other control nodes other than the second control node in a node group; if a data status identifier of the first data in a first storage node is a valid identifier, reading, by the first control node, the first data from the first storage node, and sending the read first data to the data switching device, so that the data switching device forwards the read first data to the second control node, where the valid identifier indicates that the first data on the first storage node is available. The embodiments of the present invention ensure that the first data that is read by means of message exchange between control nodes in the node group is currently latest.