Storage and calculation integrated architecture data layering method and system oriented to compute-intensive system
By designing multiple data layers in the integrated storage and computing architecture and dynamically dividing them according to the access frequency and cyclic frequency, the challenge of data layering in computing-intensive systems is solved, and the reasonable resource allocation and nearby computing of data are realized, and the system performance and efficiency are improved.
Patent Information
- Application Number
- CN202510518633.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-24
- Publication Date
- 2025-05-27
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In the integrated storage and computing architecture for computing-intensive tasks, there are still challenges in how to accurately divide data into different levels, ensure reasonable data allocation and realize data nearby computing.
Multiple data layers are designed (hot data layer, temperature data layer, cold data layer), and dynamically divide the data based on the access call frequency average and the cyclic call frequency average. The data layering is adjusted using a hierarchical change analysis strategy to ensure that the data is at the appropriate storage level.
It realizes reasonable resource allocation and nearby computing of data, improves the performance and efficiency of the computing system, adapts to the actual scenarios of different tasks, and achieves a good balance between high real-time and high scalability.
Smart Images

Figure CN120045141A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data hierarchical processing, and specifically to a data hierarchical method and system for a memory - in - computing architecture for computing - intensive systems. Background Art
[0002] In traditional computing systems, the processor and memory are separated, and the frequent data transfer between them often becomes a performance bottleneck. In a memory - in - computing architecture, the storage unit and the computing unit are closely combined, and part of the computing tasks are completed inside the memory or even within the storage unit itself. This can effectively shorten the data transfer link, improve energy efficiency and parallel computing ability, and is particularly suitable for application scenarios with large amounts of data and computing - intensive tasks, such as deep learning, big data analysis, and scientific computing.
[0003] In a memory - in - computing architecture for computing - intensive tasks, data hierarchical processing divides the data in the system into multiple levels and maps each level of data to a matching storage / computing unit. This can achieve in - hardware near - data computing, reduce the latency and energy consumption caused by data movement, and improve the overall performance of the computing system. However, when dealing with different tasks, how to accurately divide data into different levels requires an in - depth understanding of the characteristics of the application program. In data synchronization and scheduling between different levels, how to ensure reasonable resource allocation for data is an urgent problem in this field. Summary of the Invention
[0004] Aiming at the problems existing in the above - mentioned prior art, the purpose of the present invention is to provide a data hierarchical method and system for a memory - in - computing architecture for computing - intensive systems, so as to be able to divide the corresponding data into the corresponding data levels according to the characteristics of the data, thereby ensuring reasonable resource allocation for the data and achieving in - hardware near - data computing.
[0005] To achieve the above purpose, the present invention provides the following technical solutions: A data hierarchical method for a memory - in - computing architecture for computing - intensive systems, the method comprising the following steps:
[0006] Design multiple data levels in the memory - in - computing architecture, the multiple data levels including a hot data layer, a warm data layer, and a cold data layer. The hot data layer is located on the same substrate as the computing layer in layout and is close to the computing module; the warm data layer is located on the same substrate as the computing layer in layout and is close to the hot data layer; the cold data layer is located on the same substrate as the storage layer in layout;
[0007] After inputting a computing task into the memory - in - computing architecture, divide the computing data of the computing task into the warm data layer. After the number of access calls to the computing task reaches a preset number, divide it into the corresponding data level according to the average value of the access call frequency of each sub - data in the computing data;
[0008] Set the number of times for loop call analysis. After each sub - data in the calculation data is classified into the corresponding data layer, when the number of times the calculation task is called reaches the number of loop call analysis times, obtain the average value of the loop call frequency of each sub - data in the calculation data, and perform a secondary data layer classification for each sub - data;
[0009] After performing the secondary data layer classification, when the results of the two - layer data classification of the sub - data are the same, maintain the data layer classification type of the sub - data; when the results of the two - layer data classification of the sub - data are different, execute a layer change analysis strategy to determine whether the sub - data needs to be classified into a different data layer.
[0010] In some embodiments, set a hot layer call threshold and a cold layer call threshold. When the number of access calls to the calculation task reaches a preset number, if there is sub - data in the calculation data whose average access call frequency exceeds the hot layer call threshold, then classify this type of sub - data into the hot data layer; if there is sub - data in the calculation data whose average access call frequency is between the hot layer call threshold and the cold layer call threshold, then do not operate on this type of sub - data and let it remain in the warm data layer; if there is sub - data in the calculation data whose average access call frequency is lower than the cold layer call threshold, then classify this type of sub - data into the cold data layer.
[0011] In some embodiments, the layer change analysis strategy includes obtaining the number of times the sub - data with different results in the two - layer data classification falls into each data layer during the loop call execution of the calculation data, marking the data layer where the sub - data was originally classified as the original layer, marking the layers other than the data layer where the sub - data was originally classified as the different layer, obtaining the original layer occupancy ratio, setting a reasonable occupancy ratio threshold, comparing the original layer occupancy ratio with the reasonable occupancy ratio threshold, and making corresponding responses according to the comparison results.
[0012] In some embodiments, when the original layer occupancy ratio is greater than or equal to the reasonable occupancy ratio threshold, maintain the original layer of the sub - data; when the original layer occupancy ratio is less than the reasonable occupancy ratio threshold, change and classify it into the data layer where the average loop call frequency of the sub - data falls.
[0013] In some embodiments, set a standard capacity threshold. After executing the layer change analysis strategy, if the sub - data maintains the original layer and the original layer is the hot data layer, obtain the capacity occupied by the sub - data, compare the capacity occupied by the sub - data with the standard capacity threshold. If the capacity occupied by the sub - data is greater than the standard capacity threshold, then obtain a secondary reasonable occupancy ratio threshold and determine whether the sub - data should be downgraded and classified into the warm data layer or the cold data layer.
[0014] In some embodiments, the capacity excess value Cz = Zj - Bz is obtained by subtracting the capacity Zj occupied by the sub-data from the standard capacity threshold Bz. The loop call frequency difference value Yz = Rd - Rj is obtained by subtracting the hot layer call threshold Rd from the average loop call frequency Rj. The proportion growth value Zu = Cz × Yz × k is obtained by combining the capacity excess value Cz and the loop call frequency difference value Yz, where k is an adjustment factor. Based on the reasonable proportion threshold, the proportion growth value is added to obtain the secondary reasonable proportion threshold, and the sub-data is again subjected to the hierarchical change analysis strategy, and the secondary reasonable proportion threshold is used to replace the reasonable proportion threshold to compare with the original hierarchical proportion value for size comparison.
[0015] In some embodiments, if the original hierarchical proportion value of the sub-data is greater than or equal to the secondary reasonable proportion threshold, the operation of classifying the sub-data into the hot data layer is maintained; if the original hierarchical proportion value of the sub-data is less than the secondary reasonable proportion threshold, it is classified into the warm data layer or the cold data layer according to the average loop call frequency of the sub-data.
[0016] In some embodiments, when the sub-data is divided from the hot data layer to the cold data layer after performing the hierarchical change analysis strategy twice, the sub-data is marked as high-fluctuation data, and the high-frequency call analysis times are set. The high-frequency call analysis times should be less than the loop call analysis times. The high-fluctuation data will subsequently use the high-frequency call analysis times to replace the loop call analysis times to obtain the average loop call frequency of the high-fluctuation data in the calculation data and perform the subsequent operation steps.
[0017] The present invention also provides the following technical solution: A data hierarchical system for a memory-computation integrated architecture for a compute-intensive system, including:
[0018] A data hierarchical module, which designs multiple data hierarchies in the memory-computation integrated architecture. The multiple data hierarchies include a hot data layer, a warm data layer, and a cold data layer. The hot data layer is located on the same substrate as the computation layer in terms of layout and is close to the computation module; the warm data layer is located on the same substrate as the computation layer in terms of layout and is close to the hot data layer; the cold data layer is located on the same substrate as the storage layer in terms of layout;
[0019] A primary division module, after inputting the computation task into the memory-computation integrated architecture, divides the computation data of the computation task into the warm data layer, and after the number of access calls of the computation task reaches the preset number of times, divides it into the corresponding data hierarchies according to the average access call frequency of each sub-data in the computation data;
[0020] The secondary partitioning module sets the number of times for looped call analysis. After each type of sub-data in the calculation data is partitioned into the corresponding data layers, when the number of times the calculation task is called reaches the number of times for looped call analysis, the average value of the looped call frequencies of each type of sub-data in the calculation data is obtained, and each type of sub-data is subjected to secondary data layer partitioning;
[0021] The change analysis module, after performing the secondary data layer partitioning, when the results of the two data layer partitionings of the sub-data are the same, maintains the data layer partitioning type of the sub-data; when the results of the two data layer partitionings of the sub-data are different, executes a hierarchical change analysis strategy to determine whether the sub-data needs to be partitioned into different data layers.
[0022] The present invention further provides a computer-readable storage medium storing a computer program, and the computer program is executed by a processor to implement the above-mentioned data layer partitioning method for the memory-computation integrated architecture for a compute-intensive system.
[0023] The technical solution provided by the present invention has the following beneficial effects compared with the prior art:
[0024] First, through a hierarchical data layer design, the present invention uses the average value of access call frequencies as an important indicator, and partitions data between the hot, warm, and cold data layers according to preset hot layer call thresholds and cold layer call thresholds, ensuring that data with a higher access frequency is in the high-speed storage layer, thereby achieving real-time data exchange.
[0025] Second, by using real-time monitoring of the looped calls of the calculation tasks, the present invention can dynamically update the distribution state of data between layers. By counting the number of times the sub-data actually falls into the original layer and the different layer during the looped calls, an objective proportion of the original layer is obtained, enabling the system to flexibly adjust the data layer according to the actual call situation, and thus more precisely adapt to the actual scenario of data calls.
[0026] Third, when an exception occurs in the sub-data of the hot data layer, through the secondary partitioning strategy, it is ensured that only the data that both has a high call frequency and meets the capacity requirements remains in the hot data layer. In the system design, the characteristics of different storage layers are fully utilized to ensure a good balance between high real-time performance and high scalability of the entire memory-computation integrated architecture.
[0027] Fourth, by timely adjusting the high-fluctuation data and shortening the frequency of detecting its layer partitioning, this mechanism ensures that even in the case of large fluctuations in the call frequency, it can be determined whether the storage layer of the data needs to be adjusted according to the actual usage situation, preventing incorrect layering caused by short-term exceptions. Description of the Drawings
[0028] Figure 1A schematic diagram of the flow of the data stratification method for the storage-computation integrated architecture of a computing-intensive system according to the present invention;
[0029] Figure 2 The module diagram of the data tiering system of the storage-computing integrated architecture for computing-intensive systems of the present invention is shown. DETAILED DESCRIPTION
[0030] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0031] It is to be understood that the term "one" should be understood as "at least one" or "one or more", that is, in one embodiment, the number of an element may be one, while in another embodiment, the number of the element may be multiple, and the term "one" should not be understood as a limitation on the quantity.
[0032] The present invention provides a data stratification method for a storage-computation integrated architecture for a computing-intensive system. Figure 1 As shown, including:
[0033] Step 1: Use 3D stacking packaging technology to connect the storage layer and the computing layer through high-speed interfaces such as silicon through vias or micro-bumps, thereby shortening the physical distance between the storage module and the computing module. It also allows flexible combination of storage and computing modules in different proportions to build a storage-computing integrated architecture to eliminate unnecessary data movement generated by traditional cross-chip computing, and design multiple data layers in the storage-computing integrated architecture. The multiple data layers include hot data layers, warm data layers, and cold data layers. The hot data layer is used to store and process data that is frequently accessed. It is close to the computing unit during layout and directly connected to the computing layer through a high-speed bus and a wide data channel, so that it is located on the same substrate as the computing layer and close to the computing unit. Modules, thereby realizing real-time data exchange; the warm data layer is used to store and process data with low access frequency but still with certain real-time requirements. In terms of layout, it is located on the same substrate as the computing layer and close to the hot data layer. Although it cannot be close to the computing module, it can rely on 3D packaging technology to maintain a low physical distance and a reasonable interconnection structure. In terms of interface design, a moderately compressed bus bandwidth can be used to meet real-time requirements; the cold data layer is used to store and process data with low access frequency and insensitive to access delay. In terms of layout, it is located on the same substrate as the storage layer, but it complements the warm data layer through vertical stacking and high-speed interfaces. This layer realizes batch data transmission and update between the warm data layer and the high-speed interface;
[0034] Step 2: After the computing task is input into the in-memory computing architecture, the computing data of the computing task is divided into the warm data layer. After the number of access calls to the computing task reaches the preset number of times, it is divided into the corresponding data layers according to the average access call frequency of each sub-data in the computing data. Specifically, the hot layer call threshold and the cold layer call threshold should be set, and the hot layer call threshold is greater than the cold layer call threshold. When the number of access calls to the computing task reaches the preset number of times, if there is sub-data in the computing data whose average access call frequency exceeds the hot layer call threshold, then this type of sub-data is classified into the hot data layer; if there is sub-data in the computing data whose average access call frequency is between the hot layer call threshold and the cold layer call threshold, then no operation is performed on this type of sub-data, and it remains in the warm data layer; if there is sub-data in the computing data whose average access call frequency is lower than the cold layer call threshold, then this type of sub-data is classified into the cold data layer. For example, assume a computing task of a convolutional neural network is input, the preset number of times is set to 3 times, the hot layer call threshold is set to 100 times, and the cold layer call threshold is set to 50 times. When the in-memory computing architecture calls the computing task of this convolutional neural network 3 times, the activation values and some key feature maps output by the convolutional layer are called more than 150 times on average in the 3 calculations, so these types of sub-data are classified into the hot data layer; some weight matrices or bias parameters are called 60 - 80 times on average in the 3 calculations, so these types of sub-data are classified into the warm data layer; for the global parameters and normalization statistical data in the network, the average number of calls per calculation in the 3 calculations is less than 50 times, so these types of sub-data are classified into the cold data layer;
[0035] Step 3: Set the number of loop call analyses. After each sub-data in the computing data is divided into the corresponding data layer, when the number of calls to the computing task reaches the number of loop call analyses, obtain the average loop call frequency of each sub-data in the computing data, and perform a secondary data layer division on each sub-data according to the hot layer call threshold and the cold layer call threshold;
[0036] Step 4: After performing the secondary data stratification, when the results of the two data stratifications for the sub-data are the same, maintain the data stratification type of the sub-data; when the results of the two data stratifications for the sub-data are different, execute the stratification change analysis strategy to determine whether the sub-data needs to be divided into different data stratifications. For example, when the number of times a computing task is accessed and called reaches a preset number of times, the average access and call frequency of a type of sub-data is 120 times, which is greater than the set hot layer call threshold of 100 times. Then, the result of the first data stratification is to classify the sub-data into the hot data layer. When the number of times the computing task is called reaches the loop call analysis number of times, the average loop call frequency of the sub-data is 90 times, which is between the hot layer call threshold and the cold layer call threshold. This means that after the secondary data stratification, the sub-data should be in the warm data layer. At this time, the stratification change analysis strategy is executed.
[0037] The hierarchical change analysis strategy includes obtaining the number of times the sub - data with different results of data hierarchical division in two times falls into each data layer during the loop call of computing data. Mark the data layer where the sub - data was originally divided as the original layer, mark the layers other than the data layer where the sub - data was originally divided as the difference layer, and obtain the proportion of the original layer. Specifically, the proportion of the original layer Pt = Ln÷Rn is obtained by the number of times Ln that the sub - data falls into the original layer during the loop call and the number of loop call analysis times Rn. Set a reasonable proportion threshold, compare the proportion of the original layer with the reasonable proportion threshold, and make corresponding responses according to the comparison result. When the proportion of the original layer is greater than or equal to the reasonable proportion threshold, it indicates that although the average value of the loop call frequency of the sub - data falls into the difference layer during the loop call of computing data, most of the call situations of the sub - data meet the conditions of the original layer during the loop call of the computing task. Then, the data layer of the sub - data will not be changed, and its original layer will be maintained. When the proportion of the original layer is less than the reasonable proportion threshold, it indicates that there are more cases where the frequency of the sub - data falls into the difference layer during the loop call of computing data. Then, according to the data layer where the average value of the loop call frequency of the sub - data falls, it will be changed and classified into this data layer. Taking the above - mentioned embodiment as an example, assume that the number of loop call analysis times is 50 times. The sub - data is divided into the hot data layer after the first data hierarchical division. When the number of access calls to the computing task reaches 10 times, the average value of the loop call frequency of the sub - data is 90 times. Execute the hierarchical change analysis strategy, and obtain that the sub - data is called 120, 130, 120, 120, 0, 5, 90, 35, 130, and 150 times respectively in 10 accesses. That is, during the loop call of the computing task, the sub - data falls into the original layer 6 times and into the difference layer 4 times. It can be obtained that the proportion of the original layer is 0.6. Set the reasonable proportion threshold to 0.5. Since the proportion of the original layer is greater than the reasonable proportion threshold at this time, the judgment of classifying the sub - data into the hot data layer is maintained.
[0038] After executing the hierarchical change analysis strategy, if the original hierarchical occupancy ratio is greater than or equal to the reasonable occupancy ratio threshold, resulting in the maintenance of the original hierarchy for the sub-data, and the original hierarchy is the hot data layer, obtain the capacity occupied by the sub-data, set the standard capacity threshold, and compare the capacity occupied by the sub-data in the hot data layer after performing the hierarchical change analysis measurement with the standard capacity threshold. If the capacity occupied by the sub-data is less than or equal to the standard capacity threshold, maintain the operation of classifying the sub-data into the hot data layer; if the capacity occupied by the sub-data is greater than the standard capacity threshold, obtain the capacity excess value of the sub-data, and determine whether the sub-data is downgraded into the warm data layer or the cold data layer based on the difference between the capacity excess value and the loop call frequency difference value. Specifically, the capacity excess value Cz = Zj - Bz is obtained by subtracting the standard capacity threshold Bz from the capacity Zj occupied by the sub-data, the loop call frequency difference value Yz = Rd - Rj is obtained by subtracting the loop call frequency mean Rj from the hot layer call threshold Rd, and the occupancy ratio increase value Zu = Cz × Yz × k is obtained by combining the capacity excess value Cz and the loop call frequency difference value Yz, where k is an adjustment factor. The secondary reasonable occupancy ratio threshold is obtained by adding the occupancy ratio increase value to the reasonable occupancy ratio threshold, and the sub-data is again subjected to the hierarchical change analysis strategy, using the secondary reasonable occupancy ratio threshold instead of the reasonable occupancy ratio threshold to compare with the original hierarchical occupancy ratio. If the original hierarchical occupancy ratio of the sub-data is greater than or equal to the secondary reasonable occupancy ratio threshold, maintain the operation of classifying the sub-data into the hot data layer; if the original hierarchical occupancy ratio of the sub-data is less than the secondary reasonable occupancy ratio threshold, classify the sub-data into the warm data layer or the cold data layer according to the loop call frequency mean of the sub-data. Taking the above embodiments as an example, during the process of loop calls for computing tasks, the sub-data fell into the original hierarchy 6 times and into the differential hierarchy 4 times. Since the original hierarchical occupancy ratio is greater than the reasonable occupancy ratio threshold, the judgment of classifying the sub-data into the hot data layer is maintained. The standard capacity threshold is set to 20MB, and the capacity occupied by the sub-data is 26MB. Then the capacity excess value of the sub-data is 6MB. When the hot layer call threshold is set to 100 times, the loop call frequency mean of the sub-data is set to 90 times, and the loop call frequency difference value can be obtained as 10 times. The adjustment factor k is set to 5‰, and the occupancy ratio increase value is calculated as 6 × 10 × 0.005 = 0.3. When the reasonable occupancy ratio threshold is 0.5, the sum of the occupancy ratio increase value and the reasonable occupancy ratio threshold gives the secondary reasonable occupancy ratio threshold of 0.8. According to the example in the above embodiments, the original hierarchical occupancy ratio of the sub-data is 0.6. Since the original hierarchical occupancy ratio is less than the secondary reasonable occupancy ratio threshold, the sub-data should be classified into the warm data layer according to its loop call frequency mean of 90 times.This method not only considers the call frequency of sub - data, but also introduces the index of capacity excess value. When the average value of the loop call frequency of sub - data is abnormal, if, according to the comparison between the original hierarchical occupancy ratio and the reasonable occupancy ratio threshold, the sub - data in the hot data layer remains in the hot data layer, the capacity occupied by the sub - data in this hot data layer will be checked. When the sub - data capacity is large, even if it is initially classified into the hot data layer, it can be downgraded in a timely manner according to the secondary reasonable occupancy ratio threshold, and the data with a large capacity can be migrated to the warm or cold data layer. The main reason for this design is as follows: In the design of step one above, the layout design of the hot data layer is on the same base as the computing layer and is close to the computing module. This makes the layout space of the hot data layer limited while ensuring that the data is close to the handling, and the expandable capacity is low. The layout design of the warm data layer can occupy the remaining positions of the computing layer, and the cold data layer can even occupy all the available space of the storage layer in terms of layout. Under the condition that the capacity of the cold data layer is greater than that of the warm data layer and greater than that of the hot data layer, different levels of storage resources should be fully utilized. Due to the limited capacity of the hot data layer, through the comprehensive judgment of capacity and call frequency, sufficient fast storage resources are ensured for the truly frequently accessed data. For data with fluctuating access frequencies and large capacities, they are automatically transferred to the warmer or colder data layers with more generous capacities. This adaptive hierarchical mechanism is beneficial for the entire memory - computing integrated architecture to maintain good load balance and high scalability under different workloads.
[0039] It should be noted that the above-mentioned further operations of the sub-data in the hot data layer are carried out after the implementation of the hierarchical change analysis strategy. After the original hierarchical occupancy ratio of the sub-data is less than the secondary reasonable occupancy ratio threshold, the sub-data will be classified into the warm data layer or the cold data layer according to the average value of the cyclic call frequency of the sub-data. If the sub-data is classified from the hot data layer to the warm data layer after two executions of the hierarchical change analysis strategy, no processing is required; if the sub-data is classified from the hot data layer to the cold data layer after two executions of the hierarchical change analysis strategy, it means that there are significant differences in the 10 cyclic calls of the sub-data. This is because in the first execution of the hierarchical change analysis strategy, only when the original hierarchical occupancy ratio is greater than or equal to the reasonable occupancy ratio threshold and the sub-data remains in the hot data layer, the second hierarchical change analysis strategy will be executed. And the average value of the cyclic call frequency of the sub-data falls within the range of the cold data layer, which means that the sub-data has not been called or has been called very few times in the 10 cyclic calls. For such sub-data with a large difference in call frequency, it is marked as high-fluctuation data, and the number of high-frequency call analysis times needs to be set. The number of high-frequency call analysis times should be less than the number of cyclic call analysis times. For example, when the number of cyclic call analysis times is set to 10 times, the number of high-frequency call analysis times can be set to 5 times. In the follow-up, the high-frequency call analysis times will be used to replace the cyclic call analysis times for high-fluctuation data to obtain the average value of the cyclic call frequency of high-fluctuation data in the calculation data and execute the subsequent operation steps (that is, high-fluctuation data obtains the average value of the cyclic call frequency according to the number of high-frequency call analysis times when executing step three). That is, it increases the frequency of access call times and hierarchical division for high-fluctuation data, making the analysis and evaluation of high-fluctuation data more frequent, so as to identify the drastic fluctuations in the access pattern in advance, facilitate timely adjustment of the hierarchical type when the data usage scenario changes, and reduce the phenomenon that the resources of the hot data layer are occupied by low-frequency data or high-frequency data are stranded in the cold data layer.
[0040] Generally speaking, the present invention aims to design a data hierarchical method for the memory - in - computing architecture for computationally intensive systems. Aiming at the problem that the current memory - in - computing architecture cannot accurately and timely divide data into levels, the present invention designs a hierarchical data stratification (hot data layer, warm data layer, and cold data layer), uses the average value of access call frequencies as an important indicator, and according to the preset hot layer call threshold and cold layer call threshold, divides data among the hot, warm, and cold data layers to ensure that data with a higher access frequency is in the high - speed storage layer, thus realizing real - time data exchange. For the data after the initial stratification, real - time monitoring is carried out by means of loop calls to computational tasks, which can dynamically update the distribution state of data among the layers. By counting the number of times the sub - data actually falls into the original stratification and the differential stratification during the loop call, an objective proportion of the original stratification is obtained, enabling the system to flexibly adjust the data stratification according to the actual call situation, thereby more precisely adapting to the actual scenario of data calls. When an abnormality occurs in the sub - data of the hot data layer, through a secondary stratification strategy, it is ensured that only the data with both a high call frequency and meeting the capacity requirements remains in the hot data layer. In system design, the characteristics of different storage layers (the hot data layer has the least capacity, the warm data layer has the second - least capacity, and the cold data layer has the largest capacity) are fully utilized to ensure a good balance between high real - time performance and high scalability in the entire memory - in - computing architecture. And by timely adjusting the highly fluctuating data and shortening the frequency of detecting its hierarchical division, this mechanism ensures that even in the case of large fluctuations in call frequency, it can be judged whether it is necessary to adjust the storage level of data according to the actual usage situation, preventing incorrect stratification caused by short - term abnormalities, and ensuring that system resources are always configured on the most suitable data.
[0041] The present invention provides a data stratification system for the memory - in - computing architecture for computationally intensive systems, as Figure 2 shown, including:
[0042] A data stratification module that designs multiple data stratifications in the memory - in - computing architecture. The multiple data stratifications include a hot data layer, a warm data layer, and a cold data layer. The hot data layer is located on the same substrate as the computing layer in layout and is close to the computing module; the warm data layer is located on the same substrate as the computing layer in layout and is close to the hot data layer; the cold data layer is located on the same substrate as the storage layer;
[0043] A primary division module that, after inputting a computational task into the memory - in - computing architecture, divides the computational data of the computational task into the warm data layer. After the number of access calls to the computational task reaches a preset number, it divides the data into the corresponding data stratifications according to the average value of each access call frequency of each sub - data in the computational data;
[0044] The secondary partitioning module sets the number of times of loop - call analysis. After each sub - data in the calculation data is partitioned into the corresponding data layer, when the number of times the calculation task is called reaches the number of times of loop - call analysis, it obtains the average value of the loop - call frequency of each sub - data in the calculation data, and performs a secondary data - layer partitioning on each sub - data;
[0045] The change - analysis module, after performing the secondary data - layer partitioning, when the result of the sub - data in the two data - layer partitionings is the same, maintains the data - layer partitioning type of the sub - data; when the result of the sub - data in the two data - layer partitionings is different, executes a hierarchical - change analysis strategy to determine whether the sub - data needs to be partitioned into a different data layer.
[0046] In the embodiments disclosed by the present invention, the process described above with reference to the flow chart can be implemented as a computer software program. The embodiments disclosed by the present invention include a computer program product, which includes a computer program carried on a computer - readable medium. The computer program contains program codes for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part and / or installed from a removable medium. When the computer program is executed by the central processing unit, it executes the above - defined functions in the method of the present application. It should be noted that the above - mentioned computer - readable medium in the present application can be a computer - readable signal medium or a computer - readable storage medium or any combination of the two. The computer - readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer - readable storage medium can include, but are not limited to: an electrical connection with one or more wire segments, a portable computer disk, a hard disk, a random - access memory, a read - only memory, an erasable programmable read - only memory, an optical fiber, a portable compact disk read - only memory, an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer - readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or combined with an instruction - execution system, apparatus, or device. In the present application, the computer - readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries the computer - readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer - readable signal medium can also be any computer - readable medium other than the computer - readable storage medium, and this computer - readable medium can send, propagate, or transmit a program for use by or combined with an instruction - execution system, apparatus, or device. The program code contained on the computer - readable medium can be transmitted by any appropriate medium, including but not limited to: wireless segments, wire segments, optical cables, RF, etc., or any suitable combination of the above.
[0047] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.
[0048] Those skilled in the art should understand that the above description is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed in the present application should be covered by the protection scope of the present application.
Claims
1. A data stratification method for storage-computation integrated architecture for computing-intensive systems, characterized in that: The method comprises the following steps: Multiple data layers are designed in the storage-computing integrated architecture. The multiple data layers include hot data layer, warm data layer and cold data layer. The hot data layer is located on the same base as the computing layer and is close to the computing module. The warm data layer is located on the same base as the computing layer and is close to the hot data layer. The cold data layer is located on the same base as the storage layer. After the computing task is input into the storage-computing integrated architecture, the computing data of the computing task is divided into the warm data layer. After the computing task is accessed and called a preset number of times, it is divided into the corresponding data layer according to the average access call frequency of each sub-data in the computing data. Set the number of loop call analysis times. After each sub-data in the calculation data is divided into the corresponding data layer, when the number of times the calculation task is called reaches the number of loop call analysis times, obtain the average loop call frequency of each sub-data in the calculation data, and divide each sub-data into secondary data layers; After performing the secondary data hierarchical division, when the results of the two data hierarchical divisions of the sub-data are the same, the data hierarchical division type of the sub-data is maintained; When the results of two data stratification divisions of the sub-data are different, a stratification change analysis strategy is executed to determine whether the sub-data needs to be divided into different data strata.
2. The data stratification method for storage-computation integrated architecture for computing-intensive systems according to claim 1, characterized in that: Set the hot layer call threshold and the cold layer call threshold. When the number of access calls of the computing task reaches the preset number, if there is sub-data in the computing data whose average access call frequency exceeds the hot layer call threshold, then this seed data type is classified into the hot data layer. When there is sub-data in the calculation data whose average access call frequency is between the hot layer call threshold and the cold layer call threshold, no operation will be performed on this seed data type, so that it will remain in the warm data layer; when there is sub-data in the calculation data whose average access call frequency is lower than the cold layer call threshold, this seed data type will be classified into the cold data layer.
3. The data stratification method for storage-computation integrated architecture for computing-intensive systems according to claim 2, characterized in that: The stratified change analysis strategy includes obtaining the number of times that sub-data with different data stratification results fall into each data stratum when calculating the data execution loop call, marking the data stratum originally divided by the sub-data as the original stratum, marking the stratum outside the data stratum originally divided by the sub-data as the difference stratum, and obtaining the original stratum proportion value, setting a reasonable proportion threshold, comparing the original stratum proportion value with the reasonable proportion threshold, and making corresponding responses based on the comparison results.
4. The data stratification method for storage-computation integrated architecture for computing-intensive systems according to claim 3, characterized in that: When the original stratification ratio is greater than or equal to the reasonable ratio threshold, the original stratification of the sub-data will be maintained; when the original stratification ratio is less than the reasonable ratio threshold, the sub-data will be changed to the data stratification according to the data stratification into which the average cyclic call frequency of the sub-data falls.
5. The data stratification method for storage-computation integrated architecture for computing-intensive systems according to claim 4, characterized in that: Set the standard capacity threshold. After executing the tier change analysis strategy, if the sub-data maintains the original tier and the original tier is the hot data tier, obtain the capacity occupied by the sub-data and compare the capacity occupied by the sub-data with the standard capacity threshold. If the capacity occupied by the sub-data is greater than the standard capacity threshold, obtain the secondary reasonable proportion threshold and determine whether the sub-data is downgraded to the warm data tier or the cold data tier.
6. The data stratification method for storage-computation integrated architecture for computing-intensive systems according to claim 5, characterized in that: The capacity excess value Cz=Zj-Bz is obtained by subtracting the capacity occupied by the sub-data from the standard capacity threshold Bz, and the cycle call frequency difference value Yz=Rd-Rj is obtained by subtracting the hot layer call threshold Rd and the cycle call frequency mean Rj. The capacity excess value Cz is combined with the cycle call frequency difference value Yz to obtain the proportion growth value Zu=Cz×Yz×k, where k is the adjustment factor. The proportion growth value is added to the reasonable proportion threshold to obtain the secondary reasonable proportion threshold, and the sub-data is subjected to the stratified change analysis strategy again, and the secondary reasonable proportion threshold is used instead of the reasonable proportion threshold to compare with the original stratified proportion value.
7. The data stratification method for storage-computation integrated architecture for computing-intensive systems according to claim 6, characterized in that: If the original stratification ratio of the sub-data is greater than or equal to the secondary reasonable ratio threshold, the operation of classifying the sub-data into the hot data layer is maintained; if the original stratification ratio of the sub-data is less than the secondary reasonable ratio threshold, the sub-data is classified into the warm data layer or the cold data layer according to the average cyclic call frequency of the sub-data.
8. The data stratification method for storage-computation integrated architecture for computing-intensive systems according to claim 7, characterized in that: After the sub-data executes the hierarchical change analysis strategy twice, it is divided from the hot data layer to the cold data layer, and the sub-data is marked as high-volatility data. The high-frequency call analysis times are set. The high-frequency call analysis times should be less than the cyclic call analysis times. The high-volatility data will subsequently use the high-frequency call analysis times instead of the cyclic call analysis times to obtain the average cyclic call frequency of the high-volatility data in the calculated data and execute subsequent operation steps.
9. A data tiering system with integrated storage and computing architecture for computing-intensive systems, characterized in that: The data stratification method for storage-computation integrated architecture for computing-intensive systems according to any one of claims 1 to 8 comprises: Data tiering module: multiple data tiers are designed in the storage-computing integrated architecture. The multiple data tiers include hot data tier, warm data tier and cold data tier. The hot data tier is located on the same base as the computing tier and is close to the computing module. The warm data tier is located on the same base as the computing tier and is close to the hot data tier. The cold data tier is located on the same base as the storage tier. The primary partitioning module, after inputting the computing task into the storage-computing integrated architecture, divides the computing data of the computing task into the warm data layer. After the computing task is accessed and called a preset number of times, it is divided into the corresponding data layer according to the average access call frequency of each sub-data in the computing data. The secondary division module sets the number of loop call analysis. After each sub-data in the calculation data is divided into the corresponding data layer, when the number of times the calculation task is called reaches the number of loop call analysis, the average loop call frequency of each sub-data in the calculation data is obtained, and each sub-data is divided into secondary data layers; The change analysis module, after executing the secondary data stratification, when the results of the sub-data in the two data stratification divisions are the same, maintains the data stratification division type of the sub-data; when the results of the sub-data in the two data stratification divisions are different, executes the stratification change analysis strategy to determine whether the sub-data needs to be divided into different data layers.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement the data stratification method for storage-computing integrated architecture for computing-intensive systems as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Hierarchical storage method, hierarchical storage system and object access controller
CN103795756A
Method and system for layer-management of storage system
CN103914516A
Data migration device and method for storage automatic hierarchy
CN106598501A
Storage management method and device, electronic equipment and storage medium
CN116643704A
Hierarchical load estimation system, method, and program
WO2009044589A1