Multi-Node Bridge Directory for Cache Coherency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multi-node systems face performance issues and complexity due to forward progress dependencies in maintaining cache coherency, particularly as the number of nodes increases, with existing mechanisms requiring extensive logic and development effort to manage cache line ownership and global snooping processes.
Innovation Solution
A specialized multi-node bridge employing a directory-based approach that reduces forward progress dependencies by limiting request hops to two, using a directory to track remote cache ownership and treating all system-side requests as global, thereby simplifying cache coherency maintenance and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a directory-based approach with limited request hops is used, then cache coherency maintenance complexity is reduced, but the ability to handle arbitrary multi-node system configurations may be limited
Solution Approach 1:
The patent segments the cache coherency maintenance process by introducing a multi-node bridge that separates local node requests from system-wide requests. The bridge divides the request handling into two paths: local requests that are resolved within the node and system requests that are forwarded to all nodes. This segmentation reduces the complexity at each individual node while maintaining system-wide coherence.
Solution Approach 2:
The multi-node bridge acts as an intermediary component between local nodes and the system bus. It mediates the request forwarding process by determining whether a request should be handled locally or forwarded to all nodes. This intermediary structure simplifies the logic at each node by centralizing the decision-making process in the bridge.
2Reliability
If all system-side requests are treated as global and forwarded to all nodes, then cache coherency is maintained with fewer dependencies, but system traffic increases
Solution Approach 1:
The patent applies partial action by forwarding system requests to all nodes rather than attempting to optimize the forwarding path. While this may seem excessive, it actually reduces complexity by eliminating the need for sophisticated request routing logic. The bridge simply forwards system requests to all nodes, and each node processes only the relevant portion of the request.
3Productivity
If the number of nodes in the system increases, then system capacity increases, but forward progress dependencies and latency increase
Solution Approach 1:
The multi-node bridge segments requests into local and system categories, allowing local requests to be processed without waiting for responses from other nodes. This segmentation eliminates forward progress dependencies for local requests, enabling them to complete independently and reducing overall system latency as the number of nodes increases.
Solution Approach 2:
Instead of having nodes wait for coherence responses before proceeding, the inverted approach allows nodes to forward requests immediately and process local operations independently. The coherence maintenance is decoupled from the data access path, allowing parallel processing and reducing latency.
Data Source
AI summary
A method for maintaining cache coherency for a multi-node system using a specialized bridge which allows for fewer forward progress dependencies. A look-up of a local node directory is performed if a request received at a multi-node bridge of the local node is a system request. If a directory entry indicates that data specified in the request has a local owner or local destination, the request is forwarded to the local node. If the local node determines that the request is a local request, a look-up of the local node directory is performed. If the directory entry indicates that data specified in the request has a local owner and local destination, the coherency of the data on the local node is resolved and a transfer of the request data is performed if required. Otherwise, the request is forwarded to all remote nodes in the multi-node system.


