Transmit-Side Scaler Using Thread-Based Queues for Packet Flow Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In connection-oriented systems, transmit-side processing faces challenges in scheduling and queuing outgoing network packets, where slower flows can hinder faster flows due to lack of identifiable flow association with packets, leading to throughput issues and packet order maintenance problems.
Innovation Solution
A transmit-side scaler system that includes token area memory, transmit queue memory, and an active threads table to identify and manage transmit queues for outgoing packets by matching process IDs, generating new queues as needed to ensure proper flow mapping and scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple flows are multiplexed into a single output queue, then packet order within each flow is maintained, but slower flows can delay faster flows reducing overall throughput
Solution Approach 1:
The single output queue is segmented into multiple separate queues, each dedicated to a specific flow identified by process ID. This segmentation allows each flow to have its own transmission queue, preventing slower flows from blocking faster ones while maintaining packet order within each individual flow through dedicated queuing.
Solution Approach 2:
Different queues are assigned different characteristics based on their associated flow's requirements. Each queue can be optimized independently for its specific flow's throughput needs, allowing faster flows to use queues optimized for high speed while slower flows use queues appropriate for their characteristics, rather than forcing all flows through a single uniform queue.
2Device complexity
If flow information is not readily identifiable in outgoing packets, then packet processing is simpler, but proper flow association and queue mapping cannot be established
Solution Approach 1:
The system performs preliminary action by inserting flow identification information (process ID) into the packet header before the packet is queued for transmission. This advance tagging ensures that when the packet reaches the transmit-side scaler, the flow association is already established, enabling proper queue mapping without adding complex real-time identification logic during packet processing.
Data Source
Figure 1
Figure 2A~2B
Figure 3
AI summary
Embodiments of a transmit-side scaler and method for processing outgoing information packets using thread-based queues are generally described herein. Other embodiments may be described and claimed. In some embodiments, a process ID stored in a token area may be compared with a process ID of an application that generated an outgoing information packet to obtain a transmit queue. The token area may be updated with a process ID stored in an active threads table when the process ID stored in the token area does not match the process ID of the application.