Coherent Attached Processor Proxy Snoop Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecache coherency reliabilityVSAvoidcoherence communication speed
Core Design Contradiction:
ReliabilityVSSpeed

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If recovery operations are performed sequentially for all snooped addresses, then data integrity is maintained, but recovery time increases

Engineering Contradiction:
Improvedata integrityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9251077B2Accelerated recovery for snooped addresses in a coherent attached processor proxy
Publication Date: 2016.02.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9251077B2 patent drawing
  • US9251077B2 patent drawing
  • US9251077B2 patent drawing

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.