Elastic Resource Allocation for Deep Learning Jobs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Machine Learning as a Service (MLaaS) systems face inefficiencies in resource allocation for deep learning jobs, leading to idle computing resources and significant delays due to fixed node allocations, which hinder performance and user satisfaction.

Innovation Solution

An elastic training system dynamically allocates computing resources based on system status and job attributes, optimizing node counts over time to improve resource utilization, reduce queueing delays, and enhance user experience through a resource allocator that generates optimal node count sequences for each deep learning job.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed number of nodes is allocated to each deep learning job, then resource allocation is simple and predictable, but computing resources remain idle and training efficiency decreases

Engineering Contradiction:
Improvetraining efficiencyVSAvoididle computing resources
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the number of nodes allocated to each deep learning job based on real-time system status and job attributes. Instead of fixed allocation, the resource allocator continuously optimizes node counts during training execution, allowing the system to adapt to changing workloads and available resources, thereby eliminating idle resources while maintaining training efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of node allocation from a static fixed value to a dynamic variable that adjusts based on system conditions. The resource allocator modifies node counts as a parameter during job execution, transforming the allocation strategy from rigid to flexible, which resolves the contradiction between simplicity and resource utilization.

Inventive Principle:
Principle #35Parameter changes

2Speed

If more nodes are allocated to deep learning jobs, then training speed increases, but queueing delays increase for other jobs

Engineering Contradiction:
Improvetraining speedVSAvoidqueueing delays
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The resource allocator implements a feedback mechanism that continuously monitors system status, job progress, and resource utilization. Based on this feedback, the system dynamically adjusts node allocation to balance training speed with queueing delays, ensuring optimal resource distribution across multiple jobs rather than prioritizing single-job speed at the expense of overall system throughput.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system uses dynamic node allocation where the number of nodes assigned to each job changes over time based on real-time conditions. This dynamic approach allows the system to accelerate training when resources are available while automatically reducing allocation to minimize queueing delays for other jobs, resolving the speed-delay tradeoff.

Inventive Principle:
Principle #15Dynamics

3Productivity

If elastic resource allocation is implemented, then resource utilization and training efficiency improve, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidallocation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The resource allocator operates autonomously, automatically monitoring system status and job attributes to make allocation decisions without requiring complex external control mechanisms. The system serves itself by dynamically adjusting node counts based on predefined criteria and real-time data, achieving high resource utilization while managing complexity through self-management rather than external orchestration.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240086249A1System, method, and medium for elastic allocation of resources for deep learning jobs
Publication Date: 2024.03.14 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US20240086249A1 patent drawing
  • US20240086249A1 patent drawing
  • US20240086249A1 patent drawing

AI summary

Systems, methods, and processor-readable media for elastic allocation of resources for deep learning jobs are described. A machine-learning-as-a-service (MLaaS) of a cloud computing system includes an elastic training module which includes resource allocator for allocating resources to training jobs that optimizes overall estimated time to completion (ETC) for all training jobs received by the system and uses node-based resource allocation. The elastic training module may realize a combination of high resource utilization, short training times, and low queueing delay relative to existing approaches, thereby potentially enabling the realization of higher profits for a cloud computing system which provides MLaaS to users (i.e. customers). An improved user interface is described, enabling users to specify a range of resources to elastically allocate to the user's training job, and/or informing users of training time saved through the use of elastic resource allocation.