SmartNIC Data Allocator for Distributed ML Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed machine learning workloads face performance issues due to high communication costs, including significant processing resources, long data movement queues, low accelerator resource utilization, and improper resource allocation in heterogeneous systems.

Innovation Solution

Implementing a SmartNIC with additional processing resources to offload data placement decisions, using a data allocator that parses network data units, executes bin packing algorithms, and monitors service rates to optimize data placement directly into accelerator memory, thereby reducing CPU burden and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is moved from network to accelerator memory through CPU processing, then data can be placed in accelerator memory, but CPU processing resources are consumed and data movement queues become long

Engineering Contradiction:
Improvedata placement efficiencyVSAvoidCPU processing burden
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The SmartNIC acts as an intermediary device between the network interface and accelerator memory. It receives network data units, processes them, and places data directly into accelerator memory without requiring CPU intervention. This mediator approach transfers the data placement task from the CPU to the SmartNIC, reducing CPU processing burden while maintaining efficient data placement.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The SmartNIC performs self-service by autonomously processing network data units and making data placement decisions without CPU involvement. The data allocator within the SmartNIC independently executes bin packing algorithms and manages data placement operations, enabling the system to serve itself rather than relying on CPU resources for these tasks.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If coarse-grained allocation of execution tasks is used, then task management is simplified, but accelerator resource utilization becomes low

Engineering Contradiction:
Improvetask allocation simplicityVSAvoidaccelerator resource utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system changes the granularity parameter of task allocation from coarse-grained to fine-grained. The data allocator processes network data units individually and places them into specific accelerator memory locations based on bin packing algorithms, enabling fine-grained control of accelerator resources. This parameter change allows for optimized resource utilization while maintaining operational simplicity through automated decision-making.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The data allocator monitors service rates of accelerators and uses this feedback information to make intelligent data placement decisions. By continuously observing accelerator performance and adjusting data placement strategies accordingly, the system achieves high resource utilization without complex manual task management, as the feedback loop automatically optimizes allocation.

Inventive Principle:
Principle #23Feedback

3Reliability

If data is processed before moving to accelerator, then data preparation is complete, but processing resources are consumed and time is lost

Engineering Contradiction:
Improvedata preparation completenessVSAvoiddata processing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The SmartNIC performs preliminary action by processing and preparing data immediately upon receipt from the network, before the data needs to be used by the accelerator. The data allocator prepares data in advance by executing bin packing algorithms and placing data into appropriate accelerator memory locations, eliminating delays associated with later data preparation steps.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The SmartNIC maintains continuous operation by constantly receiving, processing, and placing data into accelerator memory without interruption. The data allocator continuously monitors network traffic and accelerator status, ensuring that data preparation and placement operations proceed without idle time or unnecessary delays, thus eliminating loss of time while maintaining complete data preparation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12277080B2Smart network interface card control plane for distributed machine learning workloads
Publication Date: 2025.04.15 HEWLETT PACKARD ENTERPRISE DEV LP
  • US12277080B2 patent drawing
  • US12277080B2 patent drawing
  • US12277080B2 patent drawing

AI summary

In certain embodiments, a method includes receiving, at an interface of a Smart network interface card (SmartNIC) of a computing device, via a network, a network data unit; processing, by a data allocator of a SmartNIC subsystem of the SmartNIC, the network data unit to make a determination that data included in the network data unit is intended for processing by an accelerator of the computing device, wherein the accelerator is configured to execute a machine learning algorithm; storing, by the data allocator and based on the determination, the data in a local buffer of the SmartNIC subsystem; identifying, by the data allocator, a memory resource associated with the accelerator; and transferring the data from the local buffer to the memory resource.