Hyper-Converged Data Caching for Machine Learning Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In hyper-converged infrastructure systems, machine learning training processes face significant delays due to the time-consuming acquisition of large and repetitive training data from distributed machines, as existing caching methods are inefficient in predicting and managing data access patterns.

Innovation Solution

A data caching method where a computing node with a high-speed cache memory prefetches and discards data based on requests from a machine learning framework, using a cache population and discard function to optimize data access, allowing the machine learning framework to manage data storage and retrieval efficiently within the cache memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional cache software is used to store accessed data and adjacent data according to access frequency, then data acquisition speed is improved, but the system cannot handle the specific properties of machine learning training data (large quantity, great repetitiveness, unpredictable usage sequence)

Engineering Contradiction:
Improvedata acquisition speedVSAvoidadaptability to machine learning data properties
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The computing program proactively requests the computing node to prefetch computing data before the data is actually needed for training. The framework provides cache population functions that load data into cache memory in advance, allowing the training process to access data immediately without waiting for acquisition from distributed machines.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The computing program itself manages the caching process by directly requesting data to be stored in or removed from cache memory through the file system client. This self-service approach allows the training program to control its own data access patterns without relying on external cache management systems.

Inventive Principle:
Principle #25Self-service

2Productivity

If data is stored in cache memory to reduce acquisition time, then training efficiency is improved, but cache space management becomes critical when data quantity is large

Engineering Contradiction:
Improvetraining efficiencyVSAvoidcache space management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The computing program provides feedback to the file system client about which data should be cached and which should be discarded. Through cache population functions with population parameters and cache discard functions with discard parameters, the system receives continuous guidance on optimal cache content management, simplifying the complexity of large-scale data management.

Inventive Principle:
Principle #23Feedback

3Speed

If prefetching is implemented to reduce data acquisition time, then data access speed is improved, but the unpredictability of data usage sequence makes it difficult to determine when to discard data

Engineering Contradiction:
Improvedata access speedVSAvoidease of data management
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The computing program directly controls the caching operations by requesting specific data to be stored in or removed from cache memory through the file system client. This self-service mechanism eliminates the need for complex automated cache management systems to handle the unpredictability of data usage patterns.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11755534B2Data caching method and node based on hyper-converged infrastructure
Publication Date: 2023.09.12 QNAP SYST INC
  • US11755534B2 patent drawing
  • US11755534B2 patent drawing
  • US11755534B2 patent drawing

AI summary

A data caching method, a node, a machine learning framework and a file system client based on hyper-converged infrastructure are provided. In the data caching method, a computing program requests a computing node to prefetch computing data prior to using the computing data. Then, the computing node acquires and stores the computing data in a cache memory as requested by the computing program. Subsequently, as the computing program requests the computing node to discard the computing data, the computing node discards the computing data from the cache memory as requested by the computing program.