Cache Coherence Protocol Conditional Request Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cache coherence protocols fail to differentiate between on-node and off-node cache requests, leading to unnecessary latency due to node hops during data transfers.
Innovation Solution
A method is introduced to conditionally send data requests to nodes based on whether the data can be satisfied within the first node, determining the type of request and the state of the data in the cache, and sending a second request to another node only if necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cache requests are sent to all nodes regardless of data location, then cache coherence is maintained, but latency increases due to unnecessary node hops
Solution Approach 1:
The patent applies preliminary action by checking whether the requested data exists in the local cache before sending requests to other nodes. The cache controller determines if data is present in the home node's cache or modified caches within the same node, and only sends inter-node requests when absolutely necessary. This preliminary check prevents unnecessary node hops and reduces latency while maintaining cache coherence.
2Productivity
If data requests are sent to other nodes frequently, then data can be retrieved, but bandwidth usage increases
Solution Approach 1:
The patent applies local quality by differentiating between intra-node and inter-node data requests. The system identifies that data requested by processors on the same node should be satisfied locally whenever possible, rather than routing all requests through the inter-node network. This local-first approach reduces unnecessary bandwidth consumption on the network fabric while maintaining data retrieval capability.
Data Source
AI summary
A system, method, and computer program product are provided for conditionally sending a request for data to a node based on a determination. In operation, a first request for data is sent to a cache of a first node. Additionally, it is determined whether the first request can be satisfied within the first node, where the determining includes at least one of determining a type of the first request and determining a state of the data in the cache. Furthermore, a second request for the data is conditionally sent to a second node, based on the determination.


