Data reading method, data processing method, and related device

By storing an access pattern library on the first computing node of the computing device cluster, predicting and prefetching files to be accessed and caching them, the problem of low data reading efficiency in AI tasks is solved, and the processing efficiency and storage resource utilization of AI tasks are improved.

WO2026045553A1PCT designated stage Publication Date: 2026-03-05HUAWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/104032
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-30
Filing Date
2025-06-26
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Existing technologies have low data reading efficiency for AI tasks, especially during the training of AI models where data access is randomized, making it difficult to improve efficiency.

Method used

An access pattern library is stored on the first computing node of the computing device cluster. By comparing the order of already accessed files with the file access order in the pattern library, the files to be accessed are predicted and prefetched. The files are then cached based on future access frequencies to optimize the file access order.

Benefits of technology

It improves the processing efficiency of AI tasks, reduces the consumption of storage resources, and enhances the accuracy and consistency of data access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025104032_05032026_PF_FP_ABST
    Figure CN2025104032_05032026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a data reading method, a data processing method, and a related device, which are used for improving the processing efficiency of AI tasks. The data reading method is applied to a first computing node, and comprises: acquiring a file access list, wherein the file access list indicates an access order of files that have been accessed by a first computing node; if the access order of the files that have been accessed matches a file access order indicated by a first file access mode among at least one file access mode, determining a file to be accessed, wherein the file to be accessed is included in files indicated by the first file access mode, and the at least one file access mode is included in an access mode library stored in the first computing node; acquiring a mapping table, wherein the mapping table comprises a mapping relationship between file identifiers and storage locations of files in a storage node; and on the basis of the mapping table and a file identifier of the file to be accessed, prefetching from the storage node the file to be accessed.
Need to check novelty before this filing date? Find Prior Art

Description

Data reading methods, data processing methods and related equipment

[0001] This application claims priority to Chinese Patent Application No. 202411219133.8, filed with the State Intellectual Property Office of China on August 30, 2024, entitled "Data Reading Method, Data Processing Method and Related Equipment", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of storage, and in particular to data reading methods, data processing methods, and related equipment. Background Technology

[0003] With the rapid development of the artificial intelligence (AI) industry, the amount of data used in the inference or training processes of AI models for AI tasks is increasing dramatically, and the randomness of data access is also a concern. Furthermore, data is traversed multiple times during the training process of AI models. Currently, data retrieval efficiency is low, making it a pressing issue to improve the efficiency of data retrieval for AI tasks. Summary of the Invention

[0004] This application provides a data reading method, a data processing method, and related equipment. In the data reading method, for a cluster of computing devices running AI tasks, the first computing node in the cluster stores an access pattern library. This access pattern library includes at least one file access pattern, and each access pattern indicates a file access order. The first computing node obtains the access order of currently accessed files and compares it with the at least one file access order indicated by the access pattern library. If the access order of the already accessed files matches the file access order indicated by the first file access pattern, the file that the first computing device will access (i.e., the file to be accessed) can be predicted, and the file to be accessed can be prefetched, thereby improving the processing efficiency of the AI ​​task.

[0005] Firstly, this application provides a data reading method applied to a first computing node, which is contained within a computing device cluster that runs AI tasks. This can be understood as the computing device cluster including at least one computing node, the AI ​​task including at least one AI subtask, and each computing node running the AI ​​subtask, thus enabling these at least one computing node to run the AI ​​task. The AI ​​task includes training or inference of an AI model, the specifics of which are not limited here. Additionally, the first computing node stores an access pattern library, which includes at least one file access pattern, each indicating a file access order. The first computing node obtains a file access list, which indicates the access order of files already accessed by the first computing node. This means that when the first computing node accesses a series of files, the order indicated by the file access list is the file order. The first computing node compares the file access list with the access pattern library to determine whether the access order of the already accessed files matches the file access patterns in the access pattern library, thereby proceeding to the next step. In a scenario where the access order of already accessed files matches the file access order indicated by a first file access mode in at least one file access pattern, it means that the first computing node is highly likely to be reading files based on the first file access mode. Therefore, the first computing node can determine the file to be accessed, and thus determine the file identifier of the file to be accessed. The file to be accessed can be understood as the file that the first computing node predicts will be accessed, and the file to be accessed is contained within the file indicated by the first file access mode. The first computing node obtains a mapping table, which includes the mapping relationship between file identifiers and the storage locations of files on storage nodes. Based on the mapping table and the file identifier of the file to be accessed, the first computing node determines the storage location of the file to be accessed on the storage node, and prefetches the file to be accessed from the storage node based on that storage location.

[0006] In this application, for a cluster of computing devices running AI tasks, the first computing node in the cluster stores an access pattern library. This access pattern library includes at least one file access pattern, and each access pattern indicates a file access order. The first computing node obtains the access order of currently accessed files and compares it with the at least one file access order indicated by the access pattern library. If the access order of the already accessed files matches the file access order indicated by the first file access pattern, the file that the first computing device will access (i.e., the file to be accessed) can be predicted, and the file to be accessed can be prefetched, thereby improving the processing efficiency of the AI ​​task.

[0007] In some optional implementations of the first aspect, matching the access order of already accessed files with the file access order indicated by the first file access mode in at least one file access mode means that the access order of already accessed files is the same as the file access order indicated by the first file access mode. It should be noted that "same" here emphasizes that the access order of already accessed files is the same. For example, if the already accessed files are file 1, file 2, and file 3, and the first computing device accesses these three files in the order of file 1 → file 2 → file 3. If a certain file access mode indicates a file access order of file 1 → file 2 → file 3 → file 4 → file 5, then that file access mode is the first file access mode, and the access order of these three files is the same as the file access order indicated by the first file access mode. If a certain file access mode indicates a file access order of file 1 → file 4 → file 2 → file 5 → file 3, in that file access mode, the file access order of the three files already accessed by the first computing device is still file 1 → file 2 → file 3, so that file access mode is also the first file access mode. This application emphasizes that the access order of already accessed files is the same. This is because different computing nodes in a computing device cluster may read data in parallel, and the access patterns in the access pattern library may indicate the global file access order. Therefore, the order in which a computing node accesses files may be discontinuous within the file access order indicated by the access pattern. Defining the matching between the file access order of computing nodes and the file access order indicated by the access pattern based on the aforementioned method is more in line with practical applications and improves the practicality of the technical solution in this application.

[0008] In this application, the access order of the already accessed files can be matched with the file access order indicated by the first file access mode in at least one file access mode, which has multiple possibilities, enriching the implementation methods and application scenarios of the technical solution of this application and improving the flexibility of the technical solution of this application.

[0009] In some optional implementations of the first aspect, during the training scenario of the AI ​​task, after the first computing node prefetches the file to be accessed, it can determine whether to cache the file based on its future access frequency. Specifically, the first computing node predicts the future access frequency of the file to be accessed, which indicates the frequency at which the file will be accessed in subsequent iterations of the AI ​​task training. For files whose future access frequency is greater than a frequency threshold, the first computing node will cache the file in the storage space node closest to its location. The storage space closest to the first computing node refers to the storage space where the first computing node accesses data the fastest. The storage space can be a hard drive, disk, shared storage space, memory, etc., and is not specifically limited here.

[0010] In this application, the first computing node caches files whose future access frequency exceeds a frequency threshold in the storage space closest to the first computing node, thereby improving the speed and efficiency of the first computing node in reading these files. Since the future access frequency of these files exceeds the frequency threshold, it means that these files have a high probability of being accessed again. Cacheing these files in the storage space closest to the first computing node not only balances storage resources and computing power resources, but also helps to improve the efficiency of AI tasks.

[0011] In some alternative implementations of the first aspect, the first computing node prefetches the file to be accessed from the storage node based on the storage location of the file to be accessed indicated by the mapping table, and prefetches it sequentially from the storage node according to the access order of the file to be accessed indicated by the first file access mode.

[0012] In this application, the first file access mode indicates the access order of the files to be accessed. When the first computing node prefetches the files to be accessed, it prefetches them sequentially based on this order, which is more in line with the actual access order of the files by the first computing node and improves the practicality of the technical solution.

[0013] In some optional implementations of the first aspect, where the access order of already accessed files matches the file access order indicated by a first file access mode in at least one file access mode, the first computing node further sends the framework information of the AI ​​task, the file access list of the first computing node in the AI ​​task, and the first file access mode to the storage node. The first computing node sends this information to the storage node, allowing the storage node to use this information as historical information or as reference information to assist in calculating new file access modes. The architecture information of the AI ​​task includes parameter information of the AI ​​model, the application architecture of the AI ​​model, and other information describing the AI ​​task. The file access list of the first computing node in the AI ​​task indicates the complete file access order of the first computing node in the current AI task; that is, the access order of all files accessed by the first computing node.

