Dynamic Scheduling Algorithm for Distributed Deep Learning Training Jobs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current deep learning training systems face inefficiencies in resource utilization due to the lack of effective dynamic scheduling in multi-server environments, particularly in ring architectures, leading to suboptimal performance and longer compute times.

Innovation Solution

Adaptation of dynamic scheduling algorithms to ring architectures using a doubling heuristic, which iteratively assigns additional processing units to jobs based on time improvement calculations, optimizing resource allocation and job completion times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static resource allocation is used in deep learning training, then system simplicity is maintained, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation by continuously monitoring training job progress, resource availability, and performance metrics to adjust GPU assignments in real-time. The scheduler transitions from static to dynamic allocation, allowing resources to be reallocated based on current system state and job priorities, thereby improving resource utilization without requiring overly complex infrastructure

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduling system incorporates feedback mechanisms that monitor training job performance, resource usage patterns, and completion rates. This feedback is used to continuously optimize resource allocation decisions, enabling the system to adapt to changing conditions and improve efficiency while maintaining manageable complexity through data-driven decisions

Inventive Principle:
Principle #23Feedback

2Speed

If more GPUs are allocated to a training job, then training speed is improved, but resource availability for other jobs deteriorates

Engineering Contradiction:
Improvetraining speedVSAvoidresource availability for multiple jobs
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts GPU allocation based on real-time monitoring of training job progress and resource availability. When jobs are completed or paused, previously allocated GPUs become available for reallocation to other waiting jobs, enabling the system to optimize training speed for active jobs while maintaining flexibility for multiple concurrent workloads

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduler changes the parameter of GPU allocation dynamically based on job priority, progress, and availability. By adjusting the number of GPUs assigned to each job according to changing conditions, the system achieves high training speeds for priority jobs while preserving resource availability for other tasks through flexible parameter modification

Inventive Principle:
Principle #35Parameter changes

3Productivity

If dynamic scheduling is implemented, then resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduler complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling system operates autonomously by automatically monitoring job progress, detecting resource availability changes, and reallocating GPUs without manual intervention. This self-service capability improves resource utilization while keeping the control logic centralized and manageable, avoiding the need for complex manual scheduling mechanisms

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from job monitoring and resource tracking to automatically make scheduling decisions. By basing allocations on actual system state and performance data rather than static rules, the system achieves high resource utilization with relatively simple decision logic driven by observable metrics

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11693706B2System and method for dynamic scheduling of distributed deep learning training jobs
Publication Date: 2023.07.04 SAMSUNG ELECTRONICS CO LTD
  • US11693706B2 patent drawing
  • US11693706B2 patent drawing
  • US11693706B2 patent drawing

AI summary

A scheduling algorithm for scheduling training of deep neural network (DNN) weights on processing units identifies a next job to provisionally assign a processing unit (PU) based on a doubling heuristic. The doubling heuristic makes use of an estimated number of training sets needed to complete training of weights for a given job and/or a training speed function which indicates how fast the weights are converging. The scheduling algorithm solves a problem of efficiently assigning PUs when multiple DNN weight data structures must be trained efficiently. In some embodiments, the training of the weights uses a ring-based message passing architecture. In some embodiments, performance using a nested loop approach or nested loop fashion is provided. In inner iterations of the nested loop, PUs are scheduled and jobs are launched or re-started. In outer iterations of the nested loop, jobs are stopped, parameters are updated and the inner iteration is re-entered.