Core-Affined Storage Network Ports for Balanced Multi-Core Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern network protocols like NVMe-TCP face challenges in achieving balanced and aligned network and protocol processing across CPU cores due to the limitations of Receive Side Scaling (RSS), leading to imbalanced utilization and reduced performance in multi-core systems.

Innovation Solution

Implementing Accelerated Receive Flow Steering (aRFS) using destination TCP port numbers to distribute network traffic across core-affined receive queues, allowing for balanced and aligned processing without requiring protocol changes, by allocating multiple destination ports and associating them with specific receive queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Receive Side Scaling (RSS) is used to distribute network traffic across CPU cores, then network traffic distribution is achieved, but traffic balance and processing alignment across cores deteriorates

Engineering Contradiction:
Improvenetwork traffic distributionVSAvoidtraffic balance and processing alignment
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent changes the parameter used for traffic distribution from RSS hash-based allocation to destination port number-based allocation. By using destination port numbers as the distribution key, the system achieves both balanced traffic distribution and processing alignment across CPU cores, resolving the contradiction between traffic distribution capability and processing reliability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple destination ports are allocated and associated with receive queues, then traffic balance and processing alignment are improved, but device complexity increases

Engineering Contradiction:
Improvetraffic balance and processing alignmentVSAvoidport allocation and rule configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically assigning destination port numbers to receive queues without requiring manual configuration. The host computer autonomously selects and assigns port numbers from the allocated set, eliminating the need for complex manual rule configuration while maintaining traffic balance and processing alignment.

Inventive Principle:
Principle #25Self-service

3Reliability

If destination port identifiers are assigned distributively to network connections, then processing alignment is improved, but host configuration complexity increases

Engineering Contradiction:
Improveprocessing alignmentVSAvoidhost configuration
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The host computer performs self-service by automatically receiving and assigning destination port identifiers from the data storage system without manual intervention. The automatic assignment mechanism simplifies host configuration while ensuring proper processing alignment across CPU cores.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20260067361A1Data storage access with multi-core processing based on core-affined destination ports
Publication Date: 2026.03.05 DELL PROD LP
  • US20260067361A1 patent drawing
  • US20260067361A1 patent drawing
  • US20260067361A1 patent drawing

AI summary

A method of establishing network connections for a host computer (host) to access data storage at a data storage system (DSS) includes, by the DSS, allocating a set of M destination port identifiers (IDs) and incorporating them into a set of rules associating the IDs with corresponding core-affined receive queues, and performing receive flow steering of received host network traffic among the receive queues based on the rules. The host assigns the IDs to the network connections in a distributive manner and includes them in connection-establishment exchanges with the DSS, such that network traffic streams of the host cores use respective network connections and are consistently directed to corresponding DSS cores. The technique can provide for desired balance and alignment of storage network traffic, even in larger systems with many multi-core hosts, using only a small number of simple rules on the DSS.