Coherent Attached Processor Proxy Snoop Recovery
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 communication links, leading to delays in cache coherency protocols, particularly in snoop-based protocols where timely coherence is critical.
Innovation Solution
A coherent attached processor proxy (CAPP) is introduced to participate in coherence communication on behalf of external processors, utilizing an epoch timer to manage data recovery operations and maintain cache line information, ensuring timely coherence by transmitting error indications and performing recovery operations in a sequential order.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If attached processors directly participate in snoop-based coherence communication, then cache coherency can be maintained, but communication link speed and reliability are insufficient leading to delays
Solution Approach 1:
The patent introduces a coherent attached processor proxy (CAPP) as an intermediary component that sits between the attached processor and the primary coherent system. The CAPP participates in coherence communication on behalf of the attached processor, buffering and managing snooped addresses and their associated data. This mediator approach allows the attached processor to indirectly participate in coherence protocols without requiring high-speed direct communication links, thus resolving the contradiction between maintaining coherency reliability and achieving sufficient communication speed.
2Reliability
If recovery operations are performed sequentially for all snooped addresses, then data integrity is maintained, but recovery time increases
Solution Approach 1:
The patent implements a recovery mechanism that processes snooped addresses in sequential order while maintaining the ability to handle urgent cases. The CAPP maintains a data structure with multiple entries for snooped addresses and processes them sequentially to ensure data integrity. However, the system can prioritize certain addresses or use epoch-based batching to manage recovery time, applying partial processing to less critical addresses while ensuring complete recovery of all addresses eventually. This approach balances data integrity requirements with acceptable recovery timeframes.
Data Source
AI summary
A coherent attached processor proxy (CAPP) that participates in coherence communication in a primary coherent system on behalf of an external attached processor maintains, in each of a plurality of entries of a CAPP directory, information regarding a respective associated cache line of data from the primary coherent system cached by the attached processor. In response to initiation of recovery operations, the CAPP transmits, in a generally sequential order with respect to the CAPP directory, multiple memory access requests indicating an error for addresses indicated by the plurality of entries. In response to a snooped memory access request that targets a particular address hitting in the CAPP directory during the transmitting, the CAPP performs a coherence recovery operation for the particular address prior to a time indicated by the generally sequential order.


