Reinforcement Learning Resource Allocation for Neural Network Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing resource allocation techniques for workloads are inefficient due to fixed resource allocation methods that fail to adapt to dynamic environments and SLA requirements, particularly in scenarios like deep neural network training, where long iteration times and high computational costs make traditional reinforcement learning approaches infeasible.

Innovation Solution

The method employs reinforcement learning agents, specifically Deep Q-Learning, to determine a dynamic resource allocation policy by simulating workload iterations, adjusting weights based on observed variables, and refining the allocation process to meet SLA metrics, using a domain model generated from training data to optimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional reinforcement learning approaches are used for resource allocation, then the system can adapt to dynamic environments, but the training time becomes excessively long and computational costs become unaffordable

Engineering Contradiction:
Improveadaptability to dynamic environmentsVSAvoidtraining time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent pre-computes and stores resource allocation policies for different workload states in advance, creating a lookup table that maps system states to optimal resource allocations. This preliminary action eliminates the need for real-time reinforcement learning training during actual workload execution, reducing training time from potentially hours to minimal preprocessing time while maintaining adaptability through the pre-computed policies.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the continuous resource allocation problem into discrete states and actions, creating a finite state space that can be efficiently pre-computed. By dividing the workload execution into distinct phases (compilation, training, evaluation) and defining discrete resource allocation levels, the system can pre-calculate optimal policies for each state combination, making the overall problem tractable while preserving adaptability.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If fixed resource allocation methods are used, then the system is simple to implement, but it cannot adapt to demand peaks and hardware malfunctions

Engineering Contradiction:
Improveimplementation complexityVSAvoidadaptability to disturbances
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements feedback mechanisms that monitor system state (resource utilization, workload progress, hardware status) and use this information to dynamically adjust resource allocation. The system continuously observes performance metrics and feeds this information back to the resource manager, which then modifies allocation decisions in real-time, enabling adaptation to demand peaks and hardware failures while maintaining manageable complexity through rule-based feedback loops.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent transitions from static fixed resource allocation to dynamic allocation that adjusts resource levels based on current system state and workload requirements. By making resource allocation flexible and state-dependent rather than fixed, the system can adapt to changing conditions such as demand peaks and hardware malfunctions while using manageable complexity through predefined adjustment rules and state-based decision logic.

Inventive Principle:
Principle #15Dynamics

3Reliability

If more resources are allocated to ensure SLA compliance, then service level agreements are met, but resource efficiency decreases

Engineering Contradiction:
ImproveSLA complianceVSAvoidresource efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent dynamically changes resource allocation parameters (CPU cores, memory, GPU units) based on the current workload state and progress through different execution phases. By adjusting these parameters in real-time rather than allocating maximum resources throughout, the system ensures SLA compliance when needed while reducing resource consumption during less demanding phases, thereby improving overall resource efficiency while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different resource allocation strategies to different phases of workload execution (compilation, training, evaluation) and different computational units. By optimizing resource allocation locally for each specific phase and unit rather than using a uniform allocation strategy globally, the system ensures SLA compliance for critical phases while minimizing resource waste in less critical areas, improving overall resource efficiency while maintaining service level agreements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11461145B2Building neural networks for resource allocation for iterative workloads using reinforcement learning
Publication Date: 2022.10.04 EMC IP HLDG CO LLC
  • US11461145B2 patent drawing
  • US11461145B2 patent drawing
  • US11461145B2 patent drawing

AI summary

Reinforcement learning agents for resource allocation for iterative workloads, such as training Deep Neural Networks, are configured. One method comprises obtaining a specification of an iterative workload comprising multiple states and a set of available actions for each state, and a domain model of the iterative workload relating allocated resources with service metrics; adjusting weights of a reinforcement learning agent by performing iteration steps for each simulated iteration of the iterative workload and using variables from the simulated iteration to refine the reinforcement learning agent; and determining a dynamic resource allocation policy for the iterative workload. The exemplary iteration steps comprise: (a) selecting an action for a current state, obtaining a reward for the selected action and selecting a next state based on the current state and/or the selected action; (b) updating a function that evaluates a quality of a plurality of state-action combinations; and (c) repeating steps (a) and (b) with a new allocation of resources.