[0014] In this application, in a scheme where the access order of already accessed files matches the file access order indicated by a first file access mode in at least one file access mode, the first computing node can also send reference information to the storage node to assist the storage node in calculating a new file access mode. Since the reference information includes information about the actual operation of the AI ​​task (such as the file access list of the first computing node in the AI ​​task), it means that the reference information is consistent with the actual situation. This is beneficial for the storage node to calculate the new file access mode, or in other words, it improves the computational efficiency and accuracy of the new file access mode.

[0015] In some alternative implementations of the first aspect, the access order of already accessed files may not match any of the at least one file access mode. In this case, the first compute node updates the access mode library.

[0016] In this application, in a scenario where the access order of already accessed files does not match any of the at least one file access modes, the first computing device can update the access mode library. This update allows the access mode library to include more possibilities, which not only enriches the implementation methods of the technical solution in this application but also provides a basis for improving the efficiency of subsequent data processing.

[0017] In some optional implementations of the first aspect, the first computing node updates the access pattern library by obtaining the file access order of the first computing node in the AI ​​task, that is, obtaining the complete file access order of the first computing node in the current AI task. Based on the file access order of the first computing node in the AI ​​task, the access pattern library is updated. The updated access pattern library also includes a second file access pattern, the file access order indicated by the second file access pattern matching the file access order of the first computing node in the AI ​​task. In short, updating the access pattern library involves adding a second file access pattern to the access pattern library.

[0018] In this application, the first computing node can update the access pattern library based on the file access order of the first computing node in the AI ​​task, which is simple to operate.

[0019] In some optional implementations of the first aspect, the first compute node, in addition to needing the file access order of the first compute node in the AI ​​task, also needs to obtain the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second compute nodes in the compute device cluster to update the access pattern library. The second compute node can be some or all of the compute nodes. The historical file access list of the second compute node refers to the file access list of the second compute node in the same AI task as the current AI task, and the historical file access patterns match the historical file access list. In other words, the historical file access list and historical file access patterns of the second compute node indicate the actual file access order and file access patterns that occurred on the second compute node. The first compute node updates the access pattern library based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second compute node, and the file access order of the first compute node in the AI ​​task. The updated access pattern library also includes second file access patterns, and the file access order indicated by the second file access patterns matches the file access order of the first compute node in the AI ​​task.

[0020] In this application, the first computing node can also update the access pattern library based on the file access order of the first computing node in the AI ​​task, the framework information of the AI ​​task, and the historical file access list and historical file access patterns of the second computing node. In other words, the first computing node updates the access pattern library based on multiple pieces of information. This method does not require high computing power from the first computing node and can be widely used.

[0021] In some alternative implementations of the first aspect, the storage node also stores an access mode library. After updating the access mode library, the first compute node synchronizes the update. The first compute node sends a first update message to the storage node, instructing the storage node to update the access mode library. The updated access mode library of the storage node also includes a second file access mode.

[0022] In some alternative implementations of the first aspect, a third computing node in the computing device cluster stores an access pattern library. This third computing node is different from the first computing node. After updating the access pattern library, the first computing node sends a second update message to the third computing node, instructing the third computing node to update the access pattern library. The updated access pattern library of the third computing node also includes a second file access pattern.

[0023] In this application, after the first computing node updates its access mode library, it synchronizes its update with the other nodes in the storage system, ensuring that all nodes in the storage system update their access mode libraries and guaranteeing synchronization of access mode libraries across different nodes. These other nodes include the storage node and the third computing node.

[0024] In some optional implementations of the first aspect, the first computing node can also update the access pattern library based on other methods. Specifically, the first computing node receives third update information, which instructs the first computing node to update the access pattern library. Based on the third update information, the access pattern library is updated. The updated access pattern library also includes a second file access pattern, the file access order indicated by the second file access pattern matching the file access order of the first computing node in the AI ​​task. The third update information can be sent to the first computing node by other computing nodes, by storage nodes, or triggered by update operations performed by maintenance personnel, etc.; the specific details are not limited here.

[0025] In this application, in addition to updating the access mode library itself, the first computing node can also update the access mode library based on third update information, enriching the application scenarios of the technical solution of this application. In the latter solution, the update operation of the first computing node is simpler and can also save the computing resources of the first computing node.

[0026] Secondly, this application provides a data processing method applied to a storage node connected to a computing device cluster, which runs AI tasks. The storage node stores an access pattern library, which includes at least one file access pattern, each indicating a file access order. The storage node obtains the file access list of a first computing node in the AI ​​task, i.e., obtains the complete file access list of the first computing node in the current AI task. The first computing node is a node in the computing device cluster, and its file access list in the AI ​​task does not match any of the at least one file access pattern included in the access pattern library. The storage node also obtains the framework information of the AI ​​task, the historical file access list and historical file access patterns of a second computing node in the computing device cluster. The second computing node can be some or all of the computing nodes in the computing device cluster. The architecture information of the AI ​​task includes parameter information of the AI ​​model, the application architecture of the AI ​​model, and other information describing the AI ​​task. The storage node updates the access pattern library based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node, and the file access list of the first computing node in the AI ​​task. The updated access pattern library also includes a second file access pattern, which indicates the file access order that matches the file access order of the first compute node in the AI ​​task.

[0027] In this application, the storage node also stores an access pattern library. In situations where the file access order of the first computing node in an AI task does not match any of the at least one file access pattern included in the access pattern library, the storage node can update the access pattern library. Since the storage node is connected to the computing device cluster, it can obtain global access information (including the historical file access list and historical file access patterns of the second computing node), which helps accelerate the updating of the access pattern library. The storage node updates the access pattern library based on multiple pieces of information, making the updates more accurate.

[0028] In some optional implementations of the second aspect, a third computing node in the computing device cluster stores the access mode library. The third computing node can be some or all of the computing nodes in the computing device cluster. After updating the access mode library, the storage node sends update information to the third computing node, instructing the third computing node to update the access mode library. The updated access mode library also includes a second file access mode.

[0029] In this application, after the storage node updates the access pattern library, it synchronizes the update with the third computing node in the computing device cluster, so that the third computing node also updates the access pattern library, thus realizing the synchronous update of the access pattern library.

[0030] Thirdly, this application provides a data reading device, which is a first computing node included in a computing device cluster that runs AI tasks. The first computing node stores an access pattern library, which includes at least one file access pattern, wherein each file access pattern indicates a file access order. The data reading device includes:

[0031] The transceiver unit is configured to: obtain a file access list, which indicates the access order of files already accessed by the first computing node; if the access order of the already accessed files matches the file access order indicated by a first file access mode in at least one file access mode, then determine the file to be accessed, which is contained within the file indicated by the first file access mode; obtain a mapping table, which includes a mapping relationship between file identifiers and the storage locations of files on storage nodes; and prefetch the file to be accessed from the storage node based on the mapping table and the file identifier of the file to be accessed.

[0032] The data reading device is used to perform the data reading method shown in the first aspect or any possible implementation of the first aspect. Its beneficial effects are as shown in the first aspect or any possible implementation of the first aspect, and will not be repeated here.

[0033] Fourthly, this application provides a data processing apparatus, which is a storage node. A computing device cluster runs AI tasks. The storage node stores an access pattern library, which includes at least one file access pattern, wherein each file access pattern indicates a file access order. The data processing apparatus includes:

[0034] The transceiver unit is used to obtain the file access list of the first computing node in the AI ​​task. The file access list of the first computing node in the AI ​​task does not match any of the file access modes in the access mode library. The first computing node is included in the computing device cluster.

[0035] The transceiver unit is also used to obtain the framework information of AI tasks, the historical file access list and historical file access mode of the second computing node in the computing device cluster;

[0036] The processing unit is used to update the access pattern library based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node, and the file access list of the first computing node in the AI ​​task. The updated access pattern library also includes a second file access pattern, and the file access order indicated by the second file access pattern is the same as the file access order of the first computing node in the AI ​​task.

[0037] The data processing apparatus is used to implement the data processing method shown in the second aspect or any possible implementation of the second aspect, and its beneficial effects are as shown in the second aspect or any possible implementation of the second aspect, which will not be repeated here.

[0038] Fifthly, this application provides a storage system including a computing node and a storage node. The computing node is used to implement the method shown in the first aspect or any possible implementation of the first aspect. The storage node is used to implement the method shown in the second aspect or any possible implementation of the second aspect. See the foregoing description for details, which will not be repeated here.

[0039] In a sixth aspect, this application provides a computing device including a processor and a memory, wherein the processor stores instructions that, when executed on the processor, implement the methods shown in the first aspect, any possible implementation of the first aspect, the second aspect, or any possible implementation of the second aspect.

[0040] In a seventh aspect, this application provides a computing device cluster, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, such that the computing device cluster implements the method disclosed in the first aspect and any possible implementation of the first aspect.

[0041] Eighthly, this application provides a computer-readable storage medium storing instructions that, when executed on a processor, implement the methods shown in the first aspect, any possible implementation of the first aspect, the second aspect, or any possible implementation of the second aspect.

