Coherent Attached Processor Proxy for Cache Coherence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed shared memory computer systems, attached processors often face challenges in participating in system-wide coherency responses due to insufficient speed and reliability of technology, leading to potential violations of the bounded time frame required by coherency protocols, which can result in cache coherence issues and access latency.
Innovation Solution
A coherent attached processor proxy (CAPP) is introduced to participate on behalf of attached processors in determining system-wide coherency responses, utilizing programmable data structures to manage memory access requests and coherence messages, ensuring compliance with coherency protocols and maintaining cache coherence within the required time frame.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If attached processors directly participate in system-wide coherency responses, then cache coherence can be maintained, but the insufficient speed and reliability of communication links cause violations of the bounded time frame required by coherency protocols
Solution Approach 1:
A coherent attached processor proxy is introduced as an intermediary component that receives memory access requests from attached processors, determines the coherence state of target addresses, and issues appropriate coherency responses on behalf of the attached processors. This proxy ensures that coherency protocol requirements are met within bounded time frames, eliminating the reliability and speed limitations of direct attached processor participation while maintaining cache coherence.
2Speed
If attached processors directly access memory blocks, then access speed may be improved, but cache coherence cannot be guaranteed due to inability to participate in system-wide coherency responses
Solution Approach 1:
The coherent attached processor proxy acts as a mediator between attached processors and the cache coherence system. It receives memory access requests from attached processors, determines the coherence state of target addresses by referencing coherence information, and issues appropriate coherency responses. This enables attached processors to access memory blocks while guaranteeing cache coherence through systematic participation in coherency protocols.
3Reliability
If the CAPP determines coherence state for every memory access request, then cache coherence is maintained, but access latency increases due to additional processing steps
Solution Approach 1:
The coherent attached processor proxy pre-determines coherence states and maintains coherence information in advance. When memory access requests are received, the proxy references pre-computed coherence information to quickly determine the appropriate coherence state, avoiding the need for complex real-time coherence analysis. This preliminary preparation significantly reduces access latency while maintaining cache coherence.
Solution Approach 2:
The proxy performs coherence state determination selectively based on the type of memory access request and the current coherence state. For certain request types or states where coherence is already guaranteed, the proxy can issue requests without full coherence determination, performing only the necessary partial action. This reduces unnecessary processing steps and minimizes access latency while maintaining coherence where required.
Data Source
AI summary
A coherent attached processor proxy (CAPP) within a primary coherent system participates in an operation on a system fabric of the primary coherent system on behalf of an attached processor (AP) that is external to the primary coherent system and that is coupled to the CAPP. The operation includes multiple components communicated with the CAPP including a request and at least one coherence message. The CAPP determines one or more of the components of the operation by reference to at least one programmable data structure within the CAPP that can be reprogrammed.


