TCP Connection Hashing for Multi-Core Processor Concurrency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing throughputVSAvoiddata accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvedata accuracyVSAvoidprocessing capacity
Core Design Contradiction:
Manufacturing precisionVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8572260B2Predetermined ports for multi-core architectures
Publication Date: 2013.10.29 KEYSIGHT TECH SINGAPORE (SALES) PTE LTD
  • US8572260B2 patent drawing
  • US8572260B2 patent drawing
  • US8572260B2 patent drawing

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.