Computational Flow Graph Scheduling via Integer Linear Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computational flow graph scheduling algorithms for deep learning models face challenges in data reuse and parallelism, particularly in inference scenarios where limited bandwidth storage media are used, leading to performance bottlenecks and inefficient resource utilization.

Innovation Solution

The method involves grouping original vertices to form a first computational flow graph, determining the number of computing units required for parallel processing, making copies of the flow graph, adding auxiliary vertices, constructing an integer linear programming problem, and solving it to obtain a scheduling scheme that optimizes data transfer and resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If vertex fusion is used to reduce data transfer time, then data transfer efficiency is improved, but the solution relies heavily on expert experience and is not applicable to all model structures

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidapplicability to all model structures
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates multiple copies of the computational flow graph (first copy, second copy, third copy) to handle different data batches in parallel. This copying approach allows the system to process multiple batches simultaneously without requiring expert manual fusion for each case, making the solution universally applicable to various model structures while maintaining high data transfer efficiency through automated scheduling.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces manual expert experience-based vertex fusion with an automated scheduling system that uses integer linear programming to generate optimal execution schedules. This substitution of mechanical manual processes with automated computational methods enables the system to adapt to any model structure automatically, improving both productivity and versatility.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Loss of energy

If multi-device allocation is used to improve computing utilization, then resource consumption is reduced, but computational parallelism during model execution cannot be improved

Engineering Contradiction:
Improveresource consumptionVSAvoidcomputational parallelism
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent segments the computational flow graph into multiple independent copies that can be processed in parallel across different devices. Each copy represents a separate data batch that can be executed simultaneously on different computing units, thereby improving computational parallelism while maintaining efficient resource utilization through the segmented structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension by creating multiple copies of the flow graph for different time steps (first copy for first batch, second copy for second batch, etc.). This allows computations to be performed in parallel across both spatial devices and temporal batches, significantly improving computational parallelism while managing resource consumption through coordinated scheduling.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of time

If vertex copy is used to reserve cache space, then data transfer time is reduced, but computational consumption of the entire model is increased

Engineering Contradiction:
Improvedata transfer timeVSAvoidcomputational consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent creates multiple copies of the computational flow graph to process different data batches in parallel, rather than copying vertices within a single graph. This approach reduces data transfer time by enabling simultaneous processing of multiple batches while avoiding the increased computational consumption that would result from duplicating vertices and their computations within a single model execution.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the model execution into multiple independent batches, each represented by a separate flow graph copy. This segmentation allows the system to process batches in parallel without duplicating computational operations within each batch, thereby reducing data transfer time while maintaining efficient computational consumption through shared model parameters across batches.

Inventive Principle:
Principle #1Segmentation

4Device complexity

If inference models use storage media with limited bandwidth, then hardware cost is reduced, but data transmission speed becomes a performance bottleneck

Engineering Contradiction:
Improvehardware costVSAvoiddata transmission speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent performs preliminary actions by pre-loading model parameters and frequently accessed data into high-speed cache memory before the actual inference computation begins. The scheduling system anticipates data access patterns and pre-fetches necessary data, thereby reducing the impact of limited bandwidth storage media during the critical computation phase and maintaining high data transmission effective speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces high-speed cache memory as an intermediary between the limited bandwidth storage media and the computing units. This intermediary layer stores frequently accessed data and model parameters, allowing the computing units to access data at high speed without being constrained by the slow storage media bandwidth, thereby resolving the bottleneck while maintaining cost-effective hardware architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240119110A1Method, apparatus, electronic device and computer-readablestorage medium for computational flow graph schedulingscheme generation
Publication Date: 2024.04.11 STREAM COMPUTING INC
  • US20240119110A1 patent drawing
  • US20240119110A1 patent drawing
  • US20240119110A1 patent drawing

AI summary

A method for generating a computation flow graph scheduling scheme includes grouping original vertexes in an original computation flow graph, so as to obtain first computation flow graphs; determining the number N of computing units required to process a single batch of computation data in parallel; copying N first computation flow graphs, so as to obtain second computation flow graphs; adding auxiliary vertexes to the second computation flow graphs, so as to obtain third computation flow graphs; constructing integer linear programming according to the third computation flow graphs; and solving the integer linear programming, so as to obtain a scheduling scheme for the third computation flow graphs. The method converts an original computation flow graph into third computation flow graphs and integer linear programming is constructed to obtain a scheduling scheme.