[0042] Ninthly, this application provides a computer program product that, when executed on a processor, implements the method shown in the first aspect, any possible implementation of the first aspect, the second aspect, or any possible implementation of the second aspect.

[0043] The beneficial effects shown in any of the fifth to ninth aspects are similar to those of the first aspect, any possible implementation of the first aspect, the second aspect, or any possible implementation of the second aspect, and will not be repeated here. Attached Figure Description

[0044] Figure 1 is a schematic diagram of the architecture of a storage system provided in an embodiment of this application;

[0045] Figure 2 is a schematic diagram of another architecture of the storage system provided in an embodiment of this application;

[0046] Figure 3 is a schematic diagram of another architecture of the storage system provided in an embodiment of this application;

[0047] Figure 4 is a flowchart illustrating a data reading method provided in an embodiment of this application.

[0048] Figure 5 is a schematic diagram provided in an embodiment of this application;

[0049] Figure 6 is another flowchart illustrating the data reading method provided in an embodiment of this application;

[0050] Figure 7 is another flowchart illustrating the data reading method provided in an embodiment of this application;

[0051] Figure 8 is a flowchart illustrating a data processing method provided in an embodiment of this application.

[0052] Figure 9 is a flowchart provided in an embodiment of this application;

[0053] Figure 10 is another schematic diagram provided by an embodiment of this application;

[0054] Figure 11 is a schematic diagram of an architecture provided in an embodiment of this application;

[0055] Figure 12 is a structural schematic diagram of a data reading device provided in an embodiment of this application;

[0056] Figure 13 is a schematic diagram of a data processing device provided in an embodiment of this application;

[0057] Figure 14 is a schematic diagram of a computing device provided in an embodiment of this application;

[0058] Figure 15 is a schematic diagram of a computing device cluster provided in an embodiment of this application;

[0059] Figure 16 is a schematic diagram of a computing device cluster provided in an embodiment of this application. Detailed Implementation

[0060] This application provides a data reading method, a data processing method, and related equipment. In the data reading method, for a cluster of computing devices running AI tasks, a first computing node in the cluster stores an access pattern library. This access pattern library includes at least one file access pattern, and each access pattern indicates a file access order. The first computing node obtains the access order of currently accessed files and compares it with the at least one file access order indicated by the access pattern library. If the access order of the already accessed files matches the file access order indicated by the first file access pattern, the file that the first computing device will access (i.e., the file to be accessed) can be predicted, and the file to be accessed can be prefetched, thereby improving the processing efficiency of the AI ​​task.

[0061] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.

[0062] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of units is not necessarily limited to those units, but may include other units not explicitly listed or inherent to those processes, methods, products, or apparatuses. Additionally, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can be expressed as: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0063] First, please refer to Figures 1 to 3, which are schematic diagrams of the architecture of the storage system provided in the embodiments of this application.

[0064] In the embodiments of this application, the storage system includes computing nodes and storage nodes. The forms of computing nodes and storage nodes are various, which will be described below.

[0065] As shown in Figure 1, compute nodes and storage nodes reside on different devices. Each compute device is considered a compute node, while storage nodes are separate from the compute devices. In this architecture, the storage system can be understood as including both compute devices and storage devices. The compute device cluster comprises multiple compute devices, and the storage nodes establish communication connections with the compute device cluster, specifically with each compute device within the cluster.

[0066] As shown in Figure 2, computing devices can be functionally divided into compute nodes and storage nodes, meaning that compute nodes and storage nodes reside on the same computing device. It should be noted that Figure 2 uses a single computing device as an example. In practical applications, this architecture's storage system can include even more computing devices, which can be referred to as a computing device cluster.

[0067] As shown in Figure 3, the storage media in the computing devices are pooled to form storage nodes. A storage node can be understood as a shared storage space for these computing devices. Other modules in the computing devices can be understood as computing nodes, with each computing device including one computing node. In this architecture, the storage system includes at least one computing device. The storage media can be data storage carriers such as disks, hard drives, flash memory, and RAM; specific types are not limited here.

[0068] It should be noted that the embodiments of this application are not limited to the product form of the computing device. It can be a server, virtual machine, container or other device that can run AI tasks. No specific limitation is made here.

[0069] The computing nodes in the aforementioned system architectures are used to implement the data reading method provided in the embodiments of this application, and the storage nodes are used to implement the data processing method provided in the embodiments of this application. The specific implementation process of the method will be described in detail later.

[0070] In this embodiment, the data reading method is applied to a first computing node, which can be any of the computing nodes shown in the embodiments of Figures 1 to 3 above. Please refer to Figure 4 below, which is a flowchart illustrating the data reading method provided in this embodiment.

[0071] 401. Obtain the file access list, which indicates the access order of files already accessed by the first compute node.

[0072] In this embodiment, the first computing node is included in a computing device cluster, which runs AI tasks. The AI ​​tasks include training or inference of an AI model. This application does not limit the specific type of AI model; for example, it can be a natural language processing model, a neural network model, a clustering model, a reinforcement learning model, etc. Furthermore, this embodiment does not limit the application scenario of the AI ​​tasks; for example, they can be applied in fields such as image recognition, autonomous driving, natural language processing, and robot interaction.

[0073] During the execution of AI tasks on a computing device cluster, the entire dataset encompassed by the AI ​​task can be divided into multiple sub-datasets, with each computing node processing one sub-dataset. This can also be understood as each computing node running an AI sub-task.

[0074] In this embodiment, the first computing node stores an access pattern library, which includes at least one file access pattern, wherein each file access pattern indicates a file access order. The file access patterns in the access pattern library may be generated by the computing node or storage node based on the historical running data of AI tasks, or they may be preset, or they may be configured based on system parameters; no specific limitation is made here.

[0075] Optionally, file access modes can be represented numerically. In AI tasks, the subset of data processed by each computing node can be considered a file sequence. The order of each file sequence is actually determined by a corresponding numerical value. Inputting this value into a pseudo-random number generator yields a random number sequence, which in turn creates the file sequence. This value can also be called a seed or random seed. The number of bits in the value can be preset manually or configured by the system. For example, the number of bits can be 16 bits, 32 bits, 64 bits, etc., and is not limited here. Different numerical values ​​represent different file access modes.

[0076] It's important to note that in AI model training scenarios, the dataset undergoes multiple iterations, each called an epoch. Within each epoch, the AI ​​model running on the computing cluster processes the entire training dataset once. For a single computing node, a subset of the dataset is processed once within an epoch. The file order within the subset processed in the (i+1)th epoch can be considered a randomly calculated order based on the file order in the i-th epoch. The initial file order is the initial random number sequence corresponding to the seed mentioned earlier.

[0077] During the execution of the AI ​​task, the first computing node captures its own input / output (in / out, I / O) data and analyzes the I / O data to obtain a file access list. The file access list indicates the access order of the files already accessed by the first computing node; that is, the actual access order of the files accessed by the first computing node. The files already accessed refer to those accessed by the first computing node from the start of the AI ​​task to the current moment.

[0078] It's also important to note that the order indicated by the file access list refers to the order between files, not the order in which data is read within a file. In other words, the AI ​​subtasks run by the first computing node involve processing multiple files, and the order indicated by the file access list is the order in which the files have already been accessed.

[0079] Optionally, a data process client (DPC) can be deployed on the first compute node. This DPC is used to capture and analyze I / O data; that is, the first compute node obtains the file access list through the DPC.

[0080] 402. If the access order of the already accessed files matches the file access order indicated by the first file access mode in at least one file access mode, then determine the file to be accessed, which is contained in the file indicated by the first file access mode.

[0081] After the first computing node obtains the file access list, it compares the file access list with at least one file access pattern in the access pattern library to determine whether there exists a first file access pattern that matches the file access list. Alternatively, it can be described as determining whether there exists a first file access pattern that matches the access order of the already accessed files. Specifically, it compares the access order of the already accessed files with the file access order indicated by the file access patterns in the access pattern library.

[0082] To elaborate further, "the access order of the files that have been accessed matches the file access order indicated by the first file access mode" means that the access order of the files that have been accessed is the same as the file access order indicated by the first file access mode. The access order of the files that have been accessed can also be understood as the actual access order of the files.

[0083] The "same order" mentioned above emphasizes that, for files that have already been accessed, the actual access order of the first computing node is the same as the file access order indicated by the first file access mode. In practical applications, there are various possibilities, which will be explained below with reference to Figure 5, a schematic diagram provided in an embodiment of this application.

[0084] In some optional implementations, the file access order indicated by the first file access mode is the same as the access order of the already accessed files. For example, as shown in Figure 5, assume the already accessed files are files 1 to 4, and the access order is: file 1 → file 2 → file 3 → file 4. As shown in the second row of Figure 5, the file access order indicated by file access mode 1 also includes: file 1 → file 2 → file 3 → file 4. Therefore, file access mode 1 can be considered the first file access mode, and the file access list of the first compute node matches this file access mode.

