Hyper-Converged Data Caching for Machine Learning Training
Find Innovative SolutionsGenerate 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
Engineering 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)
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.
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.
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
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.
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
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.
Data Source
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.


