Socket Management with Unique List for Reduced Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network systems experience increased latency with a growing number of network connections due to the inefficiency of busy-polling across multiple sockets, which becomes impractically inefficient as the number of sockets exceeds several hundred.
Innovation Solution
A system that manages sockets and associated device queues by employing a unique list to map sockets to active device queues, allowing for reduced latency busy-polling and limiting polling to only necessary queues, thereby decreasing latency and improving efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If busy-polling is employed to reduce latency, then packet processing latency is reduced, but efficiency degrades linearly with the number of sockets
Solution Approach 1:
The patent segments the polling process by maintaining a unique list that maps device queues to sockets. Instead of polling all sockets, the system divides the polling task into individual queue checks based on the unique list, reducing the number of polling operations from O(n) to O(m) where m is the number of active queues and n is the total number of sockets.
Solution Approach 2:
The patent applies partial action by polling only the subset of device queues that are currently active and have sockets assigned to them, rather than polling all possible queues. The unique list enables the system to perform exactly the necessary polling actions without excess operations on inactive queues.
2Adaptability or versatility
If the number of sockets increases, then network connection capacity increases, but polling efficiency becomes impractically inefficient
Solution Approach 1:
The unique list segments the relationship between sockets and device queues, creating a direct mapping that allows the system to handle any number of sockets efficiently. Each entry in the unique list represents a specific queue-socket association, enabling scalable management regardless of the total socket count.
Solution Approach 2:
The unique list acts as an intermediary data structure between the socket layer and the device queue layer. It provides an efficient lookup mechanism that decouples the number of sockets from the polling complexity, allowing the system to scale network connections without proportionally increasing polling overhead.
3Productivity
If generic stack processing is used, then throughput is optimized, but latency increases due to context switches
Solution Approach 1:
The patent introduces dynamic polling behavior where the system adapts its processing mode based on the state of the unique list and device queues. When packets are available in polled queues, the system processes them immediately without context switches, dynamically switching between interrupt-driven and polling modes to optimize for latency when needed.
Data Source
AI summary
Generally, this disclosure provides systems, methods and computer readable media for management of sockets and device queues for reduced latency packet processing. The method may include maintaining a unique-list comprising entries identifying device queues and an associated unique socket for each of the device queues, the unique socket selected from a plurality of sockets configured to receive packets; busy-polling the device queues on the unique-list; receiving a packet from one of the plurality of sockets; and updating the unique-list in response to detecting that the received packet was provided by an interrupt processing module. The updating may include identifying a device queue associated with the received packet; identifying a socket associated with the received packet; and if the identified device queue is not on one of the entries on the unique-list, creating a new entry on the unique-list, the new entry comprising the identified device queue and the identified socket.


