ML Flow Scheduling via Execution Graph Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current machine learning implementations lack optimal execution on distributed platforms due to blind assumptions about program execution, leading to suboptimal performance and resource contention, particularly in long-running processes where opportunities for optimization are overlooked.

Innovation Solution

The proposed system utilizes an execution graph to determine the parallel execution environment, optimizing resource allocation and scheduling across multiple systems, processors, and memory mapping by analyzing execution patterns and hardware constraints to minimize CPU overlap and cache misses, and reconfiguring layouts to achieve maximal resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If blind assumptions about program execution are made for distributed computation, then generalization is achieved, but optimal execution performance is lost

Engineering Contradiction:
ImprovegeneralizationVSAvoidexecution performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary analysis of machine learning workloads to identify repetitive operations and data access patterns before execution. This allows the scheduler to pre-optimize task allocation and resource assignment, transforming blind generalization into informed decision-making that maintains both adaptability and performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms that monitor actual execution performance and use this information to refine scheduling decisions. By continuously learning from execution outcomes, the system adapts its resource allocation strategies to achieve optimal performance while maintaining generalization across different workloads

Inventive Principle:
Principle #23Feedback

2Ease of operation

If operating system scheduling is used to manage resource contention, then basic resource management is achieved, but maximal optimization is not realized

Engineering Contradiction:
Improveresource managementVSAvoidoptimization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system introduces an intermediary layer between the operating system scheduler and the machine learning workload. This intermediary analyzes workload characteristics and provides optimized scheduling hints to the OS, enabling maximal optimization while maintaining the ease of operation provided by standard OS scheduling mechanisms

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes scheduling parameters based on workload characteristics, such as task priority, resource requirements, and execution patterns. By adjusting these parameters in real-time, the system achieves maximal optimization beyond what fixed OS scheduling can provide

Inventive Principle:
Principle #35Parameter changes

3Productivity

If optimization overhead is incurred at the beginning of long-running processes, then performance improvement is achieved, but the overhead time is currently ignored

Engineering Contradiction:
Improveperformance improvementVSAvoidoptimization overhead time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs optimization actions at the beginning of long-running machine learning processes by analyzing workload patterns and pre-configuring resource allocation. This preliminary optimization reduces execution time throughout the remainder of the process, making the initial overhead time worthwhile

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11755370B2System and method of scheduling and computing resource allocation optimization of machine learning flows
Publication Date: 2023.09.12 ATLANTIC TECHNICAL ORGANIZATION LLC
  • US11755370B2 patent drawing
  • US11755370B2 patent drawing
  • US11755370B2 patent drawing

AI summary

A distributed machine learning optimization flow processing engine is proposed. The processing engine takes into account the structure of the programming to assign proper allocation within a distributed computing infrastructure. The processing engine also takes into account availability and loads of the different computing elements within the distributed infrastructure to maximize their utilization according to the software being executed.