Multi-Node Buffer Transfer via RPC and RDMA
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for ensuring consistent data persistence across battery backup RAM systems in multi-node storage systems require significant signaling overhead and multiple copies of buffered data, especially when there is no mirroring connection between nodes.
Innovation Solution
A computer-implemented method that uses a remote procedure call (RPC) to send a target memory address and data to a remote persistent cache memory system via remote direct memory access (RDMA) commands, optimizing data transfer by reducing the number of messages and copies between nodes, and allocating buffer portions for data buffering in a battery backup RAM system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional multi-node signaling processes are used to ensure data consistency between battery backup RAM systems, then data consistency is maintained, but signaling overhead increases significantly
Solution Approach 1:
The patent introduces a remote procedure call (RPC) mechanism as an intermediary to coordinate data buffering between nodes. Instead of complex multi-node signaling, the RPC serves as a standardized interface that simplifies the coordination process while maintaining data consistency across the distributed battery backup RAM systems.
Solution Approach 2:
The patent employs remote direct memory access (RDMA) to create efficient data copies between the local node's buffer and the remote node's persistent cache memory. This copying mechanism enables data consistency without requiring complex signaling protocols, as the data is directly replicated to the remote node through optimized memory access operations.
2Reliability
If multiple copies of buffered data are maintained across nodes to ensure consistency, then data reliability is improved, but memory resource consumption increases
Solution Approach 1:
The patent pre-allocates buffer portions in the persistent cache memory system during initialization, before actual data buffering operations begin. This preliminary allocation establishes a ready-to-use memory structure that eliminates the need for dynamic memory allocation and reduces overhead during runtime data operations.
Solution Approach 2:
The patent divides the persistent cache memory system into distinct buffer portions, each with specific allocation purposes. This segmentation allows for efficient memory management where each portion can be independently utilized, reducing the total memory footprint required while maintaining data consistency across nodes.
3Adaptability or versatility
If buffer portions are dynamically allocated during data buffering operations, then flexibility is improved, but processing time increases
Solution Approach 1:
The patent performs buffer portion allocation during the initialization phase of the remote node, before any actual data buffering operations occur. This preliminary action ensures that when data needs to be buffered, pre-configured memory portions are immediately available, eliminating runtime allocation delays while maintaining the flexibility needed for various data sizes.
Data Source
AI summary
A method, computer program product, and computing system for receiving, at a local node, a request to buffer data on a remote persistent cache memory system of a remote node. A target memory address within the remote persistent cache memory system may be sent from the local node via a remote procedure call (RPC). The data may be sent from the local node to the target memory address within the remote persistent cache memory system via a remote direct memory access (RDMA) command.


