Elastic ML Resource Management via Micro-Task Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current machine learning software in distributed computing environments lacks elasticity, leading to performance issues and failures due to inability to adapt to changing resource availability, causing entire programs to fail or recover slowly from machine failures.

Innovation Solution

A system with an expressive programming model that supports stateful and dependency-aware workers, allowing for elastic resource management by partitioning input data and calculations, using a parameter server for global model parameters, and employing cooperative multitasking and cache coherence protocols to manage resources efficiently and recover quickly from failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current machine learning software is used in distributed computing environments, then high performance can be achieved through leveraging specific ML program properties, but the system lacks elasticity and cannot adapt to changing resource availability

Engineering Contradiction:
ImproveperformanceVSAvoidelasticity
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts the number of worker instances based on resource availability. Workers can be added or removed from the cluster during execution, allowing the system to adapt to changing resources while maintaining ML program performance through coordinated state management and task redistribution

Inventive Principle:
Principle #15Dynamics

2Speed

If additional computation resources are integrated into the distributed computing system, then processing speed can be increased, but resource allocation fairness and efficiency become challenging to manage

Engineering Contradiction:
Improveprocessing speedVSAvoidresource allocation management
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where the scheduler continuously monitors resource availability, job progress, and cluster state. Based on this feedback, the scheduler dynamically adjusts resource allocation to maintain fairness among jobs while efficiently utilizing available resources, preventing both resource hoarding and idle capacity

Inventive Principle:
Principle #23Feedback

3Reliability

If the system recovers from machine failure by restarting the entire ML program, then reliability is maintained, but recovery time increases significantly

Engineering Contradiction:
Improvefault toleranceVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The ML program is segmented into independent worker instances that can fail and recover independently. When a machine failure occurs, only the affected worker instances need to be restarted and their state restored, while other workers continue executing. This segmentation enables selective recovery rather than full program restart, dramatically reducing recovery time while maintaining reliability

Inventive Principle:
Principle #1Segmentation

4Reliability

If resources are held for long periods to ensure job completion, then job reliability improves, but other jobs may suffer from resource starvation

Engineering Contradiction:
Improvejob completion guaranteeVSAvoidcluster-wide efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements periodic resource reevaluation where the scheduler periodically checks job progress, resource usage, and cluster state. Based on this periodic assessment, resources can be gracefully reallocated from jobs that have completed or are stalled to new urgent jobs, ensuring both job completion reliability and cluster-wide efficiency through controlled resource turnover

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10649806B2Elastic management of machine learning computing
Publication Date: 2020.05.12 PETUUM INC
  • US10649806B2 patent drawing
  • US10649806B2 patent drawing
  • US10649806B2 patent drawing

AI summary

A computer system implemented a method for elastic resource management for executing a machine learning (ML) program. The system is configured to create a set of logical executors, assign them across a set of networked physical computation units of a distributed computing system, partition and distribute input data and Work Tasks across the set of logical executors, assign them across the set of networked physical computation units, where the Work Tasks are partitioned into short units of computation (micro-tasks), each calculates a partial update to the ML program's model parameters and each last for less than one second; create a set of logical servers (LSes); partition and distribute globally shared model parameters of the ML program across the set of logical servers; execute partitioned Work Tasks according to a bounded asynchronous parallel standard, where a current Work Task is allowed to execute with stale model parameters without having all the current calculation updates from Work Tasks it depend on, provided the staleness of the model parameters is within a predefined limit.