SoC Cluster Remote Memory Access via Interconnect Fabric
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional shared nothing clusters lack the ability to provision memory based on workload, implement memcached functionality on a per-node basis, perform remote DMA transactions, and handle remote interrupts efficiently, limiting their performance and functionality.
Innovation Solution
The system enables flexible allocation and disassociation of computing resources by implementing remote memory access, memcached functionality, and remote interrupts across a cluster of nodes using a power-optimized interconnect fabric, allowing for scalable and efficient memory sharing and transaction handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional shared nothing architecture is used, then each node is independent and self-sufficient, but memory capacity cannot be provisioned based on workload on a per-node basis
Solution Approach 1:
The patent segments memory resources from compute resources by introducing dedicated memory nodes that are independent of compute nodes. This allows memory capacity to be provisioned separately based on workload needs, resolving the contradiction between adaptability and complexity. The memory nodes can be allocated to different compute nodes as needed without changing the compute architecture.
Solution Approach 2:
The patent introduces a memory controller as an intermediary component that manages communication between compute nodes and remote memory. This mediator enables flexible memory provisioning while maintaining the independence of compute nodes, thus improving adaptability without significantly increasing overall system complexity.
2Adaptability or versatility
If shared nothing architecture is used, then scalability is achieved, but remote memory access and DMA transactions cannot be performed
Solution Approach 1:
The patent replaces traditional network-based data access mechanisms with direct memory access capabilities. By implementing remote DMA transactions and memory-mapped I/O, the system eliminates the need for complex network protocols and CPU intervention in data transfers, significantly improving data access performance while enabling remote memory access.
Solution Approach 2:
The patent makes the memory access mechanism universal by implementing a unified architecture that supports both local and remote memory access through the same interface. This allows any compute node to access any memory resource in the cluster using consistent mechanisms, improving both adaptability and productivity.
3Reliability
If Ethernet fabric topology is used, then performance and availability are improved, but memory sharing and resource allocation become more complex
Solution Approach 1:
The patent segments resource allocation by separating memory resources from compute resources. Memory nodes are independently managed and can be allocated to any compute node through the Ethernet fabric without affecting the availability or reliability of the compute nodes themselves, thus maintaining high reliability while simplifying allocation logic.
Solution Approach 2:
The patent uses parameter changes in the Ethernet fabric topology to dynamically allocate memory resources. By changing allocation parameters rather than physical connections, the system maintains the high availability of the Ethernet fabric while enabling flexible memory sharing without increasing topological complexity.
Data Source
AI summary
A method is performed by a first server on a chip (SoC) node that is one instance of a plurality of nodes within a cluster of nodes. An operation is performed for determine if a second one of the SoC nodes in the cluster has data stored thereon corresponding to a data identifier in response to receiving a data retrieval request including the data identifier. An operation is performed for determining if a remote memory access channel exists between the SoC node and the second one of the SoC nodes. An operation is performed for access the data from the second one of the SoC nodes using the remote memory access channel after determine that the second one of the SoC nodes has the data stored thereon and that the remote memory access channel exists between the SoC node and the second one of the SoC nodes.


