Hybrid Congestion Control Engine Offloads CPU Tasks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current congestion control algorithms in packet switched networks are either purely software-based, leading to high CPU usage and latency, or purely hardware-based, which are inflexible and non-programmable, failing to efficiently manage increasing networking demands, especially in data centers with high bandwidth applications.

Innovation Solution

A programmable network-attached acceleration system framework that integrates software and hardware components, allowing for the selection and implementation of various congestion control algorithms, with a hybrid CC engine that includes a CC data processing unit, measurement module, and enforcement module, capable of being programmed to perform tasks corresponding to different algorithms, thereby offloading CPU tasks and improving system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If pure software-based congestion control algorithms are used, then flexibility and programmability are maintained, but CPU usage increases significantly (10-40% of CPU cycles) and latency increases

Engineering Contradiction:
ImproveflexibilityVSAvoidCPU usage
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system divides congestion control functionality into separate hardware modules (measurement module, data processing unit, enforcement module) that can operate independently in parallel with software algorithms, reducing CPU burden while maintaining flexibility

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A hardware-based congestion control engine acts as an intermediary between the network interface and CPU, handling time-critical measurement and enforcement tasks in hardware while allowing software to handle higher-level algorithmic decisions

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware-based congestion control algorithms are used, then CPU usage is reduced and processing speed is improved, but flexibility and programmability are lost (fixed-function implementations)

Engineering Contradiction:
Improveprocessing speedVSAvoidflexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The hardware congestion control engine is designed with programmable components that can be dynamically configured to implement different congestion control algorithms, allowing the system to adapt to different network conditions and requirements while maintaining hardware acceleration benefits

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hardware engine is designed to support multiple congestion control algorithms and can be programmed to handle different virtual machines and containers, making a single hardware implementation serve multiple functions and algorithms

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If hardware-based protocols are used, then CPU time is saved, but different congestion control algorithms cannot be supported for different virtual machines or containers

Engineering Contradiction:
ImproveCPU timeVSAvoidalgorithm diversity
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system separates the hardware engine into independent modules that can be individually programmed and configured for different virtual machines and containers, allowing each VM/container to have its own customized congestion control algorithm while still benefiting from hardware acceleration

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the hardware engine can be programmed with different congestion control algorithms tailored to specific virtual machines or containers, allowing local optimization for each workload while maintaining overall system efficiency

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11641323B1Programmable congestion control engine
Publication Date: 2023.05.02 XILINX INC
  • US11641323B1 patent drawing
  • US11641323B1 patent drawing
  • US11641323B1 patent drawing

AI summary

Examples herein describe an acceleration framework that includes a hybrid congestion control (CC) engine where some components are implemented in software (e.g., a CC algorithm) while other components are implemented in hardware (e.g., measurement and enforcement modules and a flexible processing unit). The hardware components can be designed to provide measurements that can be used by multiple different types of CC algorithms. Depending on which CC algorithms are currently enabled, the hardware components can be programmed to perform measurement, processing, and enforcement tasks, thereby freeing the CPUs in the host to perform other tasks. In this manner, the hybrid CC engine can have the flexibility of a pure software CC algorithm with the advantage of performing many of the operations associated with the CC algorithm in hardware.