Network Interface for Remote Memory Transactions Across Lossy Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Standard commodity networks like Ethernet are 'lossy' and cannot guarantee that memory transaction messages (MTMs) are processed in order or received without being dropped, making it difficult to implement remote programmed I/O efficiently and cost-effectively due to the potential for serious errors.
Innovation Solution
A network interface that determines the destination and transaction type of MTMs, assigns sending priorities, organizes packets accordingly, and ensures they are received in order by maintaining linked-lists of sent packets, with retransmissions if acknowledgments are missed, to enforce the processor bus protocol ordering and prevent packet loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If standard commodity networks (Ethernet) are used for remote memory access, then cost is reduced and scalability is improved, but packet loss and ordering issues occur leading to serious errors
Solution Approach 1:
The patent introduces an intermediary mechanism (the network interface with ordering buffers and sequence tracking) that mediates between the unreliable Ethernet network and the reliable memory access protocol. This intermediary reorders packets and ensures correct delivery sequences, allowing standard Ethernet to be used without sacrificing reliability.
Solution Approach 2:
The patent implements prior cushioning by maintaining buffers and tracking packet sequences before transmission issues manifest. The system prepares ordering mechanisms in advance, so when packets arrive out of order or are lost, the buffering and sequence tracking already in place can handle the correction without causing errors.
2Speed
If packets are sent across lossy networks without ordering guarantees, then network flexibility and speed are improved, but processors cannot maintain proper processing order leading to deadlocks and errors
Solution Approach 1:
The patent segments the network transmission process into individual trackable packets, each with sequence information. This segmentation allows the system to track and reorder packets independently, maintaining stability at the message level while allowing flexibility and speed at the packet level during transmission.
Solution Approach 2:
The patent implements feedback mechanisms where the receiving end tracks packet sequences and can request retransmission or reordering. This feedback loop ensures that even though packets may travel at high speed in any order, the final received sequence maintains proper ordering stability through continuous monitoring and correction.
3Reliability
If proprietary networks (SCI, DEC memory channel) are used to guarantee ordering and reliability, then message ordering and packet delivery are ensured, but cost increases and compatibility with standard equipment decreases
Solution Approach 1:
The patent makes the network interface universal by enabling it to handle both standard Ethernet packets and memory access protocols. The multi-functional design allows a single interface to provide proprietary-level reliability on standard commodity networks, eliminating the need for specialized expensive hardware while maintaining ordering guarantees.
4Reliability
If packet retransmission is implemented to handle lossy networks, then packet delivery reliability is improved, but network latency and processing time increase
Solution Approach 1:
The patent applies preliminary action by pre-numbering and buffering packets before transmission. This preparation allows the system to quickly handle retransmissions when needed, as the framework is already in place. More importantly, it prevents most retransmissions by ensuring proper ordering and acknowledgment mechanisms are established beforehand, reducing actual retransmission delays.
Data Source
AI summary
A network interface is disclosed for enabling remote programmed I/O to be carried out in a “lossy” network (one in which packets may be dropped). The network interface: (1) receives a plurality of memory transaction messages (MTM's); (2) determines that they are destined for a particular remote node; (3) determines a transaction type for each MTM; (4) composes, for each MTM, a network packet to encapsulate at least a portion of that MTM; (5) assigns a priority to each network packet based upon the transaction type of the MTM that it is encapsulating; (6) sends the network packets into a lossy network destined for the remote node; and (7) ensures that at least a subset of the network packets are received by the remote node in a proper sequence. By doing this, the network interface makes it possible to carry out remote programmed I/O, even across a lossy network.