[0085] In some optional implementations, the access order of files already accessed by the first computing node, indicated by the first file access mode, is the same as the actual access order of the accessed files. For example, as shown in Figure 5, assume the accessed files are files 1 to 4, and the access order is: file 1 → file 2 → file 3 → file 4. As shown in the third row of Figure 5, although the file access order indicated by file access mode 2 is: file 1 → file 11 → file 2 → file 12 → file 3 → file 13 → file 4 → ..., there are other files between files 1 and 4. However, for these four files, the file access order is still file 1 → file 2 → file 3 → file 4. Therefore, file access mode 2 can be considered the first file access mode, and the file access list of the first computing node matches this file access mode. It can be understood that in this scheme, the access mode library can be considered to store global file access modes, including cases where different computing nodes read files in parallel.

[0086] In some alternative implementations, there may be multiple file access patterns in the access pattern library that match the file access list of the first compute node. In this case, the first compute node has multiple ways to determine the first file access pattern.

[0087] Optionally, the first computing node can determine the file access mode that best matches the file access list from among these multiple file access modes as the first file access mode. Here, "closest" means that the file access order indicated by the file access mode is closest to the access order of the files already accessed by the first computing node. For example, in the embodiment shown in Figure 5, both file access mode 1 and file access mode 2 match the access order of the already accessed files indicated by the file access list. However, the file access order indicated by file access mode 1 is closer to the access order of the already accessed files. Therefore, file access mode 1 is determined as the first file access mode. This approach ensures that the first file access mode is closest to the file access list, which helps increase the probability that the files pre-fetched by the first computing node are accessed by the first computing node, further improving the data processing efficiency of the AI ​​task.

[0088] Optionally, when comparing the file access list with the file access patterns in the access pattern library, the first computing node, once a matching file access pattern is found, will not compare it with other file access patterns and will directly determine that the matching file access pattern as the first file access pattern. For example, as shown in Figure 5, although both file access pattern 1 and file access pattern 2 in the file access pattern library match the file access list, if the first computing node determines that file access pattern 1 matches the file access list first, the first computing node will not compare whether file access pattern 2 matches the file access list. It will directly determine file access pattern 1 as the first file access pattern. In this technical solution, once the first computing node determines that a file access pattern in the access pattern library matches the file access list, it will not compare it with other file access patterns, saving operation steps and reducing the consumption of computing resources.

[0089] Optionally, the first computing node can obtain another file access sequence and compare it again to determine the first file access mode. For example, in the embodiment shown in Figure 5, assume that the file access sequence after file 4 indicated by file access mode 2 is file 5 → file 7 → file 6… At the current moment, the access sequence of the files already accessed by the first computing node is file 1 → file 2 → file 3 → file 4, which matches both file access mode 1 and file access mode 2. The first computing node can continue running the AI ​​subtask and obtain another file access sequence. If the new file access sequence is file 5 → file 6, and the access sequence of the files already accessed by the first computing node is now file 1 → file 2 → file 3 → file 4 → file 5 → file 6, file access mode 2 no longer matches, but file access mode 1 still matches. Therefore, the first computing node determines file access mode 1 as the first file access mode.

[0090] In the embodiments of this application, the access order of the already accessed files can be matched with the file access order indicated by the first file access mode in at least one file access mode, which has multiple possibilities, enriching the implementation methods and application scenarios of the technical solution of this application and improving the flexibility of the technical solution of this application.

[0091] 403. Obtain the mapping table, which includes the mapping relationship between file identifiers and file storage locations on storage nodes.

[0092] The first compute node can also obtain a mapping table, which indicates the mapping relationship between file identifiers and file storage locations. The file storage location mentioned here refers to the location where the file is stored on the storage node.

[0093] Optionally, the mapping table can be manually configured, system-defined, or sent from the storage node to the first compute node. Alternatively, it can be determined through other methods, such as the first compute node determining its location based on the storage location of historical files. Specific details are not limited here.

[0094] 404. Based on the mapping table and the file identifier of the file to be accessed, prefetch the file to be accessed from the storage node.

[0095] The first compute node determines the file to be accessed, which also determines the file identifier of the file. Based on the file identifier, the mapping table is looked up to determine the storage location of the file on the storage node, thus prefetching the file. Prefetching refers to pulling the file to be accessed from the storage node to the storage space of the compute node. This includes pulling it to the compute node's memory, memory pool, shared storage space, or disk, etc., without being limited here.

[0096] In some alternative implementations, the first compute node prefetches the files to be accessed sequentially. Specifically, the first compute node prefetches the files to be accessed sequentially according to the access order indicated by the first file access mode, and in conjunction with the storage location of the files to be accessed on the storage node indicated by the mapping table.

[0097] For example, taking Figure 5 as an example, assume the files to be accessed are files 5 to 7, indicated by file access mode 1. Since the file access order indicated by file access mode 1 is file 5 → file 6 → file 7, the first computing node prefetches the files to be accessed sequentially based on this order. Furthermore, the mapping table indicates the storage location of the files to be accessed, so the first computing node can retrieve the files to be accessed from the corresponding storage locations.

[0098] In this embodiment, the first file access mode indicates the access order of the files to be accessed. When the first computing node prefetches the files to be accessed, it prefetches them sequentially based on this order, which is more in line with the actual access order of the files by the first computing node and improves the practicality of the technical solution.

[0099] As described above, in this embodiment of the application, for a cluster of computing devices running AI tasks, the first computing node in the cluster stores an access pattern library. This access pattern library includes at least one file access pattern, and each access pattern indicates a file access order. The first computing node obtains the access order of currently accessed files and compares it with the at least one file access order indicated by the access pattern library. If the access order of the already accessed files matches the file access order indicated by the first file access pattern, the file that the first computing device will access (i.e., the file to be accessed) can be predicted, and the file to be accessed can be prefetched, thereby improving the processing efficiency of the AI ​​task.

[0100] Understandably, in AI model training scenarios, after the first compute node prefetches the files to be accessed, if these files remain in its storage space after the first compute node has finished using them or after the current epoch is completed, they may consume storage resources. However, if all files to be accessed are cleared, they may still be accessed in subsequent epochs, and re-prefetching them would waste computing resources. Therefore, the first compute node can selectively cache files to be accessed, as explained in detail below.

[0101] In summary, after prefetching the file to be accessed, the first computing node predicts the future access probability of the file in the AI ​​task. This future access probability indicates the probability that the file will be accessed during the subsequent training of the AI ​​model. Files with a future access probability greater than a frequency threshold are cached in the storage space closest to the location of the first computing node.

[0102] The principle behind the first computing node's prediction of the future access probability of a file lies in the fact that during the training of the AI ​​model, the first computing node actually accesses the same files in each epoch, but the access order is different. The file access order in the (i+1)th epoch is randomly calculated from the file access order in the i-th epoch. Based on this random calculation, the first computing node can predict the future access frequency.

[0103] The storage space closest to the first computing node is the storage space where the first computing node can access data the fastest. This storage space may vary depending on the system architecture, and will be explained below.

[0104] Optionally, for the system architecture shown in Figure 1, prefetching can be performed from remote storage to the local storage of the first compute node. The storage space closest to the location of the first compute node can be the memory of the first compute node, or the local storage space of the first node, etc.

[0105] Optionally, for the system architecture shown in Figure 2 or Figure 3, prefetching can be performed from the local disk into local memory. The storage space closest to the first compute node is the local memory of the first compute node. Alternatively, for the system architecture shown in Figure 3, if the memory pool is hierarchical, then the storage space closest to the first node is the one closest to the first node among the multi-level storage.

[0106] In some optional implementations, if the free resources occupied by the cached files are greater than the free storage resources of the storage space closest to the first computing node, the first computing node cleans up that storage space and releases the storage resources. Cleaning can be performed in ascending order of historical access frequency, or in descending order of storage resources occupied by the files, or based on other methods, such as in ascending order of the most recent access time. The specific method is determined based on the needs of the actual application and is not limited here.

[0107] In this embodiment, the first computing node caches files whose future access frequency is greater than a frequency threshold in the prefetched files in the storage space closest to the first computing node, thereby improving the speed and efficiency of the first computing node reading these files. Since the future access frequency of these files is greater than the frequency threshold, it means that these files have a high probability of being accessed again. Prefetching these files in the storage space closest to the first computing node not only balances storage resources and computing power resources, but also helps to improve the efficiency of AI tasks.

[0108] In this embodiment, when the file access list matches the first file access pattern, the first computing node can perform other operations besides prefetching the files to be accessed. Specifically, in a scheme where the access order of the files already accessed by the first computing node matches the file access order indicated by the first file access pattern in at least one file access pattern, the first computing node can also send the framework information of the AI ​​task, the file access list of the first computing node in the AI ​​task, and the first file access pattern to the storage node.

[0109] The framework information for the AI ​​task describes the current AI task and reflects its characteristics, including the AI ​​model's parameter information and application architecture. For example, the AI ​​model's application architecture may include PyTorch, TensorFlow, etc., but specific architectures are not limited here.

