Distributed Pipeline Scheduling for Accelerator Input Starvation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computational bottlenecks occur in hardware accelerators due to starvation of input data, memory bottlenecks, and network congestion, exacerbated by the disparity in processing speeds between specialized hardware accelerators and general-purpose computing devices.

Innovation Solution

A distributed computing system is employed, where multiple general-purpose computing devices preprocess data and distribute it to hardware accelerators, using load-balancing techniques to optimize data throughput and alleviate memory bottlenecks, and dynamically reassign computing devices to maintain efficient hardware accelerator utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware accelerators process data at high speeds, then computational throughput is improved, but hardware accelerators experience starvation waiting for preprocessed input data

Engineering Contradiction:
Improvecomputational throughputVSAvoididle time waiting for input
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the data preprocessing function across multiple general-purpose computing devices instead of relying on a single device or the hardware accelerator itself. This segmentation allows parallel data generation and distribution, ensuring continuous data supply to the high-speed hardware accelerator and eliminating idle waiting time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

General-purpose computing devices perform preliminary data preprocessing actions before the hardware accelerator is ready to process data. By pre-generating and pre-processing data in advance and enqueueing it, the system ensures that when the hardware accelerator needs data, it is immediately available, eliminating starvation and maximizing computational throughput.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If more general-purpose computing devices are used for preprocessing, then data supply to hardware accelerators is improved, but system complexity increases

Engineering Contradiction:
Improvedata throughput to acceleratorVSAvoidnumber of computing devices
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary component (the distributed computing system with scheduling mechanisms) that manages the coordination between general-purpose computing devices and hardware accelerators. This intermediary handles device assignment, data distribution, and load balancing, allowing the system to scale data supply capacity without proportionally increasing operational complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically assigns and reassigns general-purpose computing devices to hardware accelerators based on real-time needs and availability. This dynamic allocation allows the system to optimize data throughput by matching computational demand with available resources, managing complexity through adaptive rather than static configuration.

Inventive Principle:
Principle #15Dynamics

3Power

If hardware accelerators are scaled up, then processing capability is improved, but cost increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidcost
Core Design Contradiction:
PowerVSQuantity of substance

Solution Approach 1:

Instead of relying on a single expensive high-performance hardware accelerator, the system segments the computational workload by using multiple general-purpose computing devices to perform preprocessing tasks. This segmentation allows the system to achieve high processing capability through coordinated effort of simpler, more cost-effective devices rather than requiring expensive specialized hardware.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

General-purpose computing devices are made multi-functional by using them both for data preprocessing and for executing computational tasks. This universality allows the system to maximize the utilization of computing resources, reducing the need for dedicated expensive hardware accelerators for all tasks and thereby reducing overall system cost while maintaining processing capability.

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

Data Source

PatentUS12585495B2Distributed computing pipeline processing
Publication Date: 2026.03.24 GOOGLE LLC
  • US12585495B2 patent drawing
  • US12585495B2 patent drawing
  • US12585495B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for processing computational graphs on distributed computing devices. One of the methods includes receiving a request to execute a processing pipeline (i) first operations that transform raw inputs into pre-processed inputs and (ii) second operations that operate on the pre-processed inputs; and in response: assigning the first operations to two or more of a plurality of computing devices, assigning the second operations to one or more hardware accelerators of a plurality of hardware accelerators, wherein each hardware accelerator is interconnected with the plurality of computing devices, and configured to (i) receive inputs from respective queues of the two or more computing devices assigned the first operations and (ii) perform the second operations on the received pre-processed inputs, and executing, in parallel, the processing pipeline on the two or more computing devices and the one or more hardware accelerators.