Speculative Query in Multiprocessor Cache Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multiprocessor systems face challenges in reducing data fetch time and simplifying memory interrogation protocols due to the need for extensive communications to maintain cache coherence, leading to inefficiencies in accessing data across multiple processors.
Innovation Solution
A method is introduced where a cache memory management module sends parallel requests to both cache and central memory modules, allowing for speculative interrogation of data, which accelerates data retrieval by avoiding unnecessary central memory inquiries and simplifying protocols by receiving responses without confirming lack of data presence.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If sequential cache interrogation is used to maintain cache coherence, then cache consistency is ensured, but data fetch time increases due to extensive communications between processors
Solution Approach 1:
The patent applies preliminary action by sending a speculative request to main memory before the sequential cache interrogation is complete. The cache management module initiates the main memory request in advance, based on prediction that the data may not be in cache, thereby overlapping the memory access with the cache search and reducing total data fetch time while maintaining coherence through subsequent validation
Solution Approach 2:
The patent implements skipping by allowing the speculative main memory request to proceed concurrently with the cache interrogation process, rather than waiting for sequential completion. This rushes through the normally sequential steps by executing memory access in parallel, reducing the time loss associated with extensive inter-processor communications
2Loss of time
If parallel speculative requests are sent to both cache and main memory, then data fetch time is reduced, but protocol complexity increases
Solution Approach 1:
The patent uses an intermediary approach by introducing a validation mechanism that mediates between the parallel speculative requests and the cache coherence protocol. The cache management module receives responses from both cache and main memory, validates them against coherence rules, and resolves any conflicts, thereby managing protocol complexity through a structured intermediate validation step rather than requiring complex coordinated communication among all processors
Data Source
Figure 1~2
Figure 3
AI summary
A method for accessing data in a multiprocessor system, comprising the following steps: - receiving by a cache memory management module an initial request relating to a processor's access to data, - first sending at least one request to at least one cache memory concerning said data, - second sending, in parallel with the first sending, at least one second request to a main memory management module concerning said data, - verification by said main memory management module to trigger or not the querying of main memory, and - querying or not, by said main memory management module, said main memory according to said verification.