Line Rate Packet Classifier for Multi-Tenant QoS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network appliances, such as SmartNICs and smart switches, often process packets at less than line rate due to limited processing capabilities, leading to packet drops without tenant discrimination, which can impact quality of service and fairness among tenants in multi-tenant cloud deployments.

Innovation Solution

Implementing a network appliance with multiple ingress queues and a line rate classification circuit that uses packet headers to sort packets based on tenant IDs, allowing for concurrent line rate classification and sub-line rate processing, with a scheduler prioritizing high-priority queues and adjusting queue associations based on resource consumption statistics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If full service packet processing is implemented in SmartNICs, then processing capability and efficiency are improved, but processing speed decreases below line rate due to limited processing capabilities

Engineering Contradiction:
Improvepacket processing capabilityVSAvoidpacket processing speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The packet processing function is segmented into two parts: line rate classification (performed by classification circuitry) and full service processing (performed by packet processing pipeline). This segmentation allows the classification function to operate at line rate while the full service processing can be performed at sub-line rate, resolving the contradiction between processing capability and speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Packet classification is performed as a preliminary action before full service processing. The classification circuitry sorts packets into ingress queues based on tenant IDs at line rate, and only then are packets processed by the packet processing pipeline. This preliminary classification enables efficient resource allocation and prevents packet drops.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If packets are processed at sub line rate without classification, then processing resources are simplified, but packet drops occur without tenant discrimination impacting quality of service

Engineering Contradiction:
Improveprocessing structureVSAvoidquality of service
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

Tenant identification and classification are performed as preliminary actions before packet processing. The classification circuitry calculates tenant IDs from packet headers and sorts packets into appropriate ingress queues based on SLA status. This ensures that when packet drops occur due to sub-line rate processing, they are selectively dropped from out-of-SLA tenants while protecting in-SLA tenants, thereby maintaining quality of service.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple ingress queues are implemented with line rate classification, then quality of service and tenant fairness are improved, but device complexity increases

Engineering Contradiction:
Improvequality of service fairnessVSAvoidclassification system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Different parts of the system are assigned different levels of complexity appropriate to their function. The classification circuitry uses simple hash-based tenant ID calculation from packet headers, while the packet processing pipeline implements the complex full service processing. This local differentiation of quality and complexity allows the system to achieve QoS fairness without uniformly increasing complexity throughout the entire device.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11863467B2Methods and systems for line rate packet classifiers for presorting network packets onto ingress queues
Publication Date: 2024.01.02 PENSANDO SYSTEMS INC
  • US11863467B2 patent drawing
  • US11863467B2 patent drawing
  • US11863467B2 patent drawing

AI summary

A network appliance can have an input port that can receive network packets at line rate, two or more ingress queues, a line rate classification circuit that can place the network packets on the ingress queues at the line rate, a packet buffer that can store the network packets, and a sub line rate packet processing circuit that can process the network packets that are stored in the packet buffer. The line rate classification circuit can place a network packet on one of the ingress queues based on the network packet's packet contents. A buffer scheduler can select network packets for processing by a sub line rate packet processing circuit based on the priority levels of the ingress queues.