TCP Connection Hashing for Multi-Core Processor Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In packet switched networks, concurrency issues arise when multiple processors attempt to process packets for the same TCP connection, leading to inaccurate data updates and potential processor stalls, as they may read and update TCP connection data without synchronization, necessitating unique association of each TCP connection with a specific processor core.
Innovation Solution
A hash function is used to uniquely associate each TCP connection with a specific processor core, ensuring that all packets for a connection are processed by the same processor, and predetermined TCP source port numbers are stored for each processor combination to streamline the opening of new connections, thereby avoiding concurrency issues and optimizing processing time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processors process packets for the same TCP connection concurrently, then processing throughput increases, but data accuracy deteriorates due to unsynchronized reads and updates
Solution Approach 1:
The patent segments the processing workload by assigning each TCP connection to a specific processor core based on a hash function of the connection's source and destination ports. This segmentation ensures that each processor handles only its assigned connections exclusively, eliminating concurrent access conflicts while maintaining high throughput by distributing connections across multiple processors.
2Manufacturing precision
If each TCP connection is uniquely associated with a specific processor core, then data accuracy is maintained through synchronized access, but processing capacity is reduced due to limited parallel processing
Solution Approach 1:
The patent divides the set of all TCP connections into disjoint groups, where each group is assigned to a specific processor core. This segmentation strategy ensures that each processor handles only its assigned connections exclusively, eliminating concurrent access conflicts while maintaining high throughput by distributing connections across multiple processors.
Solution Approach 2:
The patent uses a hash function that takes the source and destination port numbers as input parameters and transforms them into a processor core identifier. This parameter transformation enables deterministic assignment of connections to processors based on their port characteristics, ensuring consistent and conflict-free data access while maximizing parallel processing capacity.
3Productivity
If a hash function is used to associate TCP connections with processor cores, then connection processing is optimized and synchronized, but system complexity increases due to additional hashing logic
Solution Approach 1:
The patent introduces a hash function as an intermediary component that takes connection identifiers (source and destination port numbers) and transforms them into processor core identifiers. This intermediary mechanism simplifies the connection-to-processor mapping process, ensuring efficient and synchronized processing while the computational overhead of the hash function is minimal and manageable.
Data Source
AI summary
Methods, computing devices, and computer readable storage media to test network connections using a port unit having a plurality of processors. A plurality of transmission control protocol (TCP) connections to be initiated by the port unit during a test session may be defined. For each processor, an associated set of predetermined source port numbers corresponding to the plurality of TCP connections may be determined. A first processor of the plurality of processors may open TCP connections, via the network, from the defined plurality of TCP connections, wherein each TCP connection may be opened using the corresponding source port number from the set of source port numbers associated with the first processor.


