Data-Aware Storage Tiering for Deep Learning IO Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep Neural Network (DNN) training with large datasets faces significant IO bottlenecks due to inefficient use of multi-tier storage systems, where conventional training methods reload data from a capacity tier for each epoch, leading to stalls and suboptimal performance.

Innovation Solution

The proposed solution involves splitting an epoch into multiple mini-epochs and prefetching the next mini-epoch while training, using a repeating factor to optimize IO bandwidth and model convergence, with adaptive adjustments based on model convergence feedback to minimize stalls and maintain training efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If training data is loaded randomly from the entire dataset on every training iteration, then model convergence is achieved, but IO stalls occur due to data not being cached in the performance tier

Engineering Contradiction:
Improvemodel convergenceVSAvoidIO stall time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by prefetching future training data into the performance tier storage before it is actually needed for training. The data manager identifies and loads data that will be required in upcoming training iterations, eliminating IO stalls by ensuring data is already cached and ready when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The training dataset is segmented into different portions stored across multiple storage tiers (performance tier and capacity tier). The data manager divides data access into frequent accesses from the performance tier for active training and less frequent accesses from the capacity tier, organizing data segments based on their access patterns and requirements.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the entire dataset is maintained on the capacity tier with large capacity, then storage capacity requirements are met, but read throughput is slow causing training inefficiency

Engineering Contradiction:
Improvestorage capacityVSAvoidread throughput
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

Different storage tiers are assigned different quality characteristics based on local requirements. The performance tier provides high-speed read access for actively training data, while the capacity tier provides large-capacity storage for the entire dataset. Each tier is optimized for its specific function, with the data manager intelligently distributing data across tiers based on access patterns.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The performance tier acts as an intermediary between the capacity tier and the training system. It buffers and caches data from the capacity tier, providing high-speed access to frequently used training data while the capacity tier maintains the complete dataset. This intermediary layer resolves the conflict between capacity and speed by decoupling storage from access.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If conventional training loads new training data from the entire dataset on every iteration, then data diversity is maintained, but IO bandwidth is not optimally utilized

Engineering Contradiction:
Improvedata diversityVSAvoidIO bandwidth utilization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The data manager implements feedback mechanisms by monitoring training progress, data access patterns, and storage system performance. Based on this feedback, it dynamically adjusts data prefetching strategies, identifies which data will be needed next, and optimizes IO bandwidth utilization. The system learns from past access patterns to improve future data loading efficiency while maintaining data diversity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20220327376A1Systems and methods for data-aware storage tiering for deep learning
Publication Date: 2022.10.13 HEWLETT PACKARD ENTERPRISE DEV LP
  • US20220327376A1 patent drawing
  • US20220327376A1 patent drawing
  • US20220327376A1 patent drawing

AI summary

Systems and methods are configured to split an epoch associated with a training dataset into a plurality of mini-epochs. A machine learning model can be trained with a mini-epoch of the plurality of mini-epochs. The mini-epoch can be, during the training, iterated for a number of times during the training. One or more metrics reflective of at least one of: a training loss, training accuracy, or validation accuracy of the machine learning model associated with the mini-epoch can be received. Whether to terminate iterations of the mini-epoch early before a number of iterations of the mini-epoch reaches the number of times based on the one or more metrics can be determined. The number of iterations can be a non-zero number.