Coherent Attached Processor Proxy for Cache Coherence

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 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

VSEngineering 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

Engineering Contradiction:
Improvecoherency protocol complianceVSAvoidcommunication link speed
Core Design Contradiction:
ReliabilityVSSpeed

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvememory access speedVSAvoidcache coherence
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecache coherenceVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9442852B2Programmable coherent proxy for attached processor
Publication Date: 2016.09.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9442852B2 patent drawing
  • US9442852B2 patent drawing
  • US9442852B2 patent drawing

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.