Machine Learning Execution Graph for Heterogeneous Cloud Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for parallel execution of complex machine learning tasks in heterogeneous cloud environments face challenges due to assumptions and constraints that are difficult to combine, particularly in configuring systems across multi-threaded, multi-core, GPU, and embedded systems, leading to inefficient data processing and execution optimization.

Innovation Solution

A system that maps data flow elements to underlying hardware, optimizing execution by analyzing complex data flows and considering hardware constraints, allowing for visualization of execution flow and server configuration, and enabling user input for additional considerations to achieve optimal processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If traditional compiler-level parallelization is used in heterogeneous cloud environments, then programming can be implemented at the programming language level, but assumptions and constraints become difficult to parallelize across multi-threaded, multi-core, GPU, and embedded systems

Engineering Contradiction:
Improveprogramming implementationVSAvoidparallelization capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent introduces an execution graph as an intermediary representation between the program and heterogeneous execution environments. This execution graph serves as a mediator that captures data dependencies and enables platform-specific optimizations without requiring changes to the original program code, thus resolving the contradiction between ease of programming and adaptability to different parallelization environments

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the program into isolated modules with identifiable data flow operations. Each module is represented as a node in the execution graph, allowing independent analysis and optimization. This segmentation enables the system to handle different heterogeneous environments (multi-threaded, multi-core, GPU, embedded) by applying appropriate optimizations to each segment without affecting the entire program

Inventive Principle:
Principle #1Segmentation

2Ease of manufacture

If multiple assumptions are made independently for parallel execution, then each constraint can be implemented separately, but mixing them into a unit does not translate into the sum of individual implementations

Engineering Contradiction:
Improveimplementation simplicityVSAvoidexecution optimization
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent merges multiple independent assumptions and constraints into a unified execution graph representation. The execution graph combines data flow analysis, dependency tracking, and hardware constraint modeling into a single coherent structure, enabling the system to achieve execution optimization that is greater than the sum of individual implementations by capturing interactions between different constraints

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If modules are isolated and categorized with restrained inputs and outputs, then module interface can be normalized, but the architecture becomes less aware of particular internals of each module

Engineering Contradiction:
Improvemodule interface standardizationVSAvoidinternal architecture awareness
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies local quality by maintaining normalized module interfaces while preserving internal architecture awareness through the execution graph. Each node in the execution graph represents a module with standardized inputs and outputs, but the graph structure itself captures detailed information about data dependencies and internal operations, allowing the system to have both interface standardization and architectural awareness simultaneously

Inventive Principle:
Principle #3Local quality

4Extent of automation

If an underlying program controls movement of modules across heterogeneous environment, then module placement can be automated, but the program becomes coupled into the execution control logic

Engineering Contradiction:
Improvemodule placement automationVSAvoidprogram structure
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent extracts execution control logic from the underlying program by introducing a separate execution graph that captures all placement and scheduling decisions. This extraction allows the program to remain decoupled from execution control details while still enabling automated module placement across heterogeneous environments, as the execution graph contains all necessary information for optimization without being part of the program itself

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10817335B2System and method of schedule validation and optimization of machine learning flows for cloud computing
Publication Date: 2020.10.27 ATLANTIC TECHNICAL ORGANIZATION LLC
  • US10817335B2 patent drawing
  • US10817335B2 patent drawing
  • US10817335B2 patent drawing

AI summary

A distributed machine learning engine is proposed that allows for optimization and parallel execution of the machine learning tasks. The system allows for a graphical representation of the underlying parallel execution and allows the user the ability to select additional execution configurations that will allow the system to either take advantage of processing capability or to limit the available computing power. The engine is able to run from a single machine to a heterogeneous cloud of computing devices. The engine is capable of being aware of the machine learning task, its parallel execution constraints and the underlying heterogeneous infrastructure to allow for optimal execution based on speed or reduced execution to comply with other constraints such as allowable time, costs, or other miscellaneous parameters.