Directory-Based Cache Coherence Protocol Without ACK Messages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Directory-based cache-coherence protocols in shared memory multiprocessor systems require ACK messages, which increase bandwidth and resource allocation time, and eliminating these messages can lead to forward-progress problems without proper ordering constraints.

Innovation Solution

A system that processes cache line requests without waiting for acknowledgment messages from requesting nodes, allowing valid copies to be sent directly or through slave nodes, and using special requests to guarantee forward progress when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ACK messages are used to terminate transactions, then coherence reliability is improved, but bandwidth requirements increase

Engineering Contradiction:
Improvecoherence reliabilityVSAvoidbandwidth
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and eliminates the ACK message from the coherence protocol, demonstrating that coherence can be maintained without these acknowledgment messages by using directory-based tracking of cache line locations and valid copies across processors

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements feedback mechanisms through the directory structure that tracks which processors have valid copies of cache lines, allowing the system to automatically manage coherence without requiring explicit ACK messages for each transaction

Inventive Principle:
Principle #23Feedback

2Reliability

If ACK messages are required to complete transactions, then coherence reliability is improved, but resource allocation time increases

Engineering Contradiction:
Improvecoherence reliabilityVSAvoidresource allocation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent removes the ACK message requirement from the transaction completion process, allowing home nodes to complete transactions by simply sending the requested cache line without waiting for acknowledgment, thereby reducing resource allocation time

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The directory structure performs preliminary tracking of cache line locations and validity before transactions occur, enabling the system to prepare and complete transactions more quickly without needing to wait for ACK messages

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If ACK messages are eliminated to reduce bandwidth, then bandwidth requirements decrease, but forward progress problems occur

Engineering Contradiction:
ImprovebandwidthVSAvoidforward progress
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent uses the directory structure as a feedback mechanism that continuously tracks which processors have valid copies of cache lines, enabling the system to make forward progress by automatically routing requests to appropriate processors without requiring ACK messages

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The directory acts as an intermediary that mediates between requesting processors and the actual data locations, using this intermediate information to manage coherence and forward progress without direct ACK messages

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8516199B2Bandwidth-efficient directory-based coherence protocol
Publication Date: 2013.08.20 ORACLE AMERICAN INC
  • US8516199B2 patent drawing
  • US8516199B2 patent drawing
  • US8516199B2 patent drawing

AI summary

Some embodiments of the present invention provide a system that processes a request for a cache line in a multiprocessor system that supports a directory-based cache-coherence scheme. During operation, the system receives the request for the cache line from a requesting node at a home node, wherein the home node maintains directory information for all or a subset of the address space which includes the cache line. Next, the system performs an action at the home node, which causes a valid copy of the cache line to be sent to the requesting node. The system then completes processing of the request at the home node without waiting for an acknowledgment indicating that the requesting node received the valid copy of the cache line.