Protocol Offload Device Data Replication via Shared Memory Abstraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current technologies require significant CPU cycles, host memory bandwidth, and Ethernet bandwidth when replicating data in distributed file systems and multi-cast services, as they write replicated data as separate writes, leading to inefficiencies and potential failures.
Innovation Solution
A protocol offload device supports data replication by using a shared memory abstraction for send and receive buffers, allowing multiple connections to access a single copy of data through per-offloaded connection virtual addresses, and efficiently manages memory resources to send and receive replicated data across multiple connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is replicated by writing to multiple destinations as separate writes, then reliability is improved, but CPU cycles and host memory bandwidth are excessively consumed
Solution Approach 1:
The patent extracts the data replication function from the host CPU to a dedicated protocol offload device (NIC). The host CPU initiates replication by writing data once to the NIC's buffer, and the NIC independently handles the multi-copy replication to multiple destinations, thereby removing the computationally intensive replication task from the host processor.
Solution Approach 2:
The protocol offload device acts as an intermediary between the host CPU and multiple storage destinations. It receives a single write operation from the host and automatically replicates the data to multiple destinations, mediating the complex multi-write operations that would otherwise burden the host CPU.
2Reliability
If data is replicated by writing to multiple destinations as separate writes, then reliability is improved, but host memory bandwidth is excessively consumed
Solution Approach 1:
The patent extracts the data replication function from the host CPU to a dedicated protocol offload device (NIC). The host CPU initiates replication by writing data once to the NIC's buffer, and the NIC independently handles the multi-copy replication to multiple destinations, thereby removing the computationally intensive replication task from the host processor.
3Reliability
If multiple connections are established for replication, then data transmission reliability is improved, but device complexity increases
Solution Approach 1:
The protocol offload device provides universal connection management capabilities, handling multiple TCP connections to different destinations simultaneously. The NIC's built-in protocol processing engine automatically manages connection states, acknowledgments, and retransmissions for all replication connections, providing multi-functional connection management without increasing host system complexity.
Data Source
AI summary
Data replication can be supported efficiently in a protocol offload device (such as a protocol offload device to offload transport layer protocol processing from a host) by supporting a shared memory (SHM) abstraction for the send and receive buffers that are used in protocol offload devices. The protocol offload send and receive buffers are accessed using a per offloaded connection virtual address method that maps transport protocol sequence numbers (such as TCP protocol sequence numbers), to memory locations within buffers, and, for example, either page tables and paged memory or segment tables and segmented memory tables are used to access the memory.


