Programmable Switch Message Sequencer for NVMeoF Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current NVMe over Fabric (NVMeoF) protocols face challenges in handling out-of-order message delivery, leading to significant latency and overhead in large-scale data centers with Ethernet networks, as they rely on dropping messages and retransmission by end devices, which hinders high-speed performance and requires expensive Data Center Bridging (DCB) capable switches.
Innovation Solution
Implementing programmable switches as in-network message sequencers that use topology-aware routing and buffering servers to reorder and retrieve missing messages, reducing the need for end-device retransmission and eliminating the requirement for expensive DCB switches, thereby improving message sequencing and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If current NVMeoF protocols handle out-of-order message delivery by dropping messages and relying on end device retransmission, then message delivery can be restored, but significant latency and overhead occur that hinders high-speed performance
Solution Approach 1:
The patent introduces an intermediary message sequencer component that sits between the network fabric and end devices. This sequencer receives out-of-order messages, buffers them temporarily, and retransmits them in the correct sequence to the destination. By placing this sequencing function in the network infrastructure rather than at end devices, the system maintains reliability while reducing latency, as messages are sequenced in-transit without requiring full retransmission cycles.
Solution Approach 2:
The message sequencer performs preliminary sequencing and buffering actions before messages reach their final destination. By pre-ordering messages and holding them in buffer memory during the sequencing process, the system ensures that when messages are forwarded to the target device, they are already in the correct sequence. This preliminary action eliminates the need for destination devices to detect and request retransmission, significantly reducing latency.
2Reliability
If NVMeoF protocols use lossless InfiniBand networks, then message delivery reliability is maintained, but the system cannot utilize lossy Ethernet networks commonly found in data centers
Solution Approach 1:
The message sequencer acts as a mediator that translates between the unreliable Ethernet network fabric and the reliable NVMe protocol requirements. It receives potentially out-of-order or lost messages from the lossy Ethernet network, buffers them, and ensures correct sequencing and delivery to NVMe endpoints. This intermediary layer shields end devices from network imperfections, enabling NVMeoF to operate over standard Ethernet without requiring specialized lossless infrastructure.
Solution Approach 2:
The system changes the operational parameters of message handling by introducing buffering and sequencing at the network layer. Instead of requiring the network itself to provide lossless delivery (a parameter of the network fabric), the solution changes the delivery mechanism by adding intermediate buffering and sequencing operations. This parameter change allows the system to achieve reliable delivery over lossy networks by modifying how messages are transmitted and received rather than changing the network medium itself.
3Reliability
If existing RDMA NVMeoF protocols depend on fully reliable transport fabric with DCB capable switches, then message sequencing is maintained, but scalability is limited and expensive hardware is required
Solution Approach 1:
The message sequencer serves as a network intermediary that handles sequencing functions centrally, eliminating the need for each switch to be DCB-capable. By concentrating the sequencing logic in dedicated sequencer devices rather than distributing it across all network switches, the system maintains reliable message sequencing while using standard, inexpensive Ethernet switches. This intermediary approach separates the sequencing function from the switching function, reducing overall hardware complexity and cost.
Solution Approach 2:
The message sequencer implements self-service by autonomously detecting out-of-order messages, buffering them appropriately, and retransmitting in the correct sequence without external intervention. The sequencer monitors message sequences, identifies gaps or reversals, and automatically corrects them using its buffer memory. This self-service capability eliminates the need for complex DCB switch infrastructure that would otherwise be required to maintain sequencing reliability, simplifying the hardware requirements.
Data Source
AI summary
A programmable switch includes a plurality of ports for communicating with devices on a network. Circuitry of the programmable switch is configured to receive a series of related messages from a first device on the network via at least one port, and determine whether one or more messages of the series of related messages have been received out-of-order based at least in part on a sequence number included in the one or more messages. The series of related messages are sent by the programmable switch to a second device via one or more ports in an order indicated by sequence numbers included in the series of related messages by delaying at least one message. According to one aspect, a network controller selects a programmable switch between the first device and the second device to serve as a message sequencer for reordering out-of-order messages using a stored network topology.


