Network Processor Packet Reordering via Processing Time Tiers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network processors face inefficiencies in packet reordering due to varying processing times across different classes of packets, leading to suboptimal utilization and slow processing speeds, as they wait for the longest processing time packets before reordering and sending them out.
Innovation Solution
A method for packet reordering in network processors that divides packets into tiers based on their nominal processing times, allowing independent reordering and collection of eligible packets using a weighed round robin algorithm, eliminating the need for pre-processing classification and enabling efficient handling of packets with similar processing times within each class.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If packets are classified using a hashing function based on packet parameters, then packet order can be maintained within classes, but the processing time varies greatly within each class causing inefficiency
Solution Approach 1:
The patent changes the classification parameter from packet header parameters (hashing function) to processing time parameters. Packets are classified into tiers based on their nominal processing time, which is determined by the type of actions required to process each packet. This allows packets with similar processing times to be grouped together, enabling efficient parallel processing while maintaining order.
Solution Approach 2:
The patent segments packets into multiple tiers based on their processing time characteristics. Each tier handles packets with similar processing time ranges, allowing independent reordering of packets within each tier. This segmentation enables the system to process different tiers in parallel without waiting for the longest processing time packets, thereby improving overall productivity.
2Reliability
If the network processor waits for the packet with the largest processing time before reordering, then packet order is maintained, but the network processor is not utilized efficiently during waiting time
Solution Approach 1:
The patent divides packets into multiple tiers based on processing time. Each tier can be reordered independently without waiting for other tiers, eliminating the need to wait for the longest processing time packets. This allows the network processor to utilize waiting time by processing packets from multiple tiers in parallel.
Solution Approach 2:
The patent determines the nominal processing time of each packet in advance, before actual packet processing begins. This preliminary determination allows packets to be pre-classified into appropriate tiers, enabling efficient resource allocation and reducing waiting time during the actual processing phase.
3Productivity
If packets are divided into tiers based on nominal processing time, then processing efficiency is improved, but the system complexity increases
Solution Approach 1:
The patent segments the reordering function into multiple independent tier reordering elements, each handling a specific tier. This modular segmentation allows each element to operate independently with simpler logic, while the overall system achieves high efficiency through parallel operation of multiple elements.
Solution Approach 2:
The patent performs preliminary classification of packets into tiers based on nominal processing time before packet processing begins. This preliminary action simplifies the subsequent reordering operations, as each tier reordering element only needs to handle packets within its specific time range, reducing the complexity of each individual element.
Data Source
AI summary
A method for packet reordering in a network processor, including the steps of processing packets, dividing the processed packets into a plurality of tiers and reordering the tiers independently from each other and collecting eligible packets from the plurality of tiers in a collector for forwarding. The method further includes the step of during the processing, determining the nominal packet processing time of each packet. The processed packets are divided into the plurality of tiers depending on the nominal packet processing time.


