GPUaaS Latency Reduction via Local State Query Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The current GPUaaS architecture experiences increased execution latency due to its command-driven manner, which differs from local GPU execution, leading to inefficient function utilization and high costs, especially under poor network conditions.

Innovation Solution

Implementing a data-driven approach within the GPUaaS architecture to track the execution pipeline and synchronize commands and data only when necessary, reducing unnecessary network transmissions and load, and allowing asynchronous operations to decrease latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a command-driven manner is used in GPUaaS architecture, then the GPU can be provided as a service with improved utilization, but the execution latency is increased compared to local GPU execution

Engineering Contradiction:
ImproveGPU utilizationVSAvoidexecution latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-allocates GPU resources and prepares execution environments in advance before tasks are submitted. By pre-configuring the GPUaaS infrastructure and maintaining ready-state computational resources, the system reduces the time required to start task execution while still providing centralized GPU access, thus resolving the contradiction between improved utilization and increased latency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all requests are forwarded to the executing machine for processing, then accurate execution state information can be obtained, but network transmission load increases especially under poor network conditions

Engineering Contradiction:
Improveexecution state accuracyVSAvoidnetwork transmission load
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts and handles query requests locally at the GPUaaS management layer without forwarding them to the executing machine. By separating query processing from execution processing, the system maintains accurate execution state information through local tracking while significantly reducing network transmission load, especially for frequent status check requests.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system introduces an intermediary management layer that acts as a mediator between the client and the executing machine. This intermediary maintains local copies of execution state information and handles queries locally, reducing the need for direct communication between clients and executing machines, thereby reducing network load while maintaining information accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If synchronous processing is used for GPU tasks in GPUaaS, then task execution order is maintained, but the latency is increased due to network transmission

Engineering Contradiction:
Improvetask execution orderVSAvoidlatency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system implements dynamic processing modes that can adaptively switch between synchronous and asynchronous operations based on task characteristics and network conditions. By making the processing mode flexible rather than fixed, the system maintains execution order when necessary while allowing asynchronous processing to reduce latency when appropriate, thus resolving the contradiction between stability and speed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10942770B2Method, device and computer readable medium for analyzing and responding to a request corresponding to a GPU task
Publication Date: 2021.03.09 DELL PROD LP
  • US10942770B2 patent drawing
  • US10942770B2 patent drawing
  • US10942770B2 patent drawing

AI summary

A client side method for processing a GPU task comprises: receiving a request for the GPU task from an application; determining whether the request relates to a query about an execution state of the GPU task; and in response to the request relating to the query, providing a positive acknowledgement for the query to the application, without forwarding the request to a machine that executes the GPU task. A server side method for processing a GPU task comprises: receiving a request for the GPU task from a machine, the request being irrelevant to a query about an execution state of the GPU task; determining whether processing of the request depends on a processing of a previous request; and in response to the processing of the request depending on the processing of the previous request, suspending the processing of the request until the processing of the previous request is completed.