Multi-Core Packet Steering via Cached Port Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, traditional VLANs limit network identifiers, leading to potential VLAN overlaps and increased latency and resource consumption when steering packets through multi-core devices acting as tunnel endpoints, as they require additional overheads for RSS computation and steering.

Innovation Solution

Implementing a system that allocates source ports to packets, allowing response packets to be steered directly to the same core that handled the request, by caching and using the source port in the outer header, thereby avoiding additional RSS computation and steering overheads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If packets are steered through multi-core devices acting as tunnel endpoints using traditional RSS computation on outer tunnel headers, then packet distribution across cores is achieved, but additional latency and system resource consumption occur due to overheads for RSS computation and steering

Engineering Contradiction:
Improvepacket processing throughputVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-computing and caching the mapping between source ports and cores before packet arrival. When a packet enters the tunnel endpoint, the source port is already associated with a specific core in a cache table, eliminating the need for real-time RSS computation on the outer tunnel header. This pre-established mapping allows immediate packet steering to the correct core, reducing latency while maintaining balanced packet distribution across cores.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If traditional RSS computation is performed on outer tunnel headers for packet distribution, then packets are distributed across multiple cores, but system resource consumption increases due to additional computation and steering overheads

Engineering Contradiction:
Improvepacket distribution efficiencyVSAvoidsystem resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent uses copying by creating and maintaining a cache table that stores the mapping between source ports and cores. Instead of performing complex RSS computations on each incoming packet's outer tunnel header, the system copies the pre-computed mapping relationship from the cache table directly to guide packet steering. This cached copy of the mapping information replaces the need for repeated computational operations, significantly reducing system resource consumption while maintaining effective packet distribution across multiple cores.

Inventive Principle:
Principle #26Copying

3Reliability

If VLANs are used to isolate applications and tenants in cloud computing environment, then network isolation is achieved, but the limit of 4096 network identifiers causes address exhaustion in large cloud environments

Engineering Contradiction:
Improvenetwork isolationVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies dimensionality change by transitioning from a single-dimension VLAN identification system (limited to 4096 identifiers) to a multi-dimensional tunnel endpoint architecture. Instead of relying solely on VLAN tags, the system introduces additional dimensions including source ports, destination ports, and tunnel endpoint identifiers. This multi-dimensional approach allows for exponentially more unique packet identification and routing combinations, enabling network isolation to be maintained while scaling to accommodate large cloud environments with numerous tenants and applications.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9923818B2Systems and methods of achieving equal distribution of packets in a multicore system which acts as a tunnel end point
Publication Date: 2018.03.20 CITRIX SYSTEMS INC
  • US9923818B2 patent drawing
  • US9923818B2 patent drawing
  • US9923818B2 patent drawing

AI summary

The present disclosure is directed towards systems and methods of steering packets received by a multi-core device serving as a tunnel endpoint. A device including a plurality of cores identifies a core corresponding to a request to transmit to a destination via a tunnel. The tunnel is established between the first tunnel endpoint and a second tunnel endpoint. The device identifies, from a port allocation table, a source port based on the identified core, a first IP address of the first tunnel endpoint, a second IP address of the second tunnel endpoint and the destination port to steer a response to the request to the identified core. The device modifies a packet of the request to include in an outer header of the packet of the request, a first tuple identifying the first IP address, the second IP address, the destination port and the identified source port.