Hardware Offload Unit Chaining for Lower CPU Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack efficient methods for performing a chain of offload operations with multiple hardware offload units, such as FGPAs and smartNICs, which are commonly used in datacenters to enhance host computer performance.

Innovation Solution

A method is provided to configure multiple hardware offload units of a host computer to perform operations on packets associated with machines, such as virtual machines or containers, by identifying and passing packets between each other efficiently, leveraging direct memory access (DMA) and cache coherency protocols like CXL and peer-to-peer communication over PCIe.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware offload units are used to perform packet operations, then packet processing performance is improved, but CPU overhead increases due to host processor involvement in identifying and passing packets between offload units

Engineering Contradiction:
Improvepacket processing performanceVSAvoidCPU overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent enables hardware offload units to autonomously identify subsequent offload units and pass packets between each other without host processor intervention. The first hardware offload unit identifies the second hardware offload unit and directly provides the packet to it, making the system self-sufficient and eliminating CPU overhead while maintaining high packet processing performance

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent divides the packet processing function into separate hardware offload units, each responsible for specific operations. This segmentation allows different offload units to be specialized for different tasks (e.g., encryption, filtering, routing) while working together in a chain, improving overall packet processing performance through functional decomposition

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple hardware offload units are configured to perform chained operations, then processing efficiency is improved, but device complexity increases

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

Solution Approach 1:

The patent creates a universal framework where hardware offload units can be chained together to perform multiple different operations (encryption, filtering, routing, etc.) through a common interface and configuration mechanism. This multi-functionality allows diverse packet processing tasks to be handled by the same chained architecture, improving processing efficiency without proportionally increasing complexity

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

Solution Approach 2:

The patent introduces a configuration mechanism that acts as an intermediary to manage the chaining of hardware offload units. This intermediary handles the complexity of setting up and coordinating multiple offload units, presenting a simplified interface to users while managing the underlying complexity of device coordination and packet routing between units

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4147136B1Packet processing with hardware offload units
Publication Date: 2025.10.29 VMWARE INC
  • EP4147136B1 patent drawingFigure 1
  • EP4147136B1 patent drawingFigure 2
  • EP4147136B1 patent drawingFigure 3

AI summary

Some embodiments of the invention provide a method for configuring multiple hardware offload units of a host computer to perform operations on packets associated with machines (e.g., virtual machines or containers) executing on the host computer and to pass the packets between each other efficiently. For instance, in some embodiments, the method configures a program executing on the host computer to identify a first hardware offload unit that has to perform a first operation on a packet associated with a particular machine and to provide the packet to the first hardware offload unit. The packet in some embodiments is a packet that the particular machine has sent to a destination machine on the network, or is a packet received from a source machine through a network and destined to the particular machine.