Global Persistent Memory for Cluster Data Coherency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-node systems, high latency and inconsistency of data across nodes due to message passing through I/O drivers lead to cluster failures and high maintenance costs, as each node is managed individually, and existing solutions do not effectively ensure data coherency across nodes.
Innovation Solution
Implementing a global persistent memory with a reflected memory region and a semaphore memory region, accessed using I/O and memory semantics, and utilizing a low-latency fabric with load store semantics to ensure data coherency, where nodes can access shared memory independently and maintain fault isolation boundaries, even in the event of node failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If message passing through I/O drivers is used to access memory across nodes, then nodes can share memory, but high latency and data inconsistency occur
Solution Approach 1:
The patent introduces a global persistent memory as an intermediary shared resource that all nodes can access directly through the fabric interconnect, eliminating the need for message passing through I/O drivers. This mediator enables direct memory access while maintaining data coherency across nodes, resolving the latency and consistency issues of the previous approach.
Solution Approach 2:
The patent merges the memory access paths of multiple nodes into a unified global persistent memory space accessible through a common fabric interconnect. By combining individual node memories into a shared global memory system, the patent enables direct access without message passing, reducing latency while maintaining data coherency through hardware-supported consistency models.
2Adaptability or versatility
If individual node management is used, then nodes operate independently, but cluster failure risk increases and maintenance costs rise
Solution Approach 1:
The patent segments the cluster into independent fault domains where each node operates autonomously with its own local memory and processing units, while sharing a global persistent memory. This segmentation allows individual nodes to fail without affecting the entire cluster, as other nodes can continue accessing the global memory independently, thereby reducing cluster failure risk while maintaining node independence.
3Reliability
If global persistent memory is implemented, then data coherency is improved, but system complexity increases
Solution Approach 1:
The patent replaces complex software-based memory management and coherency protocols with hardware-supported mechanisms in the fabric interconnect and global persistent memory controller. By substituting mechanical/software complexity with hardware-level support for direct memory access and coherency, the system achieves data consistency while reducing overall system complexity.
Data Source
AI summary
An apparatus for providing data coherency is described herein. The apparatus includes a global persistent memory. The global persistent memory is accessed using a protocol that includes input/output (I/O) semantics and memory semantics. The apparatus also includes a reflected memory region. The reflected memory region is a portion of the global persistent memory, and each node of a plurality of nodes maps the reflected memory region into a space that is not cacheable. Further, the apparatus includes a semaphore memory. The semaphore memory provides a hardware assist for enforced data coherency.


