Virtualized Compute Accelerator Kernel Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Client devices with GPUs are underutilized due to bandwidth and latency constraints in cloud computing environments, leading to inefficient offloading of computational tasks to servers in datacenters.

Innovation Solution

Implementing a virtualized compute accelerator system that uses static analysis to identify dependencies between compute kernels and optimally assign them to available accelerators, both in datacenters and on edge devices, to maximize parallel execution and minimize latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If computational tasks are offloaded to servers in datacenters, then processing power and computational capability are improved, but bandwidth consumption increases and latency is introduced

Engineering Contradiction:
Improveprocessing powerVSAvoidbandwidth consumption
Core Design Contradiction:
PowerVSLoss of energy

Solution Approach 1:

The system segments computational tasks into compute kernels and divides them into different sets based on dependency relationships. Independent compute kernels are assigned to edge device GPUs for local execution, while dependent kernels are assigned to datacenter servers. This segmentation allows computation to be distributed between edge and cloud, reducing bandwidth consumption by keeping independent tasks local while maintaining access to datacenter processing power when needed.

Inventive Principle:
Principle #1Segmentation

2Power

If computational tasks are offloaded to servers in datacenters, then processing capability is improved, but latency increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidlatency
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The system performs static analysis to identify dependency relationships between compute kernels in advance, before execution. This preliminary analysis allows the system to pre-determine which kernels can be executed independently at the edge and which require datacenter processing, optimizing the execution plan beforehand to minimize latency during actual runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By segmenting compute kernels into independent and dependent sets based on static dependency analysis, the system enables parallel execution of independent kernels at the edge device without waiting for datacenter processing, thereby reducing overall latency while still utilizing datacenter processing capability for kernels that require it.

Inventive Principle:
Principle #1Segmentation

3Productivity

If client device GPUs are utilized for computation, then processing efficiency is improved, but resource coordination and task assignment complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidresource coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces a management layer with a static analysis engine as an intermediary between the application and the distributed GPU resources. This intermediary analyzes compute kernel dependencies, determines execution sets, and assigns kernels to appropriate devices. By centralizing this coordination logic, the system simplifies resource management while enabling efficient utilization of both edge and datacenter GPUs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The management layer receives information about available GPU resources from both edge devices and datacenter servers, uses static analysis to determine optimal assignment, and assigns compute kernels accordingly. This feedback loop allows the system to adapt to available resources while maintaining efficient utilization through informed decision-making about where to execute each compute kernel.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11429450B2Aggregated virtualized compute accelerators for assignment of compute kernels
Publication Date: 2022.08.30 VMWARE INC
  • US11429450B2 patent drawing
  • US11429450B2 patent drawing
  • US11429450B2 patent drawing

AI summary

Disclosed are various embodiments for assigning compute kernels to compute accelerators that form an aggregated virtualized compute accelerator. A directed, acyclic graph (DAG) representing a workload assigned to a virtualized compute accelerator is generated. The workload can include a plurality of compute kernels and the DAG comprising a plurality of nodes and a plurality of edges, each of the nodes representing a respective compute kernel, each edge representing a dependency between a respective pair of the compute kernels, and the virtualized compute accelerator representing a logical interface for a plurality of compute accelerators. The DAG can be analyzed to identify sets of dependent compute kernels, each set of dependent compute kernels being independent of the other sets of dependent compute kernels and execution of at least one compute kernel in a set of dependent compute kernels depending on a previous execution of another computer kernel in the set of dependent compute kernels. Then, each set of dependent compute kernels can be assigned to a respective one of the plurality of compute accelerators.