Computational Flow Graph Scheduling via Integer Linear Programming
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
4Device complexity
If inference models use storage media with limited bandwidth, then hardware cost is reduced, but data transmission speed becomes a performance bottleneck
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.
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.
Data Source
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.