[0110] The file access list of the first computing node in the AI ​​task indicates the access order of all files accessed by the first computing node under the current AI task. In other words, it is the actual access order of the files accessed by the first computing node.

[0111] For storage nodes, the architecture information of the AI ​​task, the file access list of the first computing node in the AI ​​task, and the first file access mode are stored as reference information. This reference information provides a basis for storage nodes to update the access mode library, especially for calculating new file access modes. The specific implementation process will be explained later, see the following text for details.

[0112] In this embodiment, where the access order of already accessed files matches the file access order indicated by a first file access mode in at least one file access mode, the first computing node can also send reference information to the storage node to assist the storage node in calculating a new file access mode. Since the reference information includes information about the actual operation of the AI ​​task (such as the file access list of the first computing node in the AI ​​task), it means that the reference information is consistent with the actual situation. This is beneficial for the storage node to calculate the new file access mode, or in other words, it improves the computational efficiency and accuracy of the new file access mode.

[0113] The previous example illustrated a scheme that matches the access order of files already accessed by the first compute node with the file access order indicated by the first file access pattern. In practical applications, the access order of already accessed files may not match any file access patterns in the access pattern library. This scheme is explained below.

[0114] In some optional implementations, if the access order of already accessed files does not match any of the at least one file access pattern, the first compute node updates the access pattern library. The purpose of updating the access pattern library is to include more types of file access patterns, so that the access pattern library can match more file access orders.

[0115] In this embodiment of the application, in a scenario where the access order of already accessed files does not match any of the at least one file access mode, the first computing device can update the access mode library, so that the updated access mode library includes more possibilities. This not only enriches the implementation methods of the technical solution of this application, but also provides a basis for improving the efficiency of subsequent data processing.

[0116] There are several possible ways for the first compute node to update the access mode library, which are explained below:

[0117] In some optional implementations, the first computing node obtains its file access order in the AI ​​task, that is, it obtains the complete file access order of the first computing node in the current AI task. Then, based on the file access order of the first computing node in the AI ​​task, it updates the access pattern library. The updated access pattern library also includes a second file access pattern, the file access order indicated by the second file access pattern matching the file access order of the first computing node in the AI ​​task. Simply put, updating the access pattern library involves adding a second file access pattern to the access pattern library.

[0118] The following description, in conjunction with Figure 6, further elaborates on the data reading method provided in the embodiments of this application.

[0119] As shown in Figure 6, the first compute node obtains its file access list in the AI ​​task. This file access list indicates the complete file access order of the first compute node in the current AI task. For this complete file access order, the first compute node matches it against all file access patterns. If a second file access pattern exists in the full set of file access patterns that matches the first compute node's file access list in the AI ​​task, the match is considered successful, and the first compute node updates its access pattern library. If no second file access pattern exists in the full set of file access patterns that matches the first compute node's file access list in the AI ​​task, the match is considered unsuccessful, and the first compute node does not update its access pattern library. In the latter case, the first compute node can report the matching failure through the client to notify the user or maintenance personnel.

[0120] In this context, "the file access list of the first computing node in the AI ​​task matches the second file access pattern" means that the access order of the files indicated by the file access list is the same as the access order of these files indicated by the second file access pattern. The specific meaning is similar to the embodiment shown in Figure 5, as described above, and will not be repeated here.

[0121] Furthermore, the full set of file access patterns refers to all possible file access patterns, including file access patterns corresponding to historical AI tasks run by the computing device cluster, as well as unused file access patterns configured for the computing device cluster. The full set of file access patterns can be manually preset, system-configured, or calculated by compute or storage nodes; specific limitations are not specified here. Generally, the file access patterns included in the access pattern library are fewer than the full set of file access patterns.

[0122] In this embodiment, the first computing node can update the access pattern library based on the file access order of the first computing node in the AI ​​task, which is simple to operate.

[0123] In some optional implementations, the first compute node updates its access pattern library not only using the file access order of the first compute node in the AI ​​task, but also by combining the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second compute nodes in the compute device cluster. That is, the first compute node updates its access pattern library based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second compute nodes, and the file access order of the first compute node in the AI ​​task. The updated access pattern library also includes second file access patterns, the file access order indicated by the second file access patterns matching the file access order of the first compute node in the AI ​​task.

[0124] The following description, in conjunction with Figure 7, further elaborates on the data reading method provided in the embodiments of this application.

[0125] As shown in Figure 7, the first computing node obtains its file access list in the AI ​​task. This file access list indicates the complete file access sequence of the first computing node in the current AI task. The first computing node also obtains reference information, including the framework information and computing node information of the AI ​​task. The computing node information is the historical file access list and historical file access pattern of the aforementioned second computing node. The historical file access list and the historical file access pattern are matched.

[0126] The reference information provides prior experience for the matching calculations of the first computing node, which does not need to match all file access patterns. In other words, the reference information limits the file access patterns that the first computing node needs to match. This range is smaller than the full range of file access patterns, thus reducing the scope of matching calculations required by the first computing node and lowering the data processing volume.

[0127] For the first compute node's complete file access sequence in the current AI task, the first compute node performs matching calculations within a defined range of file access patterns. If a second file access pattern exists that matches the first compute node's file access list in the AI ​​task, the match is considered successful, and the first compute node updates its access pattern library. If no second file access pattern exists that matches the first compute node's file access list in the AI ​​task, the match is considered unsuccessful, and the first compute node does not update its access pattern library. In the latter case, the first compute node can report the matching failure information through the client to notify the user or operations personnel.

[0128] In this context, "the file access list of the first computing node in the AI ​​task matches the second file access pattern" means that the access order of the files indicated by the file access list is the same as the access order of these files indicated by the second file access pattern. The specific meaning is similar to the embodiment shown in Figure 5, as described above, and will not be repeated here.

[0129] It should be noted that the foregoing description explained that file access patterns can be represented numerically. Therefore, in the embodiments shown in Figure 6 or Figure 7, the matching calculation can be understood as traversing all possible numerical values, inputting each value into a pseudo-random number generator to obtain a random sequence. This random sequence is compared with the file access order of the first computing node in the AI ​​task to determine whether a random sequence matching the file access order exists. If it exists, the numerical value of the matching random sequence is generated, which is the second file access pattern. Specifically, in the embodiment shown in Figure 6, the entire range of numerical values ​​(i.e., the entire range of file access patterns) is traversed. In the embodiment shown in Figure 7, a numerical range determined based on reference information is traversed, which is smaller than the entire range of numerical values.

[0130] In this embodiment, the first computing node can also update the access pattern library based on the file access order of the first computing node in the AI ​​task, the framework information of the AI ​​task, and the historical file access list and historical file access patterns of the second computing node. In other words, the first computing node updates the access pattern library based on multiple pieces of information. This method does not require high computing power from the first computing node, reduces its resource consumption, and can be widely applied.

[0131] In some optional implementations, the first computing node can also update the access pattern library in other ways. In the embodiments related to Figures 6 or 7 above, the first computing node can be considered to be actively updating the access pattern library. In practical applications, the first computing node can also passively update the access pattern library, or synchronously update the access pattern library. Specifically, the first computing node receives third update information, which instructs the first computing node to update the access pattern library. The first computing node then updates the access pattern library according to the third update information. The updated access pattern library also includes a second file access pattern, the file access order indicated by the second file access pattern matching the file access order of the first computing node in the AI ​​task. Here, "order matching" means that the access order of the files indicated by the file access list of the first computing node in the AI ​​task is the same as the file access order indicated by the second file access pattern. The specific meaning is similar to that shown in the embodiment of Figure 5, as described above, and will not be repeated here.

[0132] Optionally, the third update information can be sent from the storage node to the first compute node, or it can be sent from other compute nodes to the first compute node. That is, other nodes in the storage system update the access mode library and then notify the first compute node to update synchronously, so that the access mode library stored on each node in the storage system remains consistent.

[0133] Optionally, the third update information can also be triggered by users or operations and maintenance personnel performing update operations. In other words, the access pattern library can also be updated manually.

[0134] In this embodiment, in addition to updating the access mode library itself, the first computing node can also update the access mode library based on third update information, enriching the application scenarios of the technical solution of this application. In the latter solution, the update operation of the first computing node is simpler, further saving the computing resources of the first computing node.

[0135] In the embodiments of this application, in the scheme where the first computing node actively updates the access mode library, after the update is completed, the first computing node can also notify other nodes in the storage system to update synchronously.

[0136] Optionally, the storage nodes in the storage system also store an access mode library. After updating the access mode library, the first compute node sends a first update message to the storage node, instructing the storage node to update the access mode library. The updated access mode library on the storage node also includes a second file access mode.

[0137] Optionally, a third compute node in the computing device cluster stores the access mode library. After updating the access mode library, the first compute node sends a second update message to the third compute node, instructing the third compute node to update the access mode library. The updated access mode library on the third compute node also includes a second file access mode. The third compute node can be some or all of the compute nodes in the computing device cluster, excluding the first compute node.

