Multiprocessor Cache Coherence via Data Switching and Directory Nodes
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
4Adaptability or versatility
If message network with unordered communication is used, then system extensibility improves, but real-time snooping becomes infeasible
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.
Data Source
Figure 1A
Figure 1B~2
Figure 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.