Auto-Tiered Storage for ML Training Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual object storage systems face inefficiencies in data access and processing for intensive applications like machine learning, due to high latency and overhead, which underutilizes GPU computing capacity and lacks effective multi-tenancy and data management.

Innovation Solution

Implementing an auto-tiering method that uses a 'hot' and 'cold' local storage approach, where a server fetches data from a virtual object storage service, stores it on local devices, and synchronizes modifications to optimize data access, allowing high-performance storage for frequently accessed data and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data objects are retrieved from virtual object storage service via API, then data manageability and multi-tenancy are provided, but data access latency is high and processing time is increased

Engineering Contradiction:
Improvedata manageabilityVSAvoiddata access latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by caching data objects from the virtual object storage service into local storage before they are actually needed for processing. This advance preparation eliminates the latency of retrieving data from remote storage at the moment of processing, while the caching mechanism maintains data manageability and multi-tenancy through proper cache invalidation and synchronization protocols.

Inventive Principle:
Principle #10Preliminary action

2Speed

If data is stored on high-performance storage devices for low-latency access, then data access speed is improved, but storage cost increases

Engineering Contradiction:
Improvedata access speedVSAvoidstorage cost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system applies local quality by differentiating storage locations based on data access patterns. Frequently accessed data objects are cached in high-performance local storage to achieve low-latency access, while less frequently accessed data remains in the virtual object storage service. This selective approach ensures that expensive high-performance storage is used only where necessary, optimizing the balance between access speed and storage cost.

Inventive Principle:
Principle #3Local quality

3Productivity

If GPU computing capacity is maximized, then processing throughput is improved, but data transfer overhead from CPU increases

Engineering Contradiction:
Improveprocessing throughputVSAvoiddata transfer overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system introduces a caching layer as an intermediary between the virtual object storage service and the processing units. This cache stores data objects locally, reducing the frequency and volume of data transfers between CPU and GPU. By having data readily available in local storage, the system minimizes transfer overhead and energy consumption while maintaining high GPU utilization for actual processing tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20230047919A1Systems and methods for auto-tiered data storage for data intensive applications
Publication Date: 2023.02.16 OVH
  • US20230047919A1 patent drawing
  • US20230047919A1 patent drawing
  • US20230047919A1 patent drawing

AI summary

Method and system for training a machine learning model based on a training dataset formed by data objects distributed across a virtual object storage service. The method comprises fetching from the virtual object storage service, the training dataset; copying the fetched training dataset on a first local storage device and maintaining a list of modifications executed on the training dataset that occurred on the virtual object storage service. The method comprises, upon receiving a request to initiate training of the machine learning model, generating a synchronized training dataset mirroring the training dataset stored in the virtual object storage service; storing the synchronized training dataset in a second local storage device; and fetching training data from the synchronized training dataset stored in the second local storage device as the training of the machine learning model is executed.