Multi-Thread Packet Processor Latency Reduction via Re-order Queue Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data communication networks, packets often experience delayed transmission due to the need to maintain in-order delivery, even after one packet has completed processing, as other packets ahead of it in the re-order queue have not yet finished processing, leading to increased latency.

Innovation Solution

Breaking packet processing into two stages, where the first stage focuses on packet forwarding and modification, and the second stage includes non-forwarding related operations like state updates, allowing the packet to be marked for transmission after the first stage is complete, even if other packets ahead have not finished processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If packets are transmitted in the same order in which they are received using a single re-order queue, then in-order delivery is maintained, but transmission latency increases when packets ahead in the queue have not completed processing

Engineering Contradiction:
Improvein-order deliveryVSAvoidtransmission latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the re-order queue into multiple queues (first re-order queue and second re-order queue) to allow packets that have completed processing to be transmitted without being blocked by packets still being processed. This segmentation resolves the contradiction by maintaining in-order delivery within each queue while enabling parallel transmission from multiple queues, thereby reducing transmission latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically selects which re-order queue to use based on the processing status of packets. When a packet completes processing, the system can place it in a queue where it can be transmitted immediately rather than waiting statically in a single FIFO queue. This dynamic approach allows the system to adapt to varying processing completion times and reduce unnecessary waiting time.

Inventive Principle:
Principle #15Dynamics

2Reliability

If packets wait in the re-order queue until all packets ahead of them complete processing, then in-order transmission is ensured, but packet throughput decreases

Engineering Contradiction:
Improvein-order transmissionVSAvoidpacket throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By dividing the single re-order queue into multiple queues, the patent enables packets that have completed processing to be transmitted from available queues without waiting for packets in other queues. This segmentation increases packet throughput while maintaining in-order transmission within each queue, resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables continuous transmission of packets by maintaining multiple re-order queues that can operate in parallel. When one queue has packets still being processed, another queue may have packets ready for transmission, ensuring that the transmission function continues without interruption and maximizing packet throughput.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9083563B2Method for reducing processing latency in a multi-thread packet processor with at least one re-order queue
Publication Date: 2015.07.14 EXTREME NETWORKS INC
  • US9083563B2 patent drawing
  • US9083563B2 patent drawing
  • US9083563B2 patent drawing

AI summary

Packet processing is broken into two or more stages. In particular, the network processing unit 26 performs a first stage of packet processing related to packet forwarding and packet modification, and then performs a second stage of packet processing unrelated to packet forwarding and packet modification. Example processes unrelated to packet forwarding and packet modification may include state updates on the network element, such as statistics counter updates, stateful flow tracking, IPFix processing, MAC learning, and other processes important to operation of the network element, but which do not affect the appearance of the packet (e.g. packet format) and which do not affect the forwarding decision of the packet. Once the first stage of packet processing related to packet forwarding and packet modification has been completed, the flag associated with the packet is cleared in the scoreboard, to allow the packet to be transmitted from the reorder queue.