Microservice Training System for Dynamic Resource Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared cluster environments, training deep neural networks (DNNs) is challenging due to limited resources and the difficulty in efficiently managing and scheduling resources using the microservice execution method, which is typically suited for serverless systems but not optimized for long-running tasks like DNN training.

Innovation Solution

A training system that partitions a DNN training job into microservices and schedules them across multiple logical workers, dynamically allocating processing units based on availability, allowing for flexible resource utilization and efficient scheduling, even with fewer resources than required, by using a job proxy and scheduler to manage and allocate resources effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a shared cluster environment is used to execute DNN training jobs, then resource utilization is improved, but resource allocation efficiency deteriorates due to limited resources and difficulty in managing long-running tasks

Engineering Contradiction:
Improveresource utilizationVSAvoidresource allocation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The training job is divided into multiple microservices, each representing a independent processing unit that can be scheduled separately. This segmentation allows the scheduler to allocate limited processing units more flexibly across multiple users and jobs, improving resource allocation efficiency while maintaining high resource utilization in the shared cluster environment

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically schedules microservices to processing units based on real-time availability status. When processing units become available, pending microservices are automatically scheduled and executed. This dynamic approach allows the system to adapt to changing resource conditions, improving both resource utilization and allocation efficiency

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If microservice execution method is used for DNN training, then resource flexibility is improved, but scheduling complexity increases due to the need to manage multiple logical workers and their microservices

Engineering Contradiction:
Improveresource flexibilityVSAvoidscheduling complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The scheduler acts as an intermediary between logical workers and processing units. It receives scheduling requests from logical workers, determines availability of processing units, and allocates resources accordingly. This intermediary layer simplifies the overall scheduling complexity by centralizing the decision-making process while maintaining resource flexibility

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The scheduler is designed to handle multiple types of scheduling scenarios universally - it can schedule microservices from different logical workers, handle various availability statuses, and manage both sequential and parallel execution. This universal scheduling mechanism reduces complexity by providing a single, unified approach to resource management

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If the number of available processing units is less than the number of logical workers, then resource utilization is improved, but training performance deteriorates due to sequential scheduling requirements

Engineering Contradiction:
Improveresource utilizationVSAvoidtraining performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

By segmenting the training job into microservices, the system can efficiently pack multiple microservices into available processing units. Even with fewer processing units than logical workers, the segmented microservices can be scheduled to maximize utilization of available resources while maintaining acceptable training performance through phased execution

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240220794A1Training systems and operating method thereof
Publication Date: 2024.07.04 UNIST (ULSAN NAT INST OF SCI & TECH)
  • US20240220794A1 patent drawing
  • US20240220794A1 patent drawing
  • US20240220794A1 patent drawing

AI summary

Provided are a training system and an operating method thereof. The training system includes a job proxy configured to partition a training job corresponding to a neural network model into a plurality of microservices respectively executed by a plurality of logical workers, and a scheduler configured to schedule the plurality of microservices for a plurality of processing units, respectively, wherein the plurality of microservices includes a plurality of first microservices executed by a first logical worker among the plurality of logical workers and a plurality of second microservices executed by a second logical worker among the plurality of logical workers, and the scheduler is configured to schedule the plurality of first microservices and the plurality of second microservices to any one processing unit among the plurality of processing units based on an availability status of the plurality of processing units.