Network Device Offloading Multi-Task Operations to Host CPU

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In advanced computing environments like HPC, the host CPU is burdened with translating and executing collective operations, leading to reduced bandwidth and inefficiency due to the need to orchestrate multiple tasks and dependencies, which can be alleviated by offloading these operations to a network adapter.

Innovation Solution

A network device with processing circuitry that receives notifications from the host processor to execute multiple tasks with specified dependencies, generating work requests and scheduling their execution to comply with these dependencies, thereby offloading the burden from the host CPU and enabling asynchronous operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the host CPU orchestrates and executes multi-task operations directly, then execution control and dependency management are maintained, but the host CPU bandwidth is reduced and computing efficiency deteriorates

Engineering Contradiction:
Improvecomputing efficiencyVSAvoidhost CPU burden
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the multi-task operation orchestration function from the host CPU and relocates it to a network device. The host CPU sends a notification containing operation parameters and dependency information to the network device, which then independently determines the execution schedule and carries out the tasks. This extraction relieves the host CPU of the burden of orchestrating complex multi-task operations while maintaining execution control through the notification mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The network device acts as an intermediary between the host CPU and the actual task execution. It receives notifications from the host CPU, processes the operation parameters and dependency information, determines the execution schedule, and manages task execution. This intermediary role allows the host CPU to offload complex orchestration while the network device handles the detailed scheduling and execution management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the host CPU manages execution dependencies and schedules tasks, then correct operation execution is ensured, but the host CPU becomes a bottleneck reducing overall system throughput

Engineering Contradiction:
Improvesystem throughputVSAvoidhost CPU availability
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The scheduling and dependency management functions are extracted from the host CPU and transferred to the network device. The host CPU only needs to send the initial notification with operation parameters, after which the network device independently manages the execution schedule and task coordination. This extraction eliminates the host CPU as a bottleneck in the task execution pipeline.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The network device performs self-service by autonomously determining the execution schedule and managing task dependencies without continuous host CPU intervention. Once the notification is received, the network device independently processes the operation parameters, schedules tasks according to dependencies, and executes them sequentially, freeing the host CPU for other computing tasks.

Inventive Principle:
Principle #25Self-service

3Productivity

If multiple tasks are executed with complex dependencies on the host CPU, then execution accuracy is maintained, but the orchestration overhead increases and efficiency decreases

Engineering Contradiction:
Improveoperation execution efficiencyVSAvoidorchestration overhead
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The orchestration overhead is extracted from the host CPU by transferring the scheduling and dependency management responsibilities to the network device. The host CPU's role is simplified to sending a notification with operation parameters, while the network device handles the complex task of determining execution schedules and managing task dependencies, thereby reducing orchestration overhead significantly.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The network device serves as an intermediary that handles the complex orchestration of multi-task operations. It receives the notification from the host CPU, processes the dependency information, determines the execution schedule, and manages task execution. This intermediary approach maintains execution accuracy while reducing the orchestration burden on the host CPU.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11880711B2Offloading execution of a multi-task parameter-dependent operation to a network device
Publication Date: 2024.01.23 MELLANOX TECHNOLOGIES LTD(IL)
  • US11880711B2 patent drawing
  • US11880711B2 patent drawing
  • US11880711B2 patent drawing

AI summary

A processing device includes an interface and one or more processing circuits. The interface is to connect to a host processor. The one or more processing circuits are to receive from the host processor, via the interface, a notification specifying an operation for execution by the processing device, the operation including (i) multiple tasks that are executable by the network device, and (ii) execution dependencies among the tasks, in response to the notification, to determine a schedule for executing the tasks, the schedule complying with the execution dependencies, and to execute the operation by executing the tasks of the operation in accordance with the schedule.