[0138] In this embodiment, after updating the access mode library, the first computing node updates it synchronously with other nodes in the storage system, ensuring that all nodes in the storage system update their access mode libraries and guaranteeing synchronization of access mode libraries across different nodes. These other nodes include the storage node and the third computing node.

[0139] The preceding description focuses on the first computing node as the execution entity to introduce the data reading method provided in this application embodiment. In practical applications, storage nodes in the storage system can also update the access mode library. Please refer to Figure 8 below, which is a flowchart illustrating the data processing method provided in this application embodiment.

[0140] 801. Obtain the file access list of the first computing node in the AI ​​task. The file access list of the first computing node in the AI ​​task does not match any of the file access modes included in the access mode library.

[0141] In this embodiment, the storage system further includes storage nodes connected to a cluster of computing devices, which run AI tasks. The storage nodes can execute the data processing method provided in this embodiment, in which the storage nodes are separate from the computing devices. The architecture of the storage system is shown in Figure 1.

[0142] The storage node stores an access mode library, which includes at least one file access mode, wherein each file access mode indicates a file access order.

[0143] If the file access list of the first compute node in the AI ​​task does not match any file access mode in the access mode library, the first compute node sends its file access list for the AI ​​task to the storage node. The first compute node is a compute node in a compute device cluster connected to the storage node. The file access list of the first compute node in the AI ​​task indicates the complete file access order of the first compute node in the current AI task.

[0144] 802. Obtain the framework information of the AI ​​task, the historical file access list and historical file access mode of the second computing node in the computing device cluster.

[0145] In addition to obtaining the file access list of the first compute node in the AI ​​task, the storage node also obtains the framework information of the AI ​​task, the historical file access list of the second compute node, and the historical file access pattern. The framework information of the AI ​​task can be sent to the storage node by any compute node in the compute device cluster; its specific content has been explained previously and will not be repeated here. The second compute node can be some or all of the compute nodes in the compute device cluster, and the historical file access list and historical file access pattern must match.

[0146] 803. Update the access pattern library based on the AI ​​task framework information, the historical file access list and historical file access patterns of the second computing node, and the file access list of the first computing node in the AI ​​task.

[0147] Step 803 is similar to the first computing node's framework information based on the AI ​​task, the second computing node's historical file access list and historical file access patterns, and the first computing node's file access order update access pattern library in the AI ​​task, as described in the previous embodiments. The only difference is the executing entity. For specific implementation details, please refer to the relevant descriptions above, which will not be repeated here.

[0148] The updated access pattern library also includes a second file access pattern, which indicates the file access order that matches the file access order of the first computing node in the AI ​​task.

[0149] In this embodiment, the storage node also stores an access pattern library. In cases where the file access order of the first computing node in an AI task does not match any of the at least one file access pattern included in the access pattern library, the storage node can update the access pattern library. Since the storage node is connected to the computing device cluster, it can obtain global access information (including the historical file access list and historical file access patterns of the second computing node), which helps accelerate the updating of the access pattern library. The storage node updates the access pattern library based on multiple pieces of information, making the updates more accurate.

[0150] In some optional implementations, after updating the access mode library, the storage node can notify other nodes in the storage node cluster to update synchronously. That is, a third computing node in the computing device cluster stores the access mode library, and after the storage node updates its access mode library, it sends update information to the third computing node. The update information instructs the third computing node to update its access mode library, so that the updated access mode library of the third computing node also includes the second file access mode.

[0151] The third computing node is some or all of the computing nodes in the computing device cluster.

[0152] Optionally, a storage node can individually notify a compute node to update its access mode library, meaning there can be only one third compute node. Alternatively, the storage node can also use multicast or broadcast notifications to simultaneously update the access mode of the third compute node, meaning there can be multiple third compute nodes.

[0153] In this embodiment, after the storage node updates the access pattern library, it synchronizes the update with the third computing node in the computing device cluster, so that the third computing node also updates the access pattern library, thus realizing the synchronous update of the access pattern library.

[0154] The data reading method and data processing method provided in the embodiments of this application will be described below with specific examples. Please refer to Figures 9 and 10. Figure 9 is a flowchart provided in the embodiments of this application, and Figure 10 is a schematic diagram provided in the embodiments of this application.

[0155] As shown in Figure 9, compute node 1 captures I / O data through its configured data processing client and analyzes the I / O data to obtain a file access list. This file access list indicates the access order of files already accessed by compute node 1. Compute node 1 compares the file access list with the access pattern library to match file access patterns. If the match is successful, that is, the access order of the already accessed files matches the file access order indicated by the first file access pattern in the access pattern library, then compute node 1 determines the file to be accessed and prefetches the file to be accessed from the storage space of the storage node. If the match fails, then the storage node is triggered to update the access pattern library.

[0156] In the case of a failed match, the storage node obtains the framework information and compute node information of the AI ​​task. The compute node information includes the file access list of compute node 1 in the AI ​​task, the historical file access lists of other nodes, and historical file access patterns. The historical file access lists and historical file access patterns are matched. The storage node updates its access pattern library based on this information; the specific implementation process is as described in the previous section and will not be repeated here.

[0157] The updated access pattern library includes a second file access pattern, and compute node 1's file access list in the AI ​​task matches this second access pattern. After the storage node updates its access pattern library, it notifies compute node 1 to update synchronously. Based on this update notification, compute node 1 updates its own stored access pattern library, ensuring that the access pattern library stored by compute node 1 is consistent with that stored by the storage node.

[0158] Optionally, in a successfully matched scenario, compute node 1 can also send the file access list and first file access mode of compute node 1 in the AI ​​task to the storage node, so that the storage node can use this information as reference information to provide prior experience for subsequent updates to the access mode library.

[0159] It should be noted that the embodiment shown in Figure 9 uses compute node 1 as the first compute node in the aforementioned embodiment, and the storage node updates the access mode library as an example. In practical applications, the storage system may include more compute nodes, and the compute nodes may also update the access mode library; this is not limited here.

[0160] For example, as shown in Figure 10, the storage node includes an information management module and a pattern analysis module. The information management module is used to obtain the framework information and cluster node information of the AI ​​task, and the pattern analysis module is used to update the access pattern library. Optionally, the access pattern library can also be updated manually, that is, by users or operations and maintenance personnel.

[0161] In some optional implementations, the storage system provided in this application embodiment can be a cloud-based storage system. Please refer to Figure 11, which is a schematic diagram of the system architecture provided in this application embodiment.

[0162] As shown in Figure 11, a tenant logs into the cloud platform 30 via client 10 through the Internet 20 using the account and password registered on the cloud platform 30. The cloud platform 30 manages the infrastructure, which includes multiple data centers located in different regions. For example, region 1 in Figure 11 includes cloud data center 1 and cloud data center 2, and region 2 includes cloud data center 3 and cloud data center 4. Each cloud data center has multiple servers running business instances (including at least one of virtual machines, containers, and dedicated servers).

[0163] In this embodiment, a data storage service is deployed in the business instance. The tenant purchases cloud services on the cloud platform 30 through a client. The tenant sends a request to the cloud platform 30 to request cloud services. The specific content of the cloud services includes providing data storage services to the tenant, including the data reading method and data processing method described in the foregoing embodiments. See the preceding text for details, which will not be repeated here.

[0164] Please refer to Figure 12 below, which is a schematic diagram of the data reading device provided in an embodiment of this application. The data processing device is a first computing node, which is included in a computing device cluster that runs AI tasks. The first computing node stores an access pattern library, which includes at least one file access pattern, wherein each file access pattern indicates a file access order.

[0165] In some optional embodiments, the data reading device 1200 includes a transceiver unit 1201, configured to: acquire a file access list, which indicates the access order of files already accessed by the first computing node; if the access order of the already accessed files matches the file access order indicated by a first file access mode in at least one file access mode, then determine a file to be accessed, which is contained in the file indicated by the first file access mode; acquire a mapping table, which includes a mapping relationship between file identifiers and file storage locations on storage nodes; and prefetch the file to be accessed from the storage node based on the mapping table and the file identifier of the file to be accessed.

[0166] In some alternative implementations, the access order of the accessed files matches the file access order indicated by a first file access mode in at least one file access mode, including: the access order of the accessed files is the same as the file access order indicated by the first file access mode.

[0167] In some optional implementations, the AI ​​task includes training an AI model. The data reading device also includes a processing unit 1202, configured to: predict the future access frequency of the file to be accessed in the AI ​​task; and prefetch files whose future access frequency is greater than a frequency threshold into the storage space closest to the location of the first computing node.

[0168] In some optional implementations, the transceiver unit 1201 is specifically used to: prefetch the files to be accessed sequentially from the storage node according to the access order of the files to be accessed indicated by the first file access mode and the storage location of the files to be accessed in the storage node indicated by the mapping table.

