Directory Controller Simulates Removed Nodes for Cache Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale shared-memory multi-processor computer systems, removing a node without rebooting is challenging due to cache coherence protocols that assume all nodes are present, leading to errors and potential corruption of data.

Innovation Solution

Modifying cache coherence protocols to include a test for removed nodes, allowing simulation of the missing node's existence to maintain system integrity and prevent hardware or software failures, enabling 'hot swapping' of nodes without rebooting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache coherence protocols are executed assuming all nodes are present, then data consistency is maintained, but node removal causes hardware or software errors

Engineering Contradiction:
Improvedata consistencyVSAvoidnode removal capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a directory controller as an intermediary between processors and memory that manages cache coherence. The directory controller tracks which nodes have cached copies of memory lines and coordinates invalidation messages. When a node is removed, the directory controller identifies the removed node and simulates its response, preventing errors while maintaining data consistency across remaining nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a simulated response from the removed node by having the directory controller generate fake acknowledgment messages that mimic what the removed node would have sent. This copying of the removed node's expected behavior allows the cache coherence protocol to complete successfully without actual communication with the absent node, preventing hardware or software errors.

Inventive Principle:
Principle #26Copying

2Reliability

If the system reboots to remove a node, then system stability is maintained, but ongoing computations are interrupted

Engineering Contradiction:
Improvesystem stabilityVSAvoidcomputation continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary tracking of node presence status in the directory controller before removal occurs. When a node is marked for removal, the directory controller proactively identifies all cached memory lines associated with that node and initiates invalidation procedures in advance. This preliminary action ensures that when the node is actually removed, no coherence errors occur, allowing hot swapping without reboot while maintaining computation continuity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If cache invalidation messages are sent to removed nodes, then coherence protocol completeness is maintained, but communication errors occur

Engineering Contradiction:
Improveprotocol completenessVSAvoidcommunication errors
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The directory controller acts as an intermediary that intercepts cache invalidation messages destined for removed nodes. Instead of allowing these messages to be sent and fail, the directory controller identifies that the target node is removed and generates a simulated response locally, preventing communication errors while maintaining the appearance of protocol completeness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent converts the potentially harmful situation of sending messages to removed nodes into a benefit by having the directory controller simulate the removed node's responses. This simulation prevents communication errors while maintaining protocol integrity, turning what would be a harmful error condition into a successful coherence maintenance operation.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS9632934B2Maintaining coherence when removing nodes from a directory-based shared memory system
Publication Date: 2017.04.25 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9632934B2 patent drawing
  • US9632934B2 patent drawing
  • US9632934B2 patent drawing

AI summary

A high performance computing system and methods are disclosed. The system includes logical partitions with physically removable nodes that each have at least one processor, and memory that can be shared with other nodes. Node hardware may be removed or allocated to another partition without a reboot or power cycle. Memory sharing is tracked using a memory directory. Cache coherence operations on the memory directory include a test to determine whether a given remote node has been removed. If the remote node is not present, system hardware simulates a valid response from the missing node.