Distributed Memory Sharing via Node Mirroring and Coherence Protocol

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing messaging models in distributed computing systems are inefficient due to high overhead and latency, making them unsuitable for large-scale and mission-critical applications where efficient information sharing across nodes is necessary.

Innovation Solution

Implementing a method where nodes in a distributed system share a portion of their main memory, with one node acting as a 'home' node and others as 'sharer' nodes, mirroring the shared memory to reduce data transfer overhead and latency, while maintaining data coherence through a memory coherence protocol.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If request-response messaging model is used for information sharing between nodes, then information exchange is enabled, but overhead and latency increase significantly

Engineering Contradiction:
Improveinformation sharing capabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a copy of the remote node's memory space in the local node's address space. When a thread needs to access remote data, it directly accesses the copied memory location instead of sending requests through messaging protocols. This eliminates the overhead of message passing, context switching, and queue waiting, reducing latency while maintaining information sharing capability.

Inventive Principle:
Principle #26Copying

2Reliability

If request-response messaging model is used for information sharing between nodes, then information exchange is enabled, but system overhead increases

Engineering Contradiction:
Improveinformation sharing capabilityVSAvoidmessaging overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a copy of the remote node's memory space in the local node's address space. When a thread needs to access remote data, it directly accesses the copied memory location instead of sending requests through messaging protocols. This eliminates the overhead of message passing, context switching, and queue waiting, reducing latency while maintaining information sharing capability.

Inventive Principle:
Principle #26Copying

3Productivity

If memory is shared across distributed nodes through mirroring, then data access efficiency improves, but data coherence maintenance becomes complex

Engineering Contradiction:
Improvedata access efficiencyVSAvoidcoherence protocol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a coherence protocol that uses feedback mechanisms to track the state of shared memory locations. The system maintains coherence information that records which nodes have copies of which data, and automatically manages synchronization when data is modified. This feedback-based approach ensures data consistency while abstracting the complexity of coherence management from individual threads.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9679084B2Memory sharing across distributed nodes
Publication Date: 2017.06.13 ORACLE INT CORP
  • US9679084B2 patent drawing
  • US9679084B2 patent drawing
  • US9679084B2 patent drawing

AI summary

A method and apparatus are disclosed for enabling nodes in a distributed system to share one or more memory portions. A home node makes a portion of its main memory available for sharing, and one or more sharer nodes mirrors that shared portion of the home node's main memory in its own main memory. To maintain memory coherency, a memory coherence protocol is implemented. Under this protocol, a special data value is used to indicate that data in a mirrored memory location is not valid. This enables a sharer node to know when to obtain valid data from a home node. With this protocol, valid data is obtained from the home node and updates are propagated to the home node. Thus, no “dirty” data is transferred between sharer nodes. Consequently, the failure of one node will not cause the failure of another node or the failure of the entire system.