[0169] In some optional implementations, the transceiver unit 1201 is further configured to: if the access order of the already accessed files matches the file access order indicated by the first file access mode in at least one file access mode, then send the framework information of the AI ​​task, the file access list of the first computing node in the AI ​​task, and the first file access mode to the storage node.

[0170] In some optional embodiments, the data reading device 1200 further includes a processing unit 1202, configured to: update the access mode library if the access order of the already accessed files does not match any of the at least one file access mode.

[0171] In some optional implementations, the processing unit 1202 is specifically configured to: obtain the file access order of the first computing node in the AI ​​task; update the access pattern library according to the file access order of the first computing node in the AI ​​task; the updated access pattern library also includes a second file access pattern, the file access order indicated by the second file access pattern matching the file access order of the first computing node in the AI ​​task.

[0172] In some optional implementations, the transceiver unit 1201 is further configured to: acquire the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node in the computing device cluster, and acquire the file access order of the first computing node in the AI ​​task.

[0173] The processing unit 1202 is specifically used to update the access pattern library based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node, and the file access order of the first computing node in the AI ​​task. The updated access pattern library also includes a second file access pattern, and the file access order indicated by the second file access pattern matches the file access order of the first computing node in the AI ​​task.

[0174] In some optional implementations, the storage node also stores an access mode library. The transceiver unit 1201 is further configured to: send a first update message to the storage node, the first update message instructing the storage node to update the access mode library, the updated access mode library also including a second file access mode.

[0175] In some optional implementations, a third computing node in the computing device cluster stores an access mode library. The transceiver unit 1201 is further configured to: send second update information to the third computing node, the second update information instructing the third computing node to update the access mode library, the updated access mode library also including a second file access mode.

[0176] In some optional implementations, the transceiver unit 1201 is also configured to receive third update information, which indicates an update to the access mode library.

[0177] The processing unit 1202 is specifically used to update the access mode library according to the third update information. The updated access mode library also includes a second file access mode. The file access order indicated by the second file access mode matches the file access order of the first computing node in the AI ​​task.

[0178] The data reading device 1200 is used to implement the operation executed by the first computing node in the foregoing embodiment, so as to realize the data reading method provided in the embodiment of this application, as detailed above, and will not be repeated here.

[0179] Please refer to Figure 13, which is a schematic diagram of the structure of the data processing device provided in an embodiment of this application. The data processing device is a storage node, which is connected to a cluster of computing devices. The cluster of computing devices runs AI tasks, and the storage node stores an access pattern library. The access pattern library includes at least one file access pattern, wherein each file access pattern indicates a file access order.

[0180] In some optional implementations, the data processing apparatus 1300 includes a transceiver unit 1301, configured to acquire the file access order of a first computing node in an AI task, wherein the file access order of the first computing node in the AI ​​task does not match any of the at least one file access pattern included in the access pattern library, and the first computing node is contained in a computing device cluster. The apparatus also acquires the framework information of the AI ​​task, the historical file access list of a second computing node in the computing device cluster, and the historical file access patterns.

[0181] The processing unit 1302 is used to update the access pattern library according to the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node, and the file access order of the first computing node in the AI ​​task. The updated access pattern library also includes a second file access pattern, and the file access order indicated by the second file access pattern is the same as the file access order of the first computing node in the AI ​​task.

[0182] In some alternative implementations, a third computing node in the computing device cluster stores an access pattern library, and the third computing node can be some or all of the computing nodes in the computing device cluster.

[0183] The transceiver unit 1301 is also used to send update information to the third computing node. The update information instructs the third computing node to update the access mode library. The updated access mode library also includes a second file access mode.

[0184] The data processing device 1300 is used to implement the operations performed by the storage node in the foregoing embodiments, so as to implement the data processing method provided in the embodiments of this application, as detailed above, and will not be repeated here.

[0185] The computing device provided in the embodiments of this application will be described below. Please refer to FIG14, which is a schematic diagram of the structure of the computing device provided in the embodiments of this application. The computing device 1400 includes a processor 1401, a memory 1402, a communication interface 1403, and a bus 1404. The processor 1401, the memory 1402, and the communication interface 1403 communicate through the bus 1404, or they can communicate through other means such as wireless transmission.

[0186] The memory 1402 stores program code, and the processor 1401 can call the program code stored in the memory 1402 to execute the operations performed by the first computing node or storage node in the foregoing embodiments, so as to realize the data reading method or data processing method provided in the embodiments of this application, which will not be described in detail here.

[0187] It should be understood that in the embodiments of this application, the processor 1401 may be a CPU, or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0188] The memory 1402 may include read-only memory and random access memory, and provides instructions and data to the processor 1401. The memory 1402 may also include non-volatile random access memory. For example, the memory 1402 may also store device type information.

[0189] The memory 1402 can be volatile memory or non-volatile memory, or it can include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0190] In addition to the data bus, bus 1404 can also include a power bus, control bus, and status signal bus. However, for clarity, all buses are labeled as bus 1404 in the diagram. Bus 1404 can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a unified bus (Ubus or UB), a Compute Express Link (CXL) bus, a Cache Coherent Interconnect for Accelerators (CCIX) bus, etc. Bus 1404 can be divided into address bus, data bus, control bus, etc.

[0191] The computing device 1400 may also include one or more communication interfaces and one or more operating systems, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM wait.

[0192] Please refer to Figures 15 and 16, which are schematic diagrams of the structure of the computing device cluster provided in the embodiments of this application.

[0193] As shown in Figure 15, the computing device cluster includes at least one computing device 1400. The memory 1402 of one or more computing devices 1400 in the computing device cluster may store the same instructions for executing the data reading method provided in the embodiments of this application.

[0194] In some possible implementations, the memory 1402 of one or more computing devices 1400 in the computing device cluster may also store partial instructions for executing the data reading method. In other words, a combination of one or more computing devices 1404 can jointly execute the instructions for executing the data reading method.

[0195] It should be noted that the memory 1402 in different computing devices 1400 within the computing device cluster can store different instructions, which are used to execute certain functions of the data reading device. That is, the instructions stored in the memory 1402 of different computing devices 1400 can implement the functions of one or more units in the transceiver unit 1201 and the processing unit 1202.

[0196] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 16 illustrates one possible implementation. As shown in Figure 16, two computing devices 1400A and 1400B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this type of possible implementation, the memory 1402 in computing device 1400A stores instructions for performing the functions of the transceiver unit 1201. Simultaneously, the memory 1402 in computing device 1400B stores instructions for performing the functions of the processing unit 1202.

[0197] The connection method between the computing device clusters shown in Figure 16 can be based on the data reading method provided in this application, which separates the processing operation from the operation outside the processing operation. That is, the function of the transceiver unit 1201 is to be performed by the computing device 1400A, and the function of the processing unit 1202 is to be performed by the computing device 1400B.

[0198] It should be understood that the functions of computing device 1400A shown in Figure 16 can also be performed by multiple computing devices 1400. Similarly, the functions of computing device 1400B can also be performed by multiple computing devices 1400.

[0199] This application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to the connection method of the computing device cluster described in Figures 15 and 16, and will not be repeated here.

[0200] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on a computer device, it causes the computer device to perform the aforementioned data reading method or data processing method.

[0201] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a computing device, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform the aforementioned data reading method or data processing method.

[0202] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0203] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.

Claims

1. A data reading method, characterized in that, The method is applied to a first computing node, which is contained within a computing device cluster that runs AI tasks; the first computing node stores an access pattern library, the access pattern library including at least one file access pattern, wherein each file access pattern indicates a file access order; the method includes: Obtain a file access list, which indicates the access order of files already accessed by the first computing node; If the access order of the already accessed files matches the file access order indicated by the first file access mode in the at least one file access mode, then a file to be accessed is determined, and the file to be accessed is contained in the file indicated by the first file access mode. Obtain the mapping table, which includes the mapping relationship between file identifiers and file storage locations on storage nodes; Based on the mapping table and the file identifier of the file to be accessed, the file to be accessed is prefetched from the storage node.

2. The method according to claim 1, characterized in that, The access order of the already accessed files matches the file access order indicated by the first file access mode in the at least one file access mode, including: The access order of the already accessed files is the same as the file access order indicated by the first file access mode.

3. The method according to claim 1 or 2, characterized in that, The AI ​​task includes training an AI model, and after prefetching the file to be accessed from the storage node, the method further includes: Predict the future access frequency of the file to be accessed in the AI ​​task; Files in the file to be accessed that have a future access frequency greater than a frequency threshold are cached in the storage space closest to the location of the first computing node.

4. The method according to any one of claims 1 to 3, characterized in that, The step of prefetching the file to be accessed from the storage node includes: According to the access order of the files to be accessed indicated by the first file access mode and the storage location of the files to be accessed on the storage node indicated by the mapping table, the files to be accessed are prefetched from the storage node in sequence.

5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: If the access order of the already accessed files matches the file access order indicated by the first file access mode in the at least one file access mode, then the framework information of the AI ​​task, the file access list of the first computing node in the AI ​​task, and the first file access mode are sent to the storage node.

6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: If the access order of the already accessed files does not match any of the at least one file access modes, then the access mode library is updated.

7. The method according to claim 6, characterized in that, The update of the access mode library includes: Obtain the file access order of the first computing node in the AI ​​task; The access pattern library is updated according to the file access order of the first computing node in the AI ​​task. The updated access pattern library also includes a second file access pattern, the file access order indicated by the second file access pattern matching the file access order of the first computing node in the AI ​​task.

8. The method according to claim 6, characterized in that, The update of the access mode library includes: Obtain the framework information of the AI ​​task, the historical file access list and historical file access mode of the second computing node in the computing device cluster; Obtain the file access order of the first computing node in the AI ​​task; Based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node, and the file access order of the first computing node in the AI ​​task, the access pattern library is updated. The updated access pattern library also includes a second file access pattern, and the file access order indicated by the second file access pattern matches the file access order of the first computing node in the AI ​​task.

9. The method according to claim 7 or 8, characterized in that, The storage node also stores the access mode library; after updating the access mode library, the method further includes: A first update message is sent to the storage node, the first update message instructing the storage node to update the access mode library, the updated access mode library also including the second file access mode.

10. The method according to any one of claims 7 to 9, characterized in that, The third computing node in the computing device cluster stores the access pattern library; After updating the access mode library, the method further includes: The third computing node is sent a second update message, which instructs the third computing node to update the access mode library. The updated access mode library also includes the second file access mode.

11. The method according to claim 6, characterized in that, The update of the access mode library includes: Receive a third update message, the third update message indicating that the access mode library should be updated; According to the third update information, the access pattern library is updated. The updated access pattern library also includes a second file access pattern, the file access order indicated by the second file access pattern matching the file access order of the first computing node in the AI ​​task.

12. A data processing method, characterized in that, The method is applied to a storage node connected to a computing device cluster that runs AI tasks. The storage node stores an access pattern library, which includes at least one file access pattern, wherein each file access pattern indicates a file access order. The method includes: Obtain the file access list of the first computing node in the AI ​​task. The file access list of the first computing node in the AI ​​task does not match any of the at least one file access modes included in the access mode library. The first computing node is included in the computing device cluster. Obtain the framework information of the AI ​​task, the historical file access list and historical file access mode of the second computing node in the computing device cluster; Based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node, and the file access list of the first computing node in the AI ​​task, the access pattern library is updated. The updated access pattern library also includes a second file access pattern, and the file access order indicated by the second file access pattern is the same as the file access order of the first computing node in the AI ​​task.

13. The method according to claim 12, characterized in that, The third computing node in the computing device cluster stores the access pattern library, wherein the third computing node is some or all of the computing nodes in the computing device cluster, and the method further includes: An update message is sent to the third computing node, the update message instructing the third computing node to update the access mode library, the updated access mode library also including the second file access mode.

14. A data reading device, characterized in that, The data processing device is a first computing node, which is included in a computing device cluster that runs AI tasks; the first computing node stores an access pattern library, which includes at least one file access pattern, wherein each file access pattern indicates a file access order; the data reading device includes a transceiver unit for: Obtain a file access list, which indicates the access order of files already accessed by the first computing node; If the access order of the already accessed files matches the file access order indicated by the first file access mode in the at least one file access mode, then a file to be accessed is determined, and the file to be accessed is contained in the file indicated by the first file access mode. Obtain the mapping table, which includes the mapping relationship between file identifiers and file storage locations on storage nodes; Based on the mapping table and the file identifier of the file to be accessed, the file to be accessed is prefetched from the storage node.

15. The apparatus according to claim 14, characterized in that, The access order of the already accessed files matches the file access order indicated by the first file access mode in the at least one file access mode, including: The access order of the already accessed files is the same as the file access order indicated by the first file access mode.

16. The apparatus according to claim 14 or 15, characterized in that, It also includes a processing unit, and the AI ​​task includes training an AI model; The processing unit is used to predict the future access frequency of the file to be accessed in the AI ​​task; The processing unit is also used to cache files in the file to be accessed whose historical access frequency is greater than a frequency threshold in the storage space closest to the location of the first computing node.

17. The apparatus according to any one of claims 14 to 16, characterized in that, The transceiver unit is specifically used for: According to the access order of the files to be accessed indicated by the first file access mode and the storage location of the files to be accessed on the storage node indicated by the mapping table, the files to be accessed are prefetched from the storage node in sequence.

18. The apparatus according to any one of claims 14 to 17, characterized in that, The transceiver unit is further configured to: If the access order of the already accessed files matches the file access order indicated by the first file access mode in the at least one file access mode, then the framework information of the AI ​​task, the file access list of the first computing node in the AI ​​task, and the first file access mode are sent to the storage node.

19. The apparatus according to any one of claims 14 to 18, characterized in that, The device further includes a processing unit for: If the access order of the already accessed files does not match any of the at least one file access modes, then the access mode library is updated.

20. The apparatus according to claim 19, characterized in that, The processing unit is specifically used for: Obtain the file access order of the first computing node in the AI ​​task; The access pattern library is updated according to the file access order of the first computing node in the AI ​​task. The updated access pattern library also includes a second file access pattern, the file access order indicated by the second file access pattern matching the file access order of the first computing node in the AI ​​task.

21. The apparatus according to claim 19, characterized in that, The transceiver unit is further configured to: Obtain the framework information of the AI ​​task, the historical file access list and historical file access mode of the second computing node in the computing device cluster; Obtain the file access order of the first computing node in the AI ​​task; The processing unit is specifically used to update the access pattern library based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node, and the file access order of the first computing node in the AI ​​task. The updated access pattern library also includes a second file access pattern, and the file access order indicated by the second file access pattern matches the file access order of the first computing node in the AI ​​task.

22. The apparatus according to claim 20 or 21, characterized in that, The storage node also stores the access mode library; the transceiver unit is further configured to: A first update message is sent to the storage node, the first update message instructing the storage node to update the access mode library, the updated access mode library also including the second file access mode.

23. The apparatus according to any one of claims 20 to 22, characterized in that, The third computing node in the computing device cluster stores the access mode library; the transceiver unit is further configured to: The third computing node is sent a second update message, which instructs the third computing node to update the access mode library. The updated access mode library also includes the second file access mode.

24. The apparatus according to claim 19, characterized in that, The transceiver unit is also configured to receive third update information, which indicates that the access mode library should be updated. The processing unit is specifically used to update the access mode library according to the third update information. The updated access mode library also includes a second file access mode, and the file access order indicated by the second file access mode matches the file access order of the first computing node in the AI ​​task.

25. A data processing apparatus, characterized in that, The data processing device is a storage node connected to a computing device cluster that runs AI tasks. The storage node stores an access pattern library, which includes at least one file access pattern, wherein each file access pattern indicates a file access order. The data processing device includes: The transceiver unit is used to obtain the file access list of the first computing node in the AI ​​task. The file access list of the first computing node in the AI ​​task does not match any of the at least one file access modes included in the access mode library. The first computing node is included in the computing device cluster. The transceiver unit is also used to obtain the framework information of the AI ​​task, the historical file access list and historical file access mode of the second computing node in the computing device cluster; The processing unit is configured to update the access pattern library based on the framework information of the AI ​​task, the historical file access list and historical file access patterns of the second computing node, and the file access order of the first computing node in the AI ​​task. The updated access pattern library also includes a second file access pattern, and the file access order indicated by the second file access pattern matches the file access order of the first computing node in the AI ​​task.

26. The apparatus according to claim 25, characterized in that, The third computing node in the computing device cluster stores the access pattern library, and the third computing node is some or all of the computing nodes in the computing device cluster. The transceiver unit is further configured to send update information to the third computing node, the update information instructing the third computing node to update the access mode library, and the updated access mode library further includes the second file access mode.

27. A storage system, characterized in that, The storage system includes compute nodes and storage nodes; The computing node is used to perform the method as described in any one of claims 1 to 11, and the storage node is used to perform the method as described in claim 12 or 13.

28. A computing device, characterized in that, Includes a processor, which is coupled to a memory; The memory stores instructions that, when executed on the processor, cause the computing device to implement the method of any one of claims 1 to 11, or the method of any one of claims 12 to 13.

29. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed on a processor, cause the method of any one of claims 1 to 11, or the method of any one of claims 12 to 13, to be implemented.

30. A computer program product, characterized in that, When the computer program product is executed on a computer, it causes the method of any one of claims 1 to 11, or the method of any one of claims 12 to 13, to be implemented.

Citation Information

Patent Citations

  • Adaptive perception acceleration method and system for hybrid memory file system

    CN107562806A

  • Data processing method, file system, equipment and medium

    CN116383142A

  • Data pre-reading method and device

    CN117807040A

  • Data processing method and data storage system

    CN118535074A

  • Predictive models of file access patterns by application and file type

    US20180260114A1