Intelligent scheduling method and device for distributed storage resources
By constructing a multidimensional data space and a tree-like abstract data structure, extracting multimodal feature vectors, predicting user satisfaction, establishing a resource demand priority mapping table, constructing a multi-objective optimization model, and performing lightweight rule scheduling, the problems of low resource utilization and insufficient scheduling intelligence in traditional distributed storage systems are solved, achieving efficient and stable resource management and improved user experience.
Patent Information
- Application Number
- CN202511501782.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-21
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2045-10-21
AI Technical Summary
Traditional distributed storage systems have low resource utilization, especially in AI large model training scenarios where GPU utilization is less than 30%, poor efficiency in small file processing, and insufficient intelligent resource scheduling. They cannot intelligently adjust resource allocation strategies according to dynamic changes in business scenarios, resulting in resource waste and performance bottlenecks.
By collecting multimodal data, constructing a multidimensional data space and a tree-like abstract data structure, extracting multimodal feature vectors, predicting user satisfaction, establishing a resource demand priority mapping table, constructing a multi-objective optimization model, and performing lightweight rule scheduling, intelligent scheduling of distributed storage resources is achieved.
It improves the resource utilization and performance of the storage system, enhances system stability and ease of use, reduces the risk of equipment failure, and improves user experience and the system's flexibility in adapting to dynamic business changes.
Smart Images

Figure CN120994404B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data processing, in particular to a distributed storage resource intelligent scheduling method and device. BACKGROUND
[0002] As the basic architecture of modern cloud computing and big data processing, distributed storage systems have developed from early open source solutions such as HDFS and Ceph to enterprise-level solutions that support multi-protocol integration, high performance, high availability, and fault tolerance.
[0003] However, with the growing demand for artificial intelligence large model training and inference and the continuous iteration of technology, as well as the emergence of diverse business scenarios such as databases and office work, traditional distributed storage systems face multiple challenges:
[0004] Low resource utilization, in the AI large model training scenario, the utilization rate of GPU is usually less than 30%, causing great resource waste; poor efficiency in processing small files, large model training datasets usually contain tens of billions to hundreds of billions of small files, and traditional distributed systems have low efficiency in reading and writing small files; lack of intelligence in resource scheduling, existing scheduling strategies are mostly based on fixed rules or simple prediction, lacking deep understanding of complex workloads and dynamic adaptation capabilities. For example, OLTP databases require low-latency, high-IOPS SSD storage, while video conferencing systems require high-bandwidth, large-capacity object storage.
[0005] Traditional scheduling methods cannot intelligently adjust resource allocation strategies according to the dynamic changes of business scenarios, leading to resource waste and performance bottlenecks. SUMMARY
[0006] The technical problem to be solved by the present application is to provide a distributed storage resource intelligent scheduling method and device, which realizes intelligent scheduling management of distributed storage resources.
[0007] To solve the above technical problems, the technical solutions of the present application are as follows:
[0008] In a first aspect, a distributed storage resource intelligent scheduling method is provided, the method comprising:
[0009] Collecting multi-modal data in a distributed storage system; analyzing the multi-modal data to extract multi-modal data features including text features and time sequence features to obtain feature vectors of different modalities; constructing a multi-dimensional data space with storage server rack positions and storage device physical partitions as references, and constructing a tree-like abstract data structure based on the multi-dimensional data space; dividing a plurality of partition units in the abstract data structure with physical server nodes as basic units, dividing the partition units according to data distribution characteristics to form a plurality of sub-regions, mapping data to corresponding sub-regions, and obtaining resource adjustment parameters according to data features of each sub-region;
[0010] concatenate the feature vectors of different modalities to obtain a multi-modal feature vector;
[0011] predict user satisfaction based on the multi-modal feature vector and the resource adjustment parameter; and establish a resource demand priority mapping table under different business scenarios according to the user satisfaction;
[0012] construct a multi-objective optimization model according to the resource demand priority mapping table;
[0013] predict resource states and load conditions of each node in the distributed storage system based on the multi-objective optimization model;
[0014] perform lightweight rule scheduling according to the resource states and load conditions of each node to obtain a preliminary scheduling scheme.
[0015] In a second aspect, the distributed storage resource intelligent scheduling apparatus comprises:
[0016] The acquisition module is configured to acquire multi-modal data in the distributed storage system; analyze the multi-modal data; extract multi-modal data features including text features and time sequence features to obtain feature vectors of different modalities; construct a multi-dimensional data space with reference to storage server rack positions and storage device physical partitions; construct a tree-shaped abstract data structure based on the multi-dimensional data space; divide a plurality of partition units in the abstract data structure with physical server nodes as basic units; divide the partition units according to data distribution characteristics to form a plurality of sub-regions; map the data to corresponding sub-regions; and obtain resource adjustment parameters according to data features of each sub-region.
[0017] The concatenation module is configured to concatenate the feature vectors of different modalities to obtain a multi-modal feature vector.
[0018] The construction module is configured to predict user satisfaction based on the multi-modal feature vector and the resource adjustment parameter; and establish a resource demand priority mapping table under different business scenarios according to the user satisfaction; and construct a multi-objective optimization model according to the resource demand priority mapping table.
[0019] The prediction module is configured to predict resource states and load conditions of each node in the distributed storage system based on the multi-objective optimization model; and perform lightweight rule scheduling according to the resource states and load conditions of each node to obtain a preliminary scheduling scheme.
[0020] The above-mentioned scheme of the present application at least has the following beneficial effects:
[0021] By combining a large model with distributed storage technology, efficient management and use of distributed storage system resources are realized, the performance, stability and ease of use of the storage system are improved, and predictive maintenance is realized, the device failure risk is predicted through the large model historical data and real-time use mode, and the planned downtime loss is reduced. BRIEF DESCRIPTION OF DRAWINGS
[0022] Figure 1 is a flowchart of the intelligent scheduling method of distributed storage resources provided by the embodiment of the present application;
[0023] Figure 2 is a schematic diagram of the intelligent scheduling device of distributed storage resources provided by the embodiment of the present application. DETAILED DESCRIPTION
[0024] Exemplary embodiments of the present disclosure will be described in greater detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided so that the present disclosure can be more thoroughly understood and the scope of the present disclosure can be accurately conveyed to those skilled in the art.
[0025] As Figure 1 shown, the embodiment of the present application proposes an intelligent scheduling method for distributed storage resources, which comprises the following steps:
[0026] Step 1, collect multi-modal data in the distributed storage system; analyze the multi-modal data, extract multi-modal data features including text features and time sequence features to obtain feature vectors of different modalities; construct a multi-dimensional data space with storage server rack positions and storage device physical partitions as references, and construct a tree-shaped abstract data structure based on the multi-dimensional data space; divide the abstract data structure into multiple partition units with physical server nodes as basic units, divide the partition units according to data distribution characteristics to form multiple sub-regions, map the data to the corresponding sub-regions, and obtain resource adjustment parameters according to the data characteristics of each sub-region;
[0027] Step 2, concatenate the feature vectors of different modalities to obtain multi-modal feature vectors;
[0028] Step 3, predict user satisfaction based on multi-modal feature vectors and resource adjustment parameters; according to the user satisfaction, establish a resource demand priority mapping table under different business scenarios;
[0029] Step 4, construct a multi-objective optimization model according to the resource demand priority mapping table;
[0030] Step 5, predicting the resource state and load situation of each node in the distributed storage system based on a multi-objective optimization model;
[0031] Step 6, performing lightweight rule scheduling according to the resource state and load situation of each node to obtain a preliminary scheduling scheme.
[0032] In the embodiment of the application, a multi-dimensional data space is constructed based on the rack position of the storage server and the physical partition of the storage device, and the partition unit and sub-area are divided by combining a tree-shaped abstract data structure, so that the data mapping and the physical storage architecture are deeply matched, data positioning confusion caused by traditional unordered storage is avoided, the physical node where the data is located can be quickly locked during subsequent resource scheduling, the time loss of cross-node data searching is reduced, and the basic efficiency of data access and scheduling is improved. For multi-modal data extraction text timing and other features, a unified multi-modal feature vector is formed by feature splicing, which can more completely capture the data attributes in the storage system, such as text type business requirement description timing type I / O load change, and reduce the scheduling decision deviation caused by missing data dimensions compared with traditional single data type analysis. The user satisfaction is predicted based on the multi-modal feature vector and the resource adjustment parameter, and a resource demand priority mapping table for different business scenarios is established, so that the priority division is driven from fixed rules to user experience and business characteristics. For example, in the database scenario, the user has a high satisfaction for low latency requirement, which is sensitive to delay, so the high resource priority can be automatically assigned to avoid the problem of insufficient resources for core business caused by the one-size-fits-all priority setting in traditional scheduling.
[0033] In the embodiment, a multi-objective optimization model is constructed based on the resource demand priority mapping table, which can simultaneously consider multiple scheduling targets such as high resource utilization and low latency business priority matching, rather than the traditional single pursuit of load balancing; the resource state and load situation of each node are predicted based on the multi-objective optimization model, which can identify the node overload risk in advance, such as the CPU utilization of a certain node is about to soar or the resource is idle, such as the memory of a certain node is long-term low occupancy, compared with the traditional post-scheduling that adjusts only after the node is overloaded, the resource allocation can be arranged in advance to avoid the node collapse due to sudden load, reduce the system failure probability, and enhance the stability of the storage system; a preliminary scheduling scheme is generated by lightweight rule scheduling, which can quickly respond to resource demand without complex calculation, and is suitable for scheduling scenarios with high frequency and low latency demand in the storage system, such as short-term burst I / O request; the preliminary scheduling scheme can quickly balance the basic load of each node.
[0034] In this embodiment, user satisfaction is taken as the core basis for resource priority division, so that the scheduling strategy directly serves to improve user experience. For example, for user operation response delay sensitive services such as real-time office document editing, high-speed storage layer resources can be preferentially allocated to reduce document saving and opening delay, improve user experience, and enhance the adaptation ability of the storage system to user demand. From data feature extraction priority division to multi-objective optimization, the whole process is carried out around the characteristics of different business scenarios. For example, when the system adds a video conference service, the scheduling method can automatically match the corresponding resource priority and scheduling strategy by analyzing the multi-modal data characteristics of high-bandwidth large-capacity storage, reduce the scheduling configuration cost when the business expands, and improve the adaptive flexibility of the system to dynamic changes in business.
[0035] In a preferred embodiment of the present application, step 1, collect multi-modal data in the distributed storage system; analyze the multi-modal data to extract multi-modal data features including text features and timing features to obtain feature vectors of different modalities. The multi-modal data includes CPU and GPU utilization indicators from computing nodes, I / O performance data of SSD and HDD from storage nodes, and bandwidth and delay data from network devices; including:
[0036] Collect multi-modal data in the distributed storage system, specifically collect corresponding type data from system associated computing nodes, storage nodes and network devices. Among them, the data from the computing node contains CPU utilization indicators and GPU utilization indicators, which need to record the resource occupation changes of the two types of hardware in real time when different computing tasks are running; the data from the storage node covers the I / O performance data of SSD and the I / O performance data of HDD, including read and write response time, read and write operation times per second, and data throughput parameters; the data from the network device contains bandwidth usage data and delay data, which need to capture the real-time bandwidth occupation in the data transmission process, the delay time of data sending and receiving.
[0037] The collection process is realized by deploying hardware monitoring plug-ins on the computing nodes to collect the changes of CPU and GPU utilization in real time and generate logs; the I / O performance monitoring module is configured on the storage nodes to continuously collect various I / O performance parameters of SSD and HDD; the bandwidth usage and data transmission delay data are recorded on the network equipment; then all the data collected by each node and equipment are summarized to the unified data collection center of the system for data format standardization processing to ensure the consistency of subsequent analysis; when analyzing and extracting features from the multi-modal data, the text type feature related data such as the type description of the computing task and the purpose annotation of the storage data are preprocessed to remove meaningless characters and unify the expression specification, and then the task attributes, data categories and other core information are identified through keyword extraction technology, the task urgency and data importance level and other implicit features are judged combined with semantic analysis, and finally the text information is converted into numerical form to form a text feature vector.
[0038] For the time series type feature related data, including the real-time change data of CPU and GPU utilization of the computing node, the dynamic data of I / O performance of SSD and HDD of the storage node, and the fluctuation data of bandwidth and delay of the network equipment, the continuously collected data is segmented at a preset time interval; for the data in each time period, the average value, maximum value, minimum value and change rate are calculated to identify the law of data change over time, such as the periodic peak value of CPU utilization, the sudden drop of SSD I / O performance, and the continuous growth trend of bandwidth usage, while capturing abnormal data points such as instantaneous GPU utilization surge and network delay surge, and quantifying these time series information into ordered numerical sequences to form a time series feature vector; for other auxiliary modal data such as the execution time of the computing task, the file format of the storage data, and the transmission protocol type of the network data, the data associated auxiliary features are extracted and converted into corresponding numerical features according to the preset rules to form the feature vectors of other modalities.
[0039] Through the above process, the text feature vector, time series feature vector and other modal feature vector corresponding to the data of the computing node, storage node and network equipment are obtained respectively, and each vector accurately reflects the core attributes of multi-modal data from different sources.
[0040] In a preferred embodiment of the present application, the multi-modal data is constructed into a multi-dimensional data space with the storage server rack position and the storage device physical partition as the reference, and a tree-like abstract data structure is constructed based on the multi-dimensional data space; the physical server node is taken as a basic unit to divide a plurality of partition units in the abstract data structure, the partition units are divided according to the data distribution characteristics to form a plurality of sub-regions, the data is mapped to the corresponding sub-regions, and the resource adjustment parameters are obtained according to the data characteristics of each sub-region, including:
[0041] Step 1.1, preprocess the multi-modal data collected from computing nodes, storage nodes, and network devices, and organize them according to their physical attribute dimensions and logical associations. Store the server rack location and storage device physical partition as spatial references, and construct a multi-dimensional data space. Specifically, deploy Prometheus and nodeexporter monitoring tools on each computing node to collect CPU utilization and GPU utilization data in real time. CPU utilization is collected by core dimension, including single-core real-time occupancy, 5-minute average occupancy, and 1-hour peak occupancy. GPU utilization collects computing core occupancy, memory usage, and memory bandwidth consumption data. The collection frequency is dynamically configured according to the business scenario, with a collection interval of 1 second. In database OLTP, office application, and other scenarios, the collection interval is set to 5 seconds to ensure the balance between data timeliness in high-frequency scenarios and resource saving in low-frequency scenarios. Configure I / O performance monitoring modules on storage nodes to obtain I / O performance data for SSD and HDD respectively. SSD data includes random read / write IOPS, sequential read / write throughput, average read / write response time, and write amplification factor. HDD data includes continuous read / write rate, seek time, rotational delay, and cache hit rate. The collection interval is uniformly set to 2 seconds, and the physical partition identifier of the corresponding storage device is recorded synchronously to provide a basis for subsequent spatial mapping.
[0042] Collect bandwidth and delay data at network devices such as switches and routers. Bandwidth data includes real-time uplink bandwidth occupancy, downlink bandwidth occupancy, and bandwidth utilization. Delay data includes end-to-end data transmission delay, packet loss rate, and retransmission rate. The collection interval is set to 1 second, and the source node and destination node hardware identifiers are recorded simultaneously to ensure data and network topology association. Combine IQR outlier detection and Z-score method to filter invalid values. For example, CPU utilization greater than 100%, GPU memory occupancy negative, SSD IOPS 0 for 30 seconds, etc. are directly marked as invalid values and excluded. Through double comparison of data timestamp and source identifier (such as device number and collection time), duplicate data is identified, and the original data collected first is retained, and subsequent duplicate records are deleted to avoid data redundancy affecting analysis accuracy.
[0043] Numerical data such as CPU utilization and bandwidth occupancy are uniformly rounded to two decimal places. Timestamp data uses UTC time format and is accurate to milliseconds. Device identifier data is encoded according to rack number, server number, device type, and port / partition number rules, such as R01-S03-SSD-P02 representing the 2nd partition of the 1st SSD on the 3rd server in the 1st rack. For data that does not conform to the standard format, use format conversion tools to automatically correct, such as converting local timestamps to UTC time and completing non-standard device identifiers to uniform encoding to ensure consistent data format from different sources.
[0044] Add physical attribute labels to each piece of preprocessed data, covering hardware device location and device type. Hardware device location labels are generated according to the actual deployment location of the collection node, for example, the computing node corresponds to R02-S05, i.e., rack 2, server 5, the storage node corresponds to R03-S08-SSD01, i.e., rack 3, server 8, 1st SSD, and the network device corresponds to R01-SW02-P15, i.e., rack 1, switch 2, port 15; the device type label is subdivided according to computing, storage, and network, such as CPU, GPU, SSD, HDD, switch port, etc., to determine the hardware category to which the data belongs.
[0045] Logical association is established through business task identification and data dependency relationship identification; business task identification refers to the business scenario classification mentioned in the above embodiments, such as AI training task marked as T-AI-001, office document storage task marked as T-OFF-005, and database OLTP task marked as T-DB-002; analyze the dependency relationship between data, for example, the GPU utilization data of the AI training task and the SSDI / O data of the corresponding storage node have a dependency, which is established by adding a dependency identifier such as D-T-AI-001-01 to determine the logical call relationship between data.
[0046] Divide the storage server rack location into three levels of coordinates: rack, server, and slot; the rack number is arranged in numerical order starting from R01; the server number is arranged from S01 within each rack; the slot number is arranged from P01 (up) to P10 (down) within each server. For example, the longitudinal coordinate of the 3rd slot of the 5th server in the 3rd rack is R03-S05-P03, and each storage server corresponds to a unique longitudinal coordinate according to the actual deployment location.
[0047] Number each physical partition of the storage device, starting from 001 and arranging sequentially, while recording the start address, end address, and capacity of each partition; for example, the 3rd physical partition of the 1st SSD corresponds to the horizontal coordinate SSD01-P003-0x00030000-0x0005FFFF-50GB, which contains device identification, partition number, address range, and capacity information, ensuring that each physical partition corresponds to a unique horizontal coordinate.
[0048] The organized multi-modal data is mapped to a multi-dimensional space according to longitudinal coordinates and transverse coordinates, and the data type is associated with business association information; for example, a certain SSDI / O performance data, the longitudinal coordinate is R03-S08-P04, the transverse coordinate is SSDI / O, and the data type is marked as T-AI-001; finally, a multi-dimensional data space including longitudinal coordinates, transverse coordinates, data types, and business associations is constructed, realizing accurate positioning of data according to physical references, and providing a spatial basis for subsequent tree abstract data structure construction and resource scheduling.
[0049] Step 1.2, based on the multi-dimensional data space, a tree abstract data structure for resource feature expression is constructed with physical server nodes as root nodes and storage devices as leaf nodes, specifically including: extracting the core association information of physical server nodes, storage devices and multi-modal data from the constructed multi-dimensional data space.
[0050] Firstly, taking the physical server node as the core index, the longitudinal coordinates (rack, server and slot) corresponding to the server in the multi-dimensional data space are matched, and all associated storage devices (SSD, HDD) under the coordinates are filtered out; secondly, according to the transverse coordinates (device, partition, address and capacity) of the storage device, the I / O performance data and physical partition quantity of the corresponding storage device are associated; finally, the one-to-one correspondence between the physical server node, the storage device and the multi-modal data (including business attributes) is established, and the association relationship table is formed, providing data support for tree structure construction.
[0051] Each physical server node is set as an independent root node of the tree abstract data structure, and the root node adopts a unique coding identification, the coding rule being rack number and server number (such as R03-S08), ensuring consistency with the longitudinal coordinates of the multi-dimensional data space; the server basic information stored in the root node needs to cover three types of core contents: one is identity information, including server number, rack position (such as R03), and slot number (such as P04); two is hardware configuration information, including CPU core number, total memory capacity, and network port number; three is associated device information, including the number of directly connected storage devices and the unique identification of each storage device (such as SSD01, HDD05), all information being stored in the form of key and value pairs for subsequent quick query and call.
[0052] Each storage device (SSD, HDD) is set as a leaf node of a tree-like abstract data structure, and the leaf node coding rule is server coding, device type, and device serial number (such as R03-S08-SSD-01), which is directly associated with the horizontal coordinates of the multi-dimensional data space.
[0053] The device-specific parameters stored in the leaf node need to be differentiated by device type: for SSD, the device type (NVMe SSD / SATA SSD), the number of physical partitions, the capacity and address range of each partition, the current storage data type (such as AI training data set, office documents), and real-time I / O performance indicators (such as random read / write IOPS, average response time) need to be recorded; for HDD, the device type (SATA HDD / SAS HDD), the number of physical partitions, the partition capacity and address range, the current storage data type (such as cold data archiving), continuous read / write rate, and seek time need to be recorded; all parameters are stored in the format of device attribute, parameter value, and update time, ensuring the timeliness and traceability of the parameters.
[0054] A hierarchical association is constructed between the root node and the leaf node. First, the root node is divided into a first-level branch according to the physical connection method of the storage device (such as SATA interface, PCIe interface), and each branch is labeled with the interface type and interface number (such as PCIe-01, SATA-03); second, the corresponding storage device leaf node is associated under each first-level branch, and the connection relationship between the branch and the leaf node is matched through the interface number and the physical connection identifier of the storage device, ensuring that the connection relationship completely corresponds to the actual deployment of the hardware; finally, the connection state identifier (such as online / offline) and the upper limit of the data transmission bandwidth are added in the hierarchical association, which reflects the availability and performance upper limit of the hardware connection in real time.
[0055] Through this hierarchical mapping, a three-level tree structure of root node (physical server), first-level branch (interface), and leaf node (storage device) is formed, clearly presenting the hierarchical relationship of hardware devices in the multi-dimensional data space and the multi-modal data attribution of each storage device.
[0056] Step 1.3, according to the distribution density and business relevance of multi-modal data in the multi-dimensional data space, the tree-like abstract data structure is divided into regions, forming a plurality of partition units with physical server nodes as the basic unit;
[0057] Step 1.4, cluster analysis is performed on the data distribution in each partition unit, sub-regions are divided, and each data instance is mapped to the corresponding sub-region according to its physical location and access characteristics;
[0058] Step 1.5, extract the data access frequency, data size and response time characteristics of each sub-region, calculate the resource weight coefficient of the corresponding sub-region according to the data access frequency, data size and response time characteristics, and obtain the resource adjustment parameter, specifically including: for each sub-region, continuously collect data access records, count the total number of accesses of each type of data in the sub-region within a predetermined time period, calculate the data access frequency, and record the start time and completion time of each access, and accordingly count the overall data access response time of the sub-region; read the size information of all data instances in the sub-region, accumulate to calculate the data size of the sub-region, and determine the space resource occupied by data storage.
[0059] Synthesize the extracted data access frequency, data size and response time characteristics of the sub-region, analyze the influence degree of each characteristic on resource demand; wherein the sub-region with high data access frequency means more urgent demand for storage I / O resources, the sub-region with large data size needs more storage space resources, and the sub-region with long response time needs to optimize computing or network resources to improve processing efficiency; according to the influence degree of each characteristic, the calculation weight of data access frequency, data size and response time is allocated respectively, and combined with the specific value of each characteristic, the resource weight coefficient of each sub-region is calculated through the preset evaluation rule, which is the resource adjustment parameter and can be directly used for priority judgment and dynamic adjustment of resource allocation amount in subsequent storage resource allocation.
[0060] In the embodiments of the present application, by removing invalid values and correcting format differences through preprocessing of multi-modal data, combining storage server rack positions (longitudinal) and storage device physical partitions (transverse) to construct a multi-dimensional data space, ensuring accurate correspondence between data and physical storage architecture, avoiding the problem of disconnection between data and physical location in traditional data organization, reducing the time loss of cross-device and cross-rack data scheduling, and improving the basic efficiency of data positioning and scheduling. A tree structure is constructed with physical server nodes as root nodes and storage devices as leaf nodes, which intuitively presents the hierarchical relationship of hardware devices and data ownership, solving the problem of ambiguous association between hardware and data in traditional storage systems; the server basic information and device parameters recorded by the root nodes and leaf nodes can directly provide structured data support for resource state analysis without additional time-consuming analysis of the association between hardware and data; the hierarchical mapping relationship also makes subsequent partition division and sub-region identification more targeted, avoiding the waste of efficiency caused by indiscriminate data processing. According to the data distribution density and business relevance, the partition units are divided, and the sub-regions are divided by clustering analysis, realizing the aggregation of data according to characteristics, and avoiding the confusion of resource scheduling caused by the mixed storage of data with different densities and different businesses. Map the data to the sub-region according to the physical location and access characteristics, so that the data in the same sub-region have similar storage location attributes and access patterns, and the subsequent resource adjustment can be accurately targeted according to the characteristics of the sub-region, for example, high I / O performance resources are concentrated in the high-frequency access sub-region to improve the targeting of resource allocation.
[0061] In a preferred embodiment of the present application, step 1.3, according to the distribution density and business relevance of multi-modal data in the multi-dimensional data space, the tree abstract data structure is divided into regions to form a plurality of partition units with physical server nodes as basic units, including:
[0062] Step 1.3.1, based on the hierarchical relationship between physical server nodes and storage devices in the tree abstract data structure, define a radial dimension for measuring the distribution density of data on physical storage devices and an axial dimension for distinguishing different types of data of rack server nodes, construct a cylindrical coordinate mapping model, specifically including: based on the hierarchical relationship between physical server nodes as root nodes and storage devices as leaf nodes in the tree abstract data structure, determine the flow path and attribution logic of data in the hardware architecture.
[0063] The radial dimension is defined to measure the distribution density of data on physical storage devices, which takes a single physical server node as the center and extends to each storage device directly associated with it. The distribution density of data is quantified by the number and storage proportion of data on different storage devices.
[0064] The axial dimension is defined to distinguish the data types of different rack server nodes, and the dimension is in units of racks and is classified and identified according to the service types (such as database service data, office application data, and AI training data) of the data processed by the physical server nodes in the rack, so as to clearly divide the data types of different rack server nodes.
[0065] In combination with the radial dimension and the axial dimension, a cylindrical coordinate mapping model is constructed, wherein the axis of the cylinder corresponds to the axial dimension and is used to reflect the data type classification of the rack and the server node, and the radial direction of the cylinder corresponds to the radial dimension and is used to reflect the distribution density of the data on the storage device. The model converts the data distribution characteristics in the multi-dimensional data space into intuitive geometric coordinate relationships.
[0066] Step 1.3.2, according to the cylindrical coordinate mapping model, each data point in the multi-dimensional data space is mapped to the corresponding cylindrical coordinate according to the physical server node and the storage device partition to which it belongs, and the data is initially divided according to the axial dimension to form a plurality of candidate partitions in units of physical server nodes, specifically including: according to the constructed cylindrical coordinate mapping model, the physical server node and the storage device partition information corresponding to each data point in the multi-dimensional data space are sorted out.
[0067] Each data point is mapped to the corresponding position of the cylindrical coordinate according to the identifier of the physical server node to which it belongs and the specific partition position of the storage device associated with the physical server node, wherein the coordinate of the data point in the axial dimension is determined by the data type of the rack and the server node, and the coordinate of the data point in the radial dimension is determined by the distribution density of the storage device where the data is located.
[0068] Based on the classification logic of the axial dimension, all the mapped data points are initially divided, and the data points belonging to the same physical server node are grouped into a group to form a plurality of candidate partitions in units of single physical server nodes, each candidate partition contains all the data points on the storage device associated with the physical server node, and the initial partition is ensured to be consistent with the hardware boundary of the physical server node.
[0069] Step 1.3.3, for each candidate partition, the distribution density of the data points inside the partition at the physical storage device level is calculated to obtain the adjusted partitions, specifically including: for each candidate partition, the storage device information corresponding to all the data points in the partition is extracted, including the storage device number, the physical partition, and the storage capacity proportion where the data points are located.
[0070] The distribution quantity of data points in each candidate partition on each associated storage device is counted, the average distribution quantity of data points on a single storage device is calculated, and the distribution density value of data on the storage device level is converted by combining the total storage capacity and the used capacity of the storage device, wherein the higher the density value is, the more intensive the data distribution on the storage device is.
[0071] According to the calculated distribution density value, the candidate partition is adjusted, if the distribution density of some storage devices in a candidate partition is much higher than the preset threshold value, it indicates that the data in this region is excessively concentrated, and the data points on the excessively concentrated storage devices need to be split to the region corresponding to the storage device with lower distribution density under the same physical server node to form an adjusted partition, if the distribution density is in a reasonable range, the original range of the candidate partition is kept unchanged.
[0072] Step 1.3.4, for the adjusted partitions, the business correlation between the data attributes and the topological proximity of the physical server nodes are combined and optimized to form a plurality of partition units taking the physical server node as a basic unit, specifically including: extracting the attribute information of the data in the adjusted partitions, including the data belonging to the business task identifier, the data access mode and the data processing demand, analyzing the business correlation between the data attributes in different partitions, for example, the data belonging to the database business has high business correlation, and the data belonging to the office application and the AI training has low business correlation.
[0073] At the same time, the topological position information of the physical server nodes corresponding to the adjusted partitions is obtained, the physical proximity of the server nodes in the rack is judged, the higher the proximity is, the closer the hardware connection distance between the server nodes is, and the lower the data interaction delay is.
[0074] According to the business correlation and the topological proximity, for a plurality of adjusted partitions with high business correlation and topological proximity of the corresponding physical server nodes, if the overall data distribution density after merging is still in a reasonable range and will not exceed the resource carrying capacity of a single physical server node, the adjusted partitions are merged into one partition unit; for the adjusted partitions with low business correlation or poor topological proximity, the independent partition state is kept; through the above merging and optimization, a plurality of partition units taking the physical server node as a basic unit are finally formed, so that the data business attributes in the partition units are uniform and the hardware topology is concentrated.
[0075] In the embodiment of the application, based on the hierarchical relationship between the physical server nodes and the storage devices in the tree structure, a radial (data distribution density) and axial (data type) dimension construction model is defined, the abstract data distribution of the multi-dimensional data space is converted into an intuitive geometric coordinate relationship, the problem that the data characteristics are disconnected from the physical storage in the traditional division mode is avoided, and the depth matching between the data division and the hardware architecture is ensured.
[0076] According to the cylindrical coordinate mapping model, the physical server node and the storage device partition mapping data points are mapped, and the axial dimension is initially divided into candidate partitions, so that each candidate partition directly corresponds to a single physical server node, and the division principle of taking the physical server node as the basic unit is followed, so as to avoid the mixing of data across server nodes and reduce the complexity of subsequent adjustment. The data distribution density of the physical storage device layer is calculated for the candidate partition, and the partition range is adjusted according to the density value, so that the data over-concentration partition can be effectively split, the data sparse partition can be supplemented, the load of the part of the storage device caused by uneven data distribution is avoided, and the balance of the data distribution in each partition is improved; the adjusted partition is combined in combination with the data business correlation and the server node topology proximity, so that the data in the same partition unit has unified business attributes and the server node physical position is close. On the one hand, the consistent business correlation can reduce the interference of cross-business data scheduling and improve the efficiency of business scenario resource configuration; on the other hand, the topology proximity can shorten the data interaction distance and reduce the cross-node data transmission delay, and further improve the overall performance and resource utilization efficiency of the storage system.
[0077] In a preferred embodiment of the present application, step 1.4, the data distribution in each partition unit is subjected to cluster analysis, the sub-regions are divided, and each data instance is mapped to the corresponding sub-region according to its physical location and access characteristics, comprising:
[0078] Step 1.4.1, for each partition unit taking the physical server node as the basic unit, the spatial coordinates, physical location attributes and access characteristic attributes of all data points inside it are extracted to form a data set to be clustered, specifically including: for each partition unit taking the physical server node as the basic unit, three core features of the data points are extracted from the multi-dimensional data space and the tree-like abstract data structure:
[0079] The spatial coordinates are extracted, including the radial coordinate (reflecting the data distribution density) and the axial coordinate (reflecting the data type) of the data point in the cylindrical coordinate mapping model, and the coordinate values need to be consistent with the coordinate range of the partition unit in step 1.3; the physical location attribute includes the physical partition identifier of the storage device, the storage server rack slot position, and the connection interface number of the storage device and the server, which corresponds to the physical dimension of the multi-dimensional data space constructed in step 1.1; the access characteristic attribute is extracted from the historical data, covering the access frequency (the number of access times within 1 hour), the access time period distribution (such as the morning peak 8-10 and the evening peak 18-20), the read-write operation ratio (the number of read operations / the number of write operations), and the average access response time of the data point, and the data needs to be subjected to IQR outlier detection to eliminate invalid records.
[0080] The extracted three types of features are organized according to the data point unique identifier, spatial coordinates, physical location attributes, and access feature attributes to form a feature record for each data point. The data point unique identifier uses a partition unit code and a data block ID rule (such as PU-R03-S08-001), the spatial coordinates retain three decimal places, the physical location attributes are encoded according to the rack, server, device, and partition levels (such as R03-S08-SSD01-P003), and the numerical value type data in the access feature attributes retains two decimal places. After all the feature records are aggregated, they are stored as a clustering data set.
[0081] Step 1.4.2, based on the physical location distribution characteristics of the data points in the clustering data set, an initial convex hull is obtained; the concave depths of the data points in the neighborhood of each edge of the initial convex hull are calculated by traversing the edges; according to the preset concave depth threshold, the concave points that meet the conditions are identified and added to the boundary point set until no new concave point that meets the conditions is generated, to obtain a concave polygon constructed by the boundary point set, specifically including: based on the physical location attributes of the data points in the clustering data set, an initial convex hull is generated using the Graham scan algorithm:
[0082] First, the extreme points of the physical location attributes of the data points are screened, including the data points with the most forward / backward rack slot positions and the smallest / largest storage device partition numbers, as the convex hull vertex candidate set. Then, the candidate points are sorted in order of the extreme angle of the physical location coordinates, and the adjacent points are connected in turn to form a closed polygon, ensuring that the polygon can completely wrap the physical distribution range of all data points in the partition unit, to obtain an initial convex hull. The neighborhood range of each edge of the initial convex hull is determined based on the two end points of each edge (the neighborhood width is set to 1 / 5 of the length of the edge, which is dynamically adjusted according to the physical partition size of the storage device); the perpendicular distance of all data points in the neighborhood to the edge is calculated, which is the concave depth; the greater the distance, the more significant the deviation of the data point from the convex hull profile; a preset concave depth threshold is set, which is 1.2 times the average distance of the physical location of all data points in the partition unit (e.g., when the average distance is 0.5 units, the threshold is set to 0.6 units); the data points with a concave depth greater than the threshold are identified as concave points and added to the boundary point set, and the convex hull profile is updated to include the concave points; the above traversal, calculation, and identification process is repeated until no new concave point meets the conditions after traversing all the edges of the convex hull, at which point the points in the boundary point set are connected in order of the physical location to form a concave polygon that closely matches the actual physical distribution.
[0083] Step 1.4.3: Using the concave polygon as the constraint boundary, perform cluster analysis on the dataset to be clustered, grouping data points located within the same concave polygon, physically adjacent, and with similar access characteristics into the same sub-region. Specifically, this includes: using the concave polygon obtained in Step 1.4.2 as the spatial constraint boundary to ensure that the clustering result does not cross the physical storage area corresponding to the concave polygon (e.g., if a concave polygon corresponds to physical partitions 1-3 of the storage device, then the clustering is only performed within that partition), avoiding data mixing between different physical partitions; First stage: clustering by physical proximity, calculating the physical distance between each data point in the dataset to be clustered and the vertex of the concave polygon, grouping data points whose distance is less than 0.8 times the average physical distance between partition units into the same preliminary cluster group, ensuring that the physical distribution of data points within the group is concentrated.
[0084] The second stage involves optimization based on access feature similarity. The similarity of access features among data points within the initial cluster group is calculated (e.g., a difference in access frequency of less than or equal to 5 times / hour, a difference in read / write ratio of less than or equal to 0.2, and a difference in response time of less than or equal to 10 milliseconds are considered similar). Data points with dissimilar access features are separated from the group and reassigned to cluster groups with more matching access features. This ultimately forms multiple sub-regions, each satisfying three conditions: being located within the same concave polygon, being physically adjacent, and having similar access features. The number of sub-regions is dynamically adjusted based on the number of concave polygons and the data distribution density. For example, if data is dense within a single concave polygon, it is split into 2-3 sub-regions; if data is sparse, one sub-region is retained.
[0085] Step 1.4.4: For each sub-region obtained by clustering, calculate the physical location center and access feature center of its data points, and map each data instance in the partition unit to its corresponding sub-region based on its physical location similarity and access feature similarity. Specifically, this includes: collecting the physical location attributes of all data points in the sub-region, extracting key parameters such as rack slot location and storage device partition number, and summing the center value according to (each parameter value × corresponding weight) (rack slot location weight 0.6, partition number weight 0.4, because the slot location has a greater impact on the data access path), to obtain the physical location center of the sub-region;
[0086] Access feature center: Collect access feature attributes of all data points in the sub-region, and calculate the center value using the weighted average method (access frequency weight 0.3, read / write ratio weight 0.2, response time weight 0.5, since response time directly reflects the urgency of resource demand), to obtain the access feature center of the sub-region.
[0087] The similarity of each data instance in the calculation partition unit to each sub-region is calculated, the physical position similarity is calculated according to 1-(distance of the data instance to the center of the physical position of the sub-region ÷ maximum distance of the physical position of the partition unit), and the closer to 1, the more matched the position is; the access feature similarity is calculated according to 1-(sum of absolute values of feature difference of the data instance and the center of the access feature of the sub-region ÷ maximum possible value of the feature difference), and the closer to 1, the more matched the feature is.
[0088] The comprehensive similarity is calculated according to physical position similarity × 0.4 + access feature similarity × 0.6, the data instance is mapped to the sub-region with the highest comprehensive similarity; if there is a case of equal comprehensive similarity, the access feature similarity is determined preferentially (because the access feature is directly related to resource demand); after the mapping is completed, the metadata management module is used to update the sub-region identifier of each data instance, so that the sub-region data can be accurately positioned when the feature is extracted in the subsequent step 1.5, and an accurate data basis is provided for resource weight coefficient calculation.
[0089] In the embodiment of the application, the spatial coordinates, physical position attributes and access feature attributes of the data points in the partition unit are extracted to construct a data set, and the data is subjected to outlier detection processing to ensure data integrity and accuracy. The spatial coordinates are related to the early cylindrical coordinate model, the physical position attributes correspond to the hardware topology, and the access feature attributes reflect the actual use demand, so that the three types of features comprehensively cover the core attributes of the data and avoid clustering deviation caused by missing features; the initial convex hull is generated based on the physical position distribution of the data points, the concave polygon is constructed by combining the concave depth calculation and the concave point identification, compared with the traditional convex hull which can only wrap the peripheral contour of the data, the concave polygon can better fit the actual physical distribution form of the data, accurately reflect the data dense and sparse areas in the physical partition of the storage device, and the boundary division highly matched with the hardware physical architecture avoids subsequent clustering across the physical partition.
[0090] In this embodiment, the concave polygon is used as the constraint boundary, and the clustering is performed in combination with the physical position proximity and access feature similarity, to ensure that the data in the same sub-region is concentrated in physical position and has similar access mode; for example, the data physically located in the same storage device partition and frequently accessed is classified into the same sub-region, to avoid mixing of data with different access requirements, and the subsequent resource scheduling can be accurately configured according to the characteristics of the sub-region (for example, the high-frequency access sub-region is preferentially allocated to high I / O performance resources), to improve the pertinence of resource allocation, and solve the problem of low efficiency of traditional clustering that pays more attention to position than demand; by calculating the physical position center and access feature center of the sub-region, the data instances are mapped to the corresponding sub-region in combination with the comprehensive similarity, to ensure the accurate attribution of each data instance; this mapping method not only considers the physical storage position of the data, but also takes into account the actual access demand, and the data can be accurately positioned when the sub-region characteristics are extracted in step 1.5, the calculated resource weight coefficient is more in line with the real demand, and then the resource adjustment parameter can effectively guide the scheduling decision, reduce the resource waste caused by data mismatch, and improve the overall scheduling efficiency and service quality of the storage system.
[0091] In a preferred embodiment of the present application, step 2, the feature vectors of different modalities are spliced to obtain a multi-modal feature vector, comprising:
[0092] Text data is extracted from the business log of the distributed storage system, the user task submission interface, and the data metadata annotation module, specifically including business task description (such as AI large model training data set storage request, OLTP database real-time read-write task instruction), data use annotation (such as hot data high-frequency access identifier, cold data archiving storage identifier), and user's demand for storage service (such as low-latency storage demand, high-reliability storage demand).
[0093] First, the text data is preprocessed, all texts are converted to lowercase format, meaningless special symbols (such as comma, semicolon, asterisk) and stop words (such as, for, do) are removed, then the text length is truncated or completed to 512 characters (the standard input length of the BERT base model) according to the BERT model input requirements, and [CLS] identifier is added at the beginning of the text and [SEP] identifier is added at the end of the text.
[0094] The preprocessed text is input into a pre-trained BERT base model (such as the bert-base-uncased version). The model performs semantic analysis on the text through a 12-layer Transformer encoder. The lower-level encoder captures surface features such as the part of speech and position of words, while the upper-level encoder extracts implicit business associations from the text (such as the implicit connection between AI training and high I / O demand). The vector corresponding to the [CLS] token in the model's output layer is extracted as the text feature vector. The dimension of this vector is fixed at 768 (the default output dimension of the BERT base model). Each numerical value represents the feature weight of the text in a certain semantic dimension. The higher the value, the stronger the association between the text and that semantic dimension. The 768-dimensional text feature vector is standardized to adjust all numerical values to the range of 0-1. This avoids the problem of certain feature weights becoming too high after concatenation due to differences in numerical scales, ensuring that the influence of text features and other modal features is balanced.
[0095] The hardware running data is obtained in real time. Continuous time series data is collected from the monitoring modules (such as Prometheus and NodeExporter) of the computing nodes, storage nodes, and network devices.
[0096] The computing node data includes CPU utilization and GPU utilization, with a collection frequency of 1 second per time. The storage node data includes IOPS, read / write throughput, and average response time of SSD and HDD, with a collection frequency of 1 second per time. The network device data includes bandwidth occupancy, data transmission delay, and packet loss rate, with a collection frequency of 1 second per time. According to the requirements of different business scenarios, time series windows are divided. For scenarios sensitive to real-time performance such as AI training and OLTP, a 1-minute time series window (containing 60 data points) is used. For scenarios such as office applications and cold data storage, a 5-minute time series window (containing 300 data points) is used. The length of the time series window can be dynamically adjusted according to the business.
[0097] The LSTM time series model is used to process the time series data.
[0098] The continuous data in each time series window is arranged in chronological order as a one-dimensional data sequence. For example, the CPU utilization data sequence in a 1-minute window contains 60 consecutive utilization values. The data sequence is input into the LSTM model. The model analyzes the data trend through memory cells and gating mechanisms (input gate, forget gate, and output gate). The forget gate filters meaningless normal fluctuation data, the input gate retains key change data (such as a sudden surge in GPU utilization), and the output gate outputs the trend features of the time series data. The model outputs a time series feature vector consistent with the number of data points in the time series window. For example, a 1-minute window corresponds to a 60-dimensional vector, and a 5-minute window corresponds to a 300-dimensional vector. Each numerical value represents the trend feature value of the time series data in the corresponding time slice (such as a high value indicating that the I / O performance in that time slice is at a peak).
[0099] The numerical values of the time series feature vector are mapped to the 0-1 range using the same normalization method as the text feature vector, ensuring that the numerical scale of the text feature vector is unified; from the constructed multi-dimensional data space and tree-like abstract data structure, the corresponding hardware physical properties of the data are extracted, including:
[0100] Storage server related: rack number, server slot position in the rack, server CPU core number, server memory total capacity; storage device related: device type (SSD set to 1, HDD set to 0), number of physical partitions, capacity of each partition, device connection interface type (PCIe set to 1, SATA set to 0); running state related: current device temperature, remaining storage space, used storage space occupancy.
[0101] According to the category and number of hardware physical properties, the device physical feature vector dimension is determined to be 32 dimensions, and each category of properties corresponds to 1 dimension:
[0102] Numerical encoding is performed on non-numeric properties (such as rack number, interface type), such as rack number R01 set to 1, R02 set to 2, PCIe interface set to 1, SATA interface set to 0; normalization is performed on numeric properties (such as partition capacity, remaining storage space), such as a maximum partition capacity of 200GB, 50GB corresponding to 0.25, 100GB corresponding to 0.5; the encoded values of all physical properties are filled into the corresponding dimensions of the 32-dimensional vector in the order of rack, server, storage device, and running state, forming the device physical feature vector, which is already in the 0-1 range and does not require additional standardization.
[0103] Check if the dimensions of the three types of modal feature vectors meet the preset standards: the text feature vector should be 768 dimensions, the time series feature vector should be the corresponding dimension of the preset window (60 dimensions or 300 dimensions), and the device physical feature vector should be 32 dimensions; if the time series feature vector has a dimension deviation due to window adjustment (such as 45 dimensions), it is filled to the target dimension (such as 60 dimensions) through zero padding, ensuring that the dimensions of each vector are compliant. Check if all the values of the three types of vectors are within the 0-1 range, if there are abnormal values outside the range (such as 1.2 due to BERT model output deviation, negative values due to LSTM model output), the values are modified to the 0-1 range through truncation (negative values are set to 0, values greater than 1 are set to 1), to avoid abnormal values affecting the effectiveness of the concatenated vector.
[0104] The concatenation order is determined to be device physical feature vector, time series feature vector, and text feature vector, specifically:
[0105] First, concatenate the 32-dimensional device physical feature vector, which is directly related to the hardware topology, to provide a physical space basis for subsequent scheduling decisions; then concatenate the time sequence feature vector (60-dimensional or 300-dimensional), which reflects the real-time running state of the resource, and which is closely related to the physical location and real-time state; finally, concatenate the 768-dimensional text feature vector, which provides business semantic information, for subsequent user satisfaction prediction and business priority division.
[0106] The three types of vectors are sequentially concatenated into a single array using a matrix concatenation algorithm:
[0107] Example 1 (1-minute time sequence window): 32-dimensional device physical feature vector + 60-dimensional time sequence feature vector + 768-dimensional text feature vector, forming an 860-dimensional multi-modal feature vector; Example 2 (5-minute time sequence window): 32-dimensional device physical feature vector + 300-dimensional time sequence feature vector + 768-dimensional text feature vector, forming a 1100-dimensional multi-modal feature vector.
[0108] The concatenated multi-modal feature vector is associated with a unique data point identifier (such as a partition unit code-data block ID) and stored in the feature vector database in key-value pair format:
[0109] Key: Use the unique data point identifier and concatenation timestamp rule (such as PU-R03-S08-001-202409091000), with a timestamp accurate to the minute to distinguish vectors of the same data point at different time windows; Value: Store the multi-modal feature vector as a floating-point array, along with the concatenation log (including the original dimension of each modal vector, the standardization method, and the concatenation order).
[0110] According to the input format of the random forest algorithm, the multi-modal feature vector is converted into a two-dimensional feature matrix, with each row corresponding to a data point vector and each column corresponding to a feature dimension, to provide the algorithm with user satisfaction prediction; according to the requirements of reinforcement learning algorithms (DQN, PPO), the device physical features and time sequence features in the vector are extracted as state space inputs, and the text features are extracted as business weight inputs, to meet the model calculation requirements; if a modal feature vector needs to be regenerated due to data updates (such as time sequence window rolling and text data addition), the feature concatenation module automatically triggers re-concatenation to update the stored multi-modal feature vector.
[0111] In a preferred embodiment of the present application, step 3, based on the multi-modal feature vector and the resource adjustment parameter, predicts user satisfaction; according to the user satisfaction, a resource demand priority mapping table under different business scenarios is established, including:
[0112] Step 3.1, weight feature fusion of the multi-modal feature vector and the resource adjustment parameter to obtain a fusion feature vector, specifically including: taking the unique identifier of the data point as the index, establishing a one-to-one correspondence between the multi-modal feature vector and the resource adjustment parameter, wherein the multi-modal feature vector comes from step 2 and includes a device physical feature vector (32 dimensions), a time sequence feature vector (dynamic dimensions), and a text feature vector (768 dimensions); the resource adjustment parameter comes from step 1.5, i.e., the resource weight coefficient of the sub-region; ensure that each group of fusion objects is associated with the same sub-region data to avoid cross-sub-region data mixing affecting the fusion accuracy.
[0113] Assign a weighting coefficient according to the difference in business scenarios, and the sum of the weighting coefficients of all scenarios is 1:
[0114] AI large model training scenario, multi-modal feature vector weight 0.6, resource adjustment parameter weight 0.4. Because this scenario needs to rely on multi-modal data to accurately identify high computing power and high I / O demand, and the resource weight coefficient reflects the sub-region resource tension.
[0115] Database OLTP scenario, multi-modal feature vector weight 0.5, resource adjustment parameter weight 0.5. In this scenario, business semantics, time sequence features, and resource occupation have the same important influence on satisfaction.
[0116] Office application scenario, multi-modal feature vector weight 0.4, resource adjustment parameter weight 0.6. The business demand in this scenario is relatively simple, and the resource occupation has a more significant impact on user satisfaction.
[0117] Cold data storage scenario, multi-modal feature vector weight 0.3, resource adjustment parameter weight 0.7. The data access frequency in this scenario is low, and the storage capacity demand is the core factor affecting satisfaction, and the resource weight coefficient has a higher proportion.
[0118] Element-level operation is adopted for fusion, i.e., first, the resource adjustment parameter (single value) is expanded to a vector of the same dimension as the multi-modal feature vector, then each numerical value of the multi-modal feature vector is multiplied by the corresponding weighting coefficient, the expanded resource adjustment parameter vector is also multiplied by the corresponding weighting coefficient, and finally the two groups of results are added element by element to obtain a fusion feature vector with the same dimension as the multi-modal feature vector; for example, the multi-modal feature vector is 860-dimensional (32+60+768), the expanded resource adjustment parameter vector is also 860-dimensional, and the addition of the two weighted results generates an 860-dimensional fusion feature vector.
[0119] Step 3.2, obtain historical resource usage data and real-time monitoring data from computing nodes, storage nodes, and network devices in the distributed storage system, and perform standardization processing to extract time series features and statistical features related to physical resource distribution. Specifically, it includes:
[0120] Historical resource usage data: Extract resource data from the storage system history database for the past 30 days, including daily average and peak CPU / GPU utilization of computing nodes, daily statistical values of SSD / HDD I / O performance of storage nodes (average IOPS, maximum throughput, average response time), daily peak bandwidth usage and average delay of network devices. The collection granularity is 1 hour per bar to ensure coverage of long-term resource usage patterns.
[0121] Real-time monitoring data: Extract real-time data from node monitoring modules for the past 1 hour, with the same collection frequency as Step 1 (AI scenario 1 second / second, office scenario 5 seconds / second), including real-time CPU / GPU load of computing nodes, real-time I / O response time of storage nodes, real-time bandwidth usage and packet loss rate of network devices, and capture short-term resource dynamic changes.
[0122] Use the IQR method to detect outliers in both types of data, such as CPU utilization greater than 100%, SSD response time exceeding 3 times the normal range, and sudden increase in network delay. Replace the outliers with the median value of the time period to avoid interference with feature extraction. Use the Z-score method to standardize the processed historical and real-time data, mapping the numerical values to the range of -1 to 1. The historical data uses 30-day mean and standard deviation as the calculation basis, and the real-time data uses the mean and standard deviation of the past 1 hour as the basis. This ensures that different time scales and different types of resource data are scaled uniformly to meet the input requirements of subsequent models.
[0123] Extract two types of features from the standardized data:
[0124] Time series features: Extract trend features from historical resource data by time series, such as CPU utilization weekly fluctuation period and SSD I / O performance monthly change slope. Extract short-term fluctuation features from real-time data, such as GPU utilization change amplitude in the past 10 minutes and network bandwidth fluctuation value in the past 5 minutes. The time series feature dimension is fixed at 40, of which 30 comes from historical data and 10 comes from real-time data.
[0125] Statistical features, including 8 statistical quantities, such as mean, variance, maximum, minimum, median, quartile Q1, quartile Q3, and range, are calculated for historical data. Five-minute mean, ten-minute peak, and one-hour mean of real-time data are calculated and supplemented to the statistical features. The final statistical feature dimension is fixed at 11 dimensions, comprehensively reflecting the global statistical properties of resource data.
[0126] Step 3.3, the fusion feature vector is spliced with the time series feature and the statistical feature to form the input feature set, specifically including: first checking the dimensions of the fusion feature vector, time series feature and statistical feature. The dimension of the fusion feature vector varies with the time series window of the business scenario (such as 860 dimensions for 1 minute window and 1100 dimensions for 5 minute window). The time series feature is fixed at 40 dimensions, and the statistical feature is fixed at 11 dimensions. Without adjusting the dimensions of each feature, only the values of all features need to be ensured to be within the standardized range (-1 to 1 or 0 to 1). If there are values outside the range, they are corrected to the corresponding range by truncation.
[0127] The fusion feature vector is spliced first, which contains the core features of data correlation and is the basis for predicting user satisfaction. Then, the 40-dimensional time series feature is spliced to supplement the time trend information of resource data and improve the adaptability of the prediction model to resource dynamic changes. Finally, the 11-dimensional statistical feature is spliced to provide global statistical properties of resource data and assist the model in judging the overall supply and demand of resources. Through feature splicing, the three types of features are combined in order to form a single input feature record. All input feature records are aggregated to form an input feature set, and each record is attached with a business scenario identifier (such as AI large model training scenario identifier S-AI and database OLTP scenario identifier S-DB-OLTP) related to data correlation.
[0128] Step 3.4, based on the input feature set, a prediction model is constructed. According to the prediction model, the user satisfaction prediction value is obtained, specifically including: the number of decision trees is set to 100, which is determined based on previous experimental verification: when the number of decision trees is less than 80, the model is prone to underfitting (test set accuracy is less than 85%); more than 120, the calculation time increases by 30% but the accuracy improves by less than 2%, 100 can achieve the optimal balance between precision and efficiency.
[0129] The maximum depth of each decision tree is adjusted according to the dimension of the input feature set, following the fitting rule of dimension x 0.055 ≈ maximum depth, such as 911-dimensional features corresponding to 50 (911 x 0.055 ≈ 50.1) and 860-dimensional features corresponding to 47 (860 x 0.055 ≈ 47.3). At the same time, the minimum sample split number is set to 5 (i.e. the node sample number is less than 5, which will not be split any more), and the minimum sample leaf node number is set to 2 (to avoid overfitting caused by a single sample), further controlling the complexity of the decision tree. The node splitting criterion uses the Gini coefficient, which has higher calculation efficiency than information gain, and can more quickly divide samples with similar satisfaction in the satisfaction prediction scenario of continuous value regression, adapting to the demand of distributed storage system for real-time prediction.
[0130] To avoid model overfitting, the feature random selection mechanism of random forest is enabled, and only 70% of the input feature set is randomly selected to participate in the split when building each decision tree (such as randomly selecting about 638 dimensions from 911-dimensional features), reducing the excessive influence of single-class features on the model. The out-of-bag (OOB) sample verification ratio is set to 30%, and the model performance is evaluated in real time using out-of-bag samples that do not participate in decision tree training, without the need for additional validation set division, improving training efficiency. At the same time, the class weight balancing mechanism is enabled, and for the case where 3-4 star samples account for 60% and 1-2 star and 5 star samples only account for 20% in historical satisfaction ratings, the minority class samples (1-2 star and 5 star) are assigned a weight of 1.5 times, ensuring that the prediction accuracy of the model for each satisfaction level is balanced.
[0131] Stratified sampling method is used to extract data from the input feature set to ensure that the satisfaction level distribution of the training set and test set is consistent with the original input feature set. For example, if 1-2 star samples account for 20%, 3-4 star samples account for 60%, and 5 star samples account for 20% in the original data, the training set (70% data) and test set (30% data) should also maintain this proportion to avoid the lack of samples of a certain satisfaction level caused by random sampling, affecting the generalization ability of the model.
[0132] After sampling, a matching historical user satisfaction rating label is recorded for each input feature: extract the valid feedback of the past 3 months from the system user feedback record, and associate it according to the business scenario and resource usage period, such as in the AI large model training scenario, the user feedback of using a sub-area resource from 9-10 am on August 10, 2024 should be labeled with the input feature of the data of that sub-area at that time. The rating is divided into 1-5 points, where 5 points represent complete satisfaction of demand, 4 points represent basic satisfaction, 3 points represent general, 2 points represent less satisfaction, and 1 point represent complete dissatisfaction, ensuring that the label is completely aligned with the time, scenario, and resource association dimensions of the input feature.
[0133] The matched training data is cleaned: the input feature records with missing labels (less than 1%) are removed, the records with null values in the input features are deleted (the repairable null values are repaired by interpolation, and the unrepairable ones are directly removed), and finally the data integrity of the training set is ensured to be more than 99%. The cleaned training set and test set are converted into a format suitable for the model, the input features are converted into a two-dimensional float array (each row corresponds to a record, and each column corresponds to a feature dimension), the label part is converted into a one-dimensional float array, and the training data is divided into batches (128 records per batch) to meet the model's batch training requirements and improve the training speed.
[0134] The first stage is initialization training, the first batch of training data (20% of the total training set) is input into the model, the learning rate is 0.1, and the number of iterations is 50 rounds for preliminary training. At this time, the model only learns the association between basic features and satisfaction (such as high I / O performance features corresponding to high satisfaction), and the mean square error target is controlled within 0.3.
[0135] The second stage is fine-tuning, the remaining 80% of the training data is input, the learning rate is adjusted to 0.05, and the number of iterations is 100 rounds. After each iteration, the training set mean square error and out-of-bag sample error are calculated: if the mean square error decreases by less than 0.001 for 5 consecutive iterations, the model is considered to have converged; if it does not converge and the out-of-bag sample error increases, it indicates that overfitting has occurred, and the current iteration is immediately stopped, and the model parameters are reverted to the lowest error round. During the entire training process, the split node features and Gini coefficient changes of each decision tree are recorded in real time to generate training logs, which facilitate the subsequent model optimization and tracing of key influencing features (such as the I / O delay feature in the time series feature having the highest contribution to satisfaction prediction).
[0136] The test set is input into the trained model, and the mean square error and accuracy of the predicted value and the true label are calculated. The mean square error is required to be less than 0.1, and the accuracy is required to be not less than 90% (the accuracy calculation method is the number of samples with a difference between the predicted value and the true label less than or equal to 0.5 divided by the total number of test set samples). The test set is divided according to the business scenario to verify the model accuracy of AI large model training, database OLTP, office application, and cold data storage scenarios, ensuring that the accuracy of each scenario is not less than 88% to avoid model bias towards a certain scenario leading to insufficient prediction accuracy in other scenarios. If the verification does not meet the standards, the following priorities are adjusted: first, increase the number of decision trees (increase by 20 each time, up to 150); if the accuracy still does not improve, adjust the maximum depth of the decision tree (fine-tune by ±5); finally, optimize the feature random selection ratio (adjust between 60%-80%), retrain and verify after each optimization until all verification indicators meet the standards.
[0137] New data (i.e., real-time generated resource feature data) outside the test set is filtered from the input feature set. This data is then associated with individual records and scene identifiers and input into the model. The model performs parallel computation using 100 decision trees: each decision tree traverses the split nodes based on the input features and outputs the corresponding satisfaction prediction score (1-5 points); after all decision trees have been computed, the arithmetic mean of the 100 prediction scores is taken, and one decimal place is retained as the final prediction value (e.g., 4.2 points, 2.8 points); during the prediction process, the distribution of prediction scores for each decision tree is recorded. If the standard deviation of the 100 prediction scores for a certain data point is greater than 0.8 (indicating a large difference in predictions between decision trees), it is marked as data to be reviewed and will be subject to further verification; the predicted value of a certain data point is calculated and averaged with the predicted values of other data in the same business scenario within the past 10 minutes. If the deviation exceeds 1 point (e.g., the average predicted value for the AI scenario in the past 10 minutes is 4.1 points, and the predicted value for this data point is 2.9 points), an anomaly investigation is triggered.
[0138] Verify that the feature concatenation order is correct, that the standardized values are within the range of -1 to 1 or 0 to 1, and that the physical resource features match the actual hardware configuration (e.g., whether the GPU memory is correctly labeled). Then check the model input format to ensure there are no missing dimensions or incorrect data types. After identifying and correcting anomalies, re-enter the model for prediction. If the deviation still exceeds 0.5 points, trigger temporary model optimization (e.g., increase the weight of the sample in this scene) to ensure the consistency and accuracy of the final prediction results.
[0139] Step 3.5: Based on the predicted user satisfaction value, and combined with the preset business scenario classification tags and physical resource constraints, establish a resource demand priority mapping table for different business scenarios. The mapping table includes at least a scenario identifier, satisfaction level, corresponding resource priority weight, and required physical resource type. Specifically, it includes four preset tags: AI large model training scenario tag S-AI, database OLTP scenario tag S-DB-OLTP, office application scenario tag S-OFF, and cold data storage scenario tag S-COLD. Each tag corresponds to a unique code to facilitate scenario identification.
[0140] Physical resource constraints: AI large model training scenarios require GPU computing nodes, NVMe SSDs, and 10 Gigabit network devices; database OLTP scenarios require high IOPS SSDs, multi-core CPU nodes, and low packet loss rate network devices; office application scenarios require ordinary CPU nodes, SATA SSDs or HDDs, and gigabit network devices; cold data storage scenarios require low-cost HDDs and ordinary CPU nodes, without high bandwidth resources.
[0141] The user satisfaction prediction value (1.0-5.0) is divided into 5 levels, and each level corresponds to a fixed resource priority weight. The higher the weight value, the more urgent the resource demand: extremely high satisfaction, prediction value 5.0-4.5, resource priority weight 0.2; the current resource configuration fully meets the demand, only maintain the existing configuration, no need to allocate additional resources; high satisfaction, prediction value 4.4-3.5, resource priority weight 0.4; resource configuration basically meets the demand, only moderately supplement when the system resources are sufficient, priority is lower than the middle and above levels; medium satisfaction, prediction value 3.4-2.5, resource priority weight 0.6; there is a slight shortage of resources (such as occasional delays), and high priority should be given to core resources (such as storage I / O resources) for priority supplement; low satisfaction, prediction value 2.4-1.5, resource priority weight 0.8; resource shortage (such as frequent stalls, I / O bottlenecks), high priority should be given to allocate sufficient resources to improve business experience; extremely low satisfaction, prediction value 1.4-1.0, resource priority weight 1.0. The resource is severely insufficient (such as the risk of business interruption), and the highest priority should be given to immediately schedule system idle resources or adjust low-priority business resources to supplement.
[0142] The mapping table structure is constructed according to the fields of scene identification, satisfaction level, resource priority weight and physical resource type, wherein the physical resource type needs to be refined in combination with scene constraints and satisfaction level; for example, in the S-AI scene, the physical resource types corresponding to extremely low satisfaction (1.4-1.0) are GPU computing nodes (greater than or equal to 24GB of video memory), NVMeSSD (greater than or equal to 3500MB / s throughput), and 25G network devices (less than or equal to 0.5ms delay); the physical resource types corresponding to high satisfaction (4.4-3.5) are GPU computing nodes (greater than or equal to 16GB of video memory), NVMeSSD (greater than or equal to 2500MB / s throughput), and 10G network devices (less than or equal to 2ms delay); the mapping table is stored in a structured format (such as JSON) in the configuration database, a joint index of scene identification and satisfaction level is established, and the query response time is ensured to be less than or equal to 100ms; the physical resource type parameters are adjusted every quarter according to the system hardware upgrade; when the difference between the predicted value and the actual feedback of a certain scene satisfaction is more than 0.5 for 3 consecutive times, the weight corresponding relationship is recalibrated, and the effectiveness is verified after updating through the test scene, and the satisfaction prediction value is improved by more than 0.3 points after adjustment to take effect.
[0143] In this embodiment, the multi-modal feature vector is weighted and fused with the resource adjustment parameter, which not only retains the comprehensive description of the multi-modal features (device physics, timing, and text) to the business demand and hardware state, but also integrates the sub-area resource tension reflected by the resource adjustment parameter, avoiding the limitation of a single feature dimension; different business scenarios dynamically allocate weighting coefficients, so that the fused feature vector can accurately match the core needs of the scene (such as AI scene focusing on multi-modal features, cold data scene focusing on resource parameters); the historical and real-time resource data are standardized, invalid data are removed through IQR anomaly value detection, and the data scale is unified through Z-score standardization, avoiding the interference of abnormal values and scale differences on feature extraction; at the same time, the timing features and statistical features are extracted, which not only capture the long-term change law of resources (such as CPU utilization fluctuation), but also reflect the global attributes of data (such as mean value and peak value), ensuring that the features can fully depict the physical resource distribution state and provide high-quality input data for the prediction model, reducing the prediction bias caused by data quality problems.
[0144] The random forest algorithm is used to construct the prediction model, the precision and efficiency are balanced through fine parameter setting (such as 100 decision trees and dynamic adjustment of tree depth), the training data distribution is reasonable through stratified sampling and weight balance, and the model performance is further optimized through phased training and multi-dimensional verification, so that the deviation between the prediction value and the true satisfaction is small (the mean square error is less than 0.1 and the accuracy is greater than or equal to 90%); real-time prediction and multi-level verification mechanism ensure the consistency and accuracy of the prediction results; a mapping table is constructed combining the satisfaction prediction value, scene label and physical resource constraint to determine the resource priority and physical resource type corresponding to different scenes and different satisfaction levels, so that the resource allocation can accurately match the scene demand (such as high memory GPU and high bandwidth network for AI scene with low satisfaction); the dynamic updating mechanism of the mapping table can adjust the configuration with hardware upgrade and business change, ensuring that the resource scheduling always meets the actual demand and improving the resource utilization and user satisfaction.
[0145] In a preferred embodiment of the present application, step 4, a multi-objective optimization model is constructed according to the resource demand priority mapping table, including:
[0146] Step 4.1, analyze the resource demand priority mapping table to obtain the resource priority weight and the required physical resource type under different business scenarios, specifically including: analyzing the mapping table one by one according to the business scenario classification label; for AI large model training scene (S-AI), database OLTP scene (S-DB-OLTP), office application scene (S-OFF), and cold data storage scene (S-COLD) four core scenes, two key information corresponding to different satisfaction levels in each scene are extracted: resource priority weight (0.2-1.0), required physical resource type and specific parameters (such as GPU memory, SSD throughput, and network delay).
[0147] The parsed information is sorted according to the logical association of scene identification, satisfaction level, resource priority weight and physical resource type parameters; for example, in the AI large model training scene, very low satisfaction (1.4-1.0 points) corresponds to resource priority weight 1.0, and the physical resource type parameters are GPU computing nodes (greater than or equal to 24GB memory), NVMeSSD (greater than or equal to 3500MB / s throughput), 25G network equipment (less than or equal to 0.5ms delay); high satisfaction (4.4-3.5 points) corresponds to resource priority weight 0.4, and the physical resource type parameters are GPU computing nodes (greater than or equal to 16GB memory), NVMeSSD (greater than or equal to 2500MB / s throughput), Gigabit network equipment (less than or equal to 2ms delay). The sorted data is stored in a temporary parsing library.
[0148] Step 4.2, a multi-objective decision hierarchy model is constructed with resource utilization, service quality and energy consumption as optimization objectives, and an initial weight vector of each optimization objective is calculated according to the resource priority weight and physical resource type constraint, specifically including: constructing a multi-objective decision hierarchy model:
[0149] The target layer takes maximizing resource utilization, optimizing service quality and minimizing energy consumption as the core optimization objectives, and covers distributed storage system resource scheduling; the criterion layer corresponds to the subdivision indexes of each optimization objective, the resource utilization criterion includes CPU utilization, memory utilization, storage device utilization and network bandwidth utilization; the service quality criterion includes I / O response time, data access success rate and service interruption frequency; the energy consumption criterion includes computing node energy consumption, storage node energy consumption and network device energy consumption; the scheme layer is the resource scheduling direction corresponding to each criterion layer index, such as load balancing scheduling corresponding to the resource utilization criterion, high priority resource guarantee corresponding to the service quality criterion, and low load node sleep corresponding to the energy consumption criterion.
[0150] The initial weight vector of each optimization objective is calculated by combining the parsed resource priority weight and physical resource type constraint using the analytic hierarchy process:
[0151] The judgment matrix is constructed, and the relative importance of each optimization target is determined according to the resource priority weight. For example, in the AI large model training scene (high resource priority weight), the weight of the service quality target is greater than the weight of the resource utilization target, and the weight of the energy consumption target; in the cold data storage scene (low resource priority weight), the weight of the resource utilization target is greater than the weight of the energy consumption target, and the weight of the service quality target; consistency check, calculate the consistency ratio CR of the judgment matrix, ensure that CR is less than 0.1, if not satisfied, adjust the elements of the judgment matrix, until it meets the consistency requirement; weight calculation, solve the eigenvector corresponding to the maximum eigenvalue of the judgment matrix by the eigenvalue method, and get the initial weight vector after normalization; for example, the initial weight vector of the AI scene is service quality 0.45, resource utilization 0.35, and energy consumption 0.2; the cold data scene is resource utilization 0.4, energy consumption 0.35, and service quality 0.25, and the sum of the vector elements is 1.
[0152] Step 4.3, fuse the initial weight vector with real-time state information from computing nodes, storage nodes and network devices in the distributed storage system, define a state space, which includes at least resource utilization, I / O load, network bandwidth occupancy and physical resource type state of each node, specifically including:
[0153] CPU utilization (per core), GPU utilization (compute core and video memory), memory usage, NUMA node load distribution; storage node, real-time IOPS, throughput, average response time, remaining capacity, write amplification factor of SSD / HDD; network device, real-time bandwidth occupancy (uplink / downlink), data transmission delay, packet loss rate, port connection state; the collection frequency is consistent with step 1 (AI scene 1 second / time, office scene 5 seconds / time), and the collected data is standardized (mapped to the range of 0-1) to ensure the uniformity of numerical scale; fuse the initial weight vector with real-time state information, define a state space, the dimension of the state space is determined according to the number of real-time state indicators and the dimension of the initial weight vector, and specifically includes:
[0154] Resource utilization dimension, CPU utilization of computing node, GPU utilization, memory utilization, SSD / HDD utilization of storage node, network bandwidth occupancy; load dimension, task load of computing node, I / O load (read / write load is separately counted) of storage node and data transmission load of network device; physical resource state dimension, storage device type (SSD / HDD identification), GPU video memory capacity level and network device bandwidth level; weight dimension, resource utilization initial weight, service quality initial weight and energy consumption initial weight.
[0155] Step 4.4, based on the multi-objective decision hierarchy model and physical resource type constraints, define the action space, which includes data migration strategies, replica adjustment strategies, and resource allocation strategies based on physical resource types, specifically including: according to the multi-objective decision hierarchy model and physical resource type constraints, define the action space in three categories of data migration, replica adjustment and resource allocation, and the action needs to match the physical resource type:
[0156] Data migration strategy, according to the difference of storage device type, such as hot data migration from HDD to NVMeSSD (adapt to AI, OLTP scene high I / O demand), cold data migration from SSD to HDD (adapt to cold data scene cost control demand), data balanced migration between devices of the same type (adapt to office scene load balancing demand); when migrating, the physical resource identifier of the source node / target node needs to be determined (such as R03-S08-SSD01 to R03-S08-SSD02).
[0157] Replica adjustment strategy, combined with physical resource redundancy capability setting, such as increasing the number of copies of high-frequency access data on NVMeSSD (from 2 copies to 3 copies), improving AI scene data reliability, reducing the number of copies of cold data on HDD (from 3 copies to 2 copies), reducing cold data scene storage occupancy, replica cross-rack placement, improving OLTP scene disaster recovery capability; when adjusting, it is necessary to ensure that the number of copies is not less than the minimum redundancy requirement of the system (such as at least 2 copies).
[0158] Resource allocation strategy, refined by physical resource type, such as allocating GPU nodes with more than or equal to 24GB of GPU memory for AI tasks, allocating high IOP SSD (more than or equal to 3000MB / s) for OLTP tasks, allocating ordinary CPU nodes (4 cores and above) for office tasks, and allocating large-capacity HDD (more than or equal to 10TB) for cold data tasks; when allocating, it is necessary to refer to the real-time resource state to avoid resource overallocation.
[0159] Convert each type of strategy into quantifiable action parameters, such as data migration strategy including migration data volume (GB), migration rate upper limit (MB / s); replica adjustment strategy including adjusted replica number, replica distribution node number; resource allocation strategy including CPU core number, GPU memory size, storage capacity; at the same time, add physical resource constraints to the action, such as NVMeSSD data migration rate not exceeding 80% of the device maximum throughput, single node storage utilization after replica adjustment not exceeding 90%, ensuring that the action is executable and does not damage system stability.
[0160] Step 4.5, determine a reward function based on optimization of target and physical resource utilization efficiency, which comprehensively considers resource allocation balance, service quality satisfaction, energy consumption index and physical resource adaptation, specifically including: the reward function comprehensively considers resource allocation balance, service quality satisfaction, energy consumption index and physical resource adaptation, each dimension corresponds to a quantitative index and a weight:
[0161] Resource allocation balance, the Gini coefficient is used to measure the difference in utilization rate of the same type of resources of each node, the smaller the Gini coefficient, the higher the reward; the weight is set according to the resource utilization rate weight in the initial weight vector (such as 0.35 in the AI scenario); service quality satisfaction, compare the actual service quality index (such as I / O response time, access success rate) with the scene demand index in the mapping table, if the demand is met, a positive reward is given, if not, a negative reward is given; the weight is set according to the initial weight of service quality (such as 0.45 in the AI scenario); energy consumption index, calculate the difference between the total energy consumption of the system (the cumulative energy consumption of each node) and the optimal energy consumption (the theoretical energy consumption after the low load node is put into sleep), the smaller the difference, the higher the reward; the weight is set according to the initial weight of energy consumption (such as 0.2 in the AI scenario); physical resource adaptation, judge the matching degree of resource scheduling action and physical resource type (such as whether the AI task is allocated NVMeSSD), full matching gets full score, partial matching gets partial score, and no matching gets negative score; the weight is a fixed value of 0.2 (to ensure that the action is adapted to the hardware), and the total weight of the four dimensions is 1.2 (to adapt to the multi-objective cooperative optimization).
[0162] The reward function is calculated by weighted summation, and the formula logic is:
[0163] Total reward = (1-Gini coefficient) x resource balance weight + (actual QoS / demand QoS) x service quality weight + (1-energy consumption difference / optimal energy consumption) x energy consumption weight + adaptation score x adaptation weight; wherein, if the actual QoS is less than 80% of the demand QoS, (actual QoS / demand QoS) is calculated as 0 and the reward is additionally deducted; if the physical resource adaptation score is less than 0.5, the total reward needs to be multiplied by a penalty coefficient of 0.8 to ensure that the action is adapted to the physical resource demand first; the reward value range is set to -10 to 10, positive numbers indicate that the action optimization effect is good, and negative numbers indicate that the action leads to system performance degradation; demand QoS refers to the service quality benchmark defined in the resource demand priority mapping table by the distributed storage system for different business scenarios to ensure normal operation of the business and meet the user's expectations; actual QoS refers to the service quality level actually obtained by the business after the distributed storage system executes the resource scheduling action, which is a real-time feedback of the resource scheduling effect.
[0164] Wherein, the demand QoS = (response time demand QoS normalized value x response time weight) + (I / O performance demand QoS normalized value x I / O performance weight) + (reliability demand QoS normalized value x reliability weight) + (bandwidth demand QoS normalized value x bandwidth weight).
[0165] Response time demand QoS calculation and normalization:
[0166] According to the determined physical resource type, the default response time reference of the storage device of the type and the default transmission delay reference of the corresponding network device are obtained, the physical resource reference value (the sum of the response time reference and the transmission delay reference) is calculated, the satisfaction level adjustment coefficient is determined, the differentiated coefficient is set according to the satisfaction level (extremely low, low, medium, high, and extremely high), and the lower the satisfaction level (the more urgent the resource demand) is, the larger the coefficient is; the original response time demand QoS (unit: millisecond) is obtained by multiplying the physical resource reference value by the satisfaction level adjustment coefficient; the reverse normalization (the smaller the response time is, the better) is adopted, the original value is mapped to the 0-1 interval with the system maximum allowed response time and the minimum achievable response time as the reference, and the response time demand QoS normalized value is obtained.
[0167] I / O performance demand QoS calculation and normalization:
[0168] The resource type reference performance is determined, that is, according to the type of the storage device, the default I / O performance reference (such as random read-write IOPS or throughput, and the core index is selected according to the scene demand) is extracted; the business load coefficient is set, that is, the coefficient is set according to the business load characteristics (high load, medium load, and low load) of the scene, and the higher the load is, the larger the coefficient is; the original I / O performance demand QoS is calculated, that is, the resource reference performance is multiplied by the business load coefficient, and then multiplied by the satisfaction level adjustment coefficient, to obtain the original I / O performance demand QoS (unit: IOPS or MB / s, determined according to the selected index); the normalization processing is performed, that is, the positive normalization (the larger the I / O performance is, the better) is adopted, the original value is mapped to the 0-1 interval with the maximum achievable I / O performance of the corresponding resource of the system as the reference, and the I / O performance demand QoS normalized value is obtained.
[0169] Reliability demand QoS calculation and normalization:
[0170] Set the reliability baseline, that is, determine the default reliability baseline value of the system (such as data access success rate), and adjust the baseline according to the preset number of copies (the more the number of copies, the higher the baseline); add scene importance coefficient, that is, set the coefficient according to the importance of the business scene (high importance, medium importance, low importance), the higher the importance, the larger the coefficient; calculate the original reliability requirement QoS, that is, multiply the adjusted reliability baseline by the scene importance coefficient, if the result exceeds 100%, take 100% as the upper limit, and get the original reliability requirement QoS (unit: %); standardization processing, that is, using forward normalization, taking 100% as the baseline, mapping the original value to the 0-1 interval, and getting the reliability requirement QoS standardized value.
[0171] Bandwidth requirement QoS calculation and standardization:
[0172] Estimate the business data volume, that is, count the average data transmission volume per unit time in the target scene to determine the basic bandwidth requirement of the business; set the time conversion and redundancy coefficient, that is, convert the unit time data volume into per second data volume, add the redundancy coefficient (to cope with burst traffic, the larger the business volatility, the larger the redundancy coefficient), and calculate the original bandwidth requirement; unit uniformity and original value determination: unified unit in Mbps (through the MB / s and Mbps conversion rule), get the original bandwidth requirement QoS (unit: Mbps); standardization processing, that is, using forward normalization (the larger the bandwidth, the better), taking the maximum bandwidth that the system can provide as the baseline, mapping the original value to the 0-1 interval, and getting the bandwidth requirement QoS standardized value.
[0173] Among them, the actual QoS = (response time actual QoS standardized value x response time weight) + (I / O performance actual QoS standardized value x I / O performance weight) + (reliability actual QoS standardized value x reliability weight) + (bandwidth actual QoS standardized value x bandwidth weight)
[0174] Response time actual QoS calculation and standardization:
[0175] Real-time data acquisition, that is, collect real-time response time of the target storage device and real-time transmission delay data of the corresponding network device according to the frequency set by the scene, and continuously collect for a preset time length; data preprocessing, that is, using a preset rule (such as IQR method) to eliminate outliers and invalid data, and retaining valid data samples; calculate the original response time actual QoS, that is, take the average value of the valid data samples to get the average response time and the average transmission delay, and the sum of the two is the original response time actual QoS (unit: millisecond); standardization processing, that is, using the same reverse normalization logic as the demand QoS to map the original value to the 0-1 interval, and getting the response time actual QoS standardized value.
[0176] I / O performance actual QoS calculation and standardization:
[0177] Classification data collection, i.e. classified by read operation, write operation, collect real-time I / O performance data of the target storage device according to the set frequency (consistent with the selected indicators of demand QoS, such as IOPS or throughput), continuously collect for a preset time length; data filtering: filter invalid data caused by device offline, failure, etc., and retain valid sampling samples; calculate the actual QoS of the original I / O performance, i.e. calculate the average performance of read operation and write operation for valid samples respectively, and the sum of the two is the actual QoS of the original I / O performance (unit: IOPS or MB / s); standardization processing, i.e. using the same positive normalization logic as the demand QoS, mapping the original value to the 0-1 interval to get the actual QoS standardized value of I / O performance.
[0178] Reliability actual QoS calculation and standardization:
[0179] Access record collection, i.e. record all data access requests within the preset time length of the target scene, and distinguish the number of successful access and the number of failed access; data arrangement, i.e. exclude the failure records caused by non-service quality factors (such as user operation error), and retain valid access records; calculate the original reliability actual QoS, i.e. divide the effective successful access times by the effective total access times, and multiply by 100% to get the original reliability actual QoS (unit: %); standardization processing, i.e. using the same positive normalization logic as the demand QoS, mapping the original value to the 0-1 interval to get the actual QoS standardized value of reliability.
[0180] Bandwidth actual QoS calculation and standardization:
[0181] Real-time bandwidth collection, i.e. collect the uplink and downlink real-time bandwidth occupation data of the target network port according to the set frequency, continuously collect for a preset time length; data processing, i.e. eliminate invalid data caused by port failure, no data transmission, etc., and retain valid bandwidth data samples; calculate the original bandwidth actual QoS, i.e. extract the bandwidth peak value (uplink or downlink peak value, take the larger value) from the valid samples, and get the original bandwidth actual QoS (unit: Mbps); standardization processing, i.e. using the same positive normalization logic as the demand QoS, mapping the original value to the 0-1 interval to get the actual QoS standardized value of bandwidth.
[0182] Step 4.6, according to the state space, action space and reward function, a multi-objective optimization model is constructed, specifically including: selecting PPO algorithm as the basic framework of the multi-objective optimization model, because PPO algorithm has stronger stability in continuous action space and multi-objective optimization scene, and can avoid too large parameter update amplitude through clipped surrogate objective function.
[0183] Integrate the state space defined in step 4.3, the action space defined in step 4.4, and the reward function determined in step 4.5 into the PPO framework:
[0184] The network structure adopts a fully connected neural network with double hidden layers as the policy network and the value network, the input layer dimension is consistent with the state space dimension (such as 16 dimensions), the number of hidden layer nodes is set to 128 (balance accuracy and efficiency), and the output layer dimension is consistent with the action space dimension (such as 8 actions corresponding to 8-dimensional output); the training parameters are set as follows: the learning rate is 3×10 -4 , the discount factor γ is 0.95 (emphasis on long-term rewards), the parameter λ is 0.9 (balance of bias and variance), the batch size is 64, the iteration number is 10, the network parameter is updated 10 times each iteration; constraint integration, the physical resource type constraint (such as AI task needs NVMeSSD) is used as a hard constraint for action selection, and only actions that meet the constraints are retained after filtering the output actions of the policy network to ensure that the output actions of the model are executable; after integration, the multi-objective optimization model can output scheduling actions (action space) that meet the constraints according to the real-time state of the system (state space), and feedback the action effect through the reward function, realizing the multi-objective collaborative optimization of resource utilization, service quality and energy consumption.
[0185] In a preferred embodiment of the present application, step 5, based on the multi-objective optimization model, the resource state and load condition of each node in the distributed storage system are predicted, including:
[0186] Step 5.1, real-time collection of performance indicators of each computing node, storage node and network device in the distributed storage system, the performance indicators at least including CPU and GPU utilization from the computing node, I / O throughput and read-write delay of SSD and HDD from the storage node, and bandwidth utilization and transmission delay from the network device; data normalization processing is performed on the performance indicators to obtain normalized performance indicator data, specifically including: real-time collection of CPU utilization (statistical by core dimension, including single-core occupancy rate and overall average occupancy rate), GPU utilization (computing core utilization and memory usage), AI large model training scenario collection frequency is set to 1 second / time, database OLTP scenario is set to 2 seconds / time, and office application and cold data storage scenario is set to 5 seconds / time; collection of I / O throughput (read throughput and write throughput are separately counted), read-write delay (average delay and 99th percentile delay) of SSD and HDD, all scene collection frequency is uniformly set to 2 seconds / time, and the physical partition identifier of the storage device is recorded synchronously; collection of port bandwidth utilization (uplink bandwidth utilization and downlink bandwidth utilization), transmission delay (end-to-end delay and inter-port delay), collection frequency is consistent with that of the computing node, and the source node and destination node identifier of data transmission are recorded at the same time; the IQR outlier detection method is used to replace the abnormal value with the median value within the last 10 minutes of the indicator; for the pre-processed performance indicators, corresponding normalization methods are used according to the indicator type, proportional indicators such as CPU / GPU utilization and bandwidth utilization are mapped to the range of 0-1 through the maximum and minimum normalization method; absolute numerical indicators such as I / O throughput, read-write delay and transmission delay are mapped to the range of 0-1 based on the maximum carrying capacity of the system hardware (such as the maximum I / O throughput of SSD and the maximum bandwidth of network device), ensuring that the scales of all normalized performance indicator data are uniform.
[0187] Step 5.2, aligning and semantic filling of the normalized performance indicator data with the state space to construct the state vector at the current time, specifically including: according to the definition of the state space (including resource utilization, I / O load, network bandwidth occupancy rate and physical resource type state dimensions), the normalized performance indicator data is matched one by one according to the state space dimension order:
[0188] First, align the resource utilization dimension, calculate the CPU utilization of the computing node, the GPU utilization, the SSD / HDD utilization of the storage node (converted through the ratio of I / O throughput to maximum throughput), the network device bandwidth utilization, and fill in the resource utilization dimension of the state space; Then align the load and physical state dimension, fill in the I / O load of the storage node (read load, write load, converted through read-write throughput), the data transmission load of the network device (converted through bandwidth occupancy), and the storage device type identification (SSD is set to 1, HDD is set to 0), GPU memory level identification, corresponding to the load and physical resource state dimension of the state space; Ensure that each normalized performance indicator has a determined state space dimension corresponding to it, with no dimension missing or mismatch. For the dimensions in the state space that are not directly covered by performance indicator collection (such as resource utilization weight, service quality weight, and energy consumption weight in the initial weight vector), read the corresponding values from the configuration database of the multi-objective optimization model to fill in:
[0189] According to the current business scenario identifier (such as S-AI, S-DB-OLTP), call the initial weight vector calculated in step 4.2, fill in the resource utilization weight, service quality weight, and energy consumption weight in the weight dimension of the state space; After filling, the current time state vector is formed, which is consistent with the dimension and state space, and each value in the vector is a normalized effective data without null or invalid values.
[0190] Step 5.3, according to the current time state vector and the multi-objective optimization model, the corresponding preliminary action decision is obtained by forward reasoning, which specifically includes: converting the current time state vector into an input format suitable for the policy network of the reinforcement learning model (PPO algorithm):
[0191] If the state vector is N-dimensional, it is converted into a 1xN two-dimensional tensor with a floating-point data type to ensure compatibility with the input layer dimension of the policy network; According to the latest training parameters (including weight matrix and bias) of the policy network in the multi-objective optimization model constructed in step 4.6, ensure that the reasoning uses the verified optimal model parameters; The input layer receives the state vector tensor and passes it to the double hidden layer (128 nodes per layer) for processing through the ReLU activation function to extract key features (such as high CPU utilization, low I / O load, etc.) in the state vector; The output layer outputs the probability distribution of each action according to the action space dimension (including data migration, replica adjustment, and resource allocation); Select the top 5 actions with the highest probability as the preliminary action decision, each preliminary action decision needs to include specific parameters (such as data migration action needs to determine the source node, target node, and migration data volume; resource allocation action needs to determine the number of CPU cores and GPU memory size), to ensure that the action is executable and verifiable.
[0192] Step 5.4, performing physical resource feasibility check and policy conflict detection on the preliminary action decisions to obtain an effective action set, specifically including: performing hardware carrying capacity check on each preliminary action decision:
[0193] Data migration action, checking whether the remaining storage space of the target node is greater than the data migration amount, whether the target storage device type meets the business scenario requirements (such as AI scenario target node needs to be NVMeSSD), whether the network bandwidth of the migration path meets the migration rate requirement; replica adjustment action, checking whether the adjusted replica number meets the system minimum redundancy requirement (such as minimum 2 replicas), whether the replica distribution node is cross-rack (OLTP scenario needs to meet), whether the storage node of the new replica has sufficient I / O performance support; resource allocation action, checking whether the allocated CPU core number exceeds the total core number of the node, whether the GPU memory exceeds the total GPU memory of the node, and whether the storage capacity exceeds the remaining capacity of the device; if any of the preliminary action decisions does not meet the above conditions, it is determined as unfeasible and the action is excluded.
[0194] Further detecting whether there is a policy conflict for the preliminary action decisions that pass the feasibility check:
[0195] The conflict types include resource over-allocation conflict (such as the same GPU node is allocated memory by multiple actions at the same time, the total exceeds the actual capacity), action target conflict (such as the same data is migrated to different nodes by two actions at the same time); using conflict priority resolution mechanism, sorting according to the resource priority weight of the action (from step 3.5 mapping table), retaining high priority actions and excluding low priority conflict actions; if the priority is the same, retaining the action that is more significant for service quality improvement (judged by the reward function prediction value corresponding to the action), finally the actions that pass the feasibility check and conflict detection are summarized to form an effective action set, ensuring that there is no conflict and executable in the set.
[0196] Step 5.5, based on the effective action set, simulating the execution of each resource scheduling action to predict the resource state and load of each node in the future period, including at least the CPU and GPU utilization of each computing node, the I / O load of SSD and HDD of each storage node, and the bandwidth occupancy rate of network devices, specifically including: based on the hardware topology (rack, server and device hierarchical relationship) and current resource state of the distributed storage system, building a lightweight simulation execution environment:
[0197] The hardware parameters of each node in the environment, such as the number of CPU cores, GPU memory, storage device capacity and maximum I / O performance, network bandwidth limit, and execution rules of resource scheduling actions, such as data migration rate = network bandwidth x 0.8, and replica creation time = data volume ÷ storage device write speed; according to all actions in the effective action set, set the simulation execution order according to the action priority order (resource priority weight from high to low).
[0198] Simulate the execution of each action in order, update the storage capacity and I / O load of the source node and the target node in real time when executing the data migration action; update the number of replicas and I / O load of the storage node when executing the replica adjustment action; update the CPU / GPU utilization of the computing node and the storage occupancy of the storage node when executing the resource allocation action; predict the state and load in the future period, according to the preset prediction period (such as future 5 minutes, 10 minutes, and business scenario time window matching), generate prediction data every 1 minute, including the predicted value of CPU / GPU utilization of each computing node (calculated according to the load change trend after action execution), the I / O load prediction value of each storage node SSD / HDD (read load, write load, combined with historical load fluctuation rule), and the network device bandwidth occupancy rate prediction value (calculated according to the transmission traffic generated by the action); after the prediction is completed, output the resource state and load prediction report of each time slice in the future, and determine the resource bottleneck warning of each node (such as the predicted utilization rate of a certain CPU node will exceed 90%).
[0199] In the embodiments of the present application, the performance index collection range and frequency are refined according to node types, to ensure that core indexes such as CPU / GPU utilization, I / O throughput, and bandwidth utilization are covered in real time and comprehensively. At the same time, through abnormal value preprocessing and targeted normalization (proportional and absolute value type indexes are differentiated), data noise and scale difference are eliminated. Through the dimension alignment of state vectors and state spaces, the normalized performance indexes are accurately matched with the input requirements of the reinforcement learning model. In combination with key dimensions such as semantic filling and weight completion, a complete current state vector is formed. This construction method realizes the seamless connection between the real-time state of the distributed storage system and the multi-objective optimization model, so that the model can accurately perceive the current running state of the system. Based on the current state vector, the reinforcement learning strategy network is used to output high-probability preliminary action decisions, and the decisions are accompanied by specific execution parameters. This process, relying on the training results of the multi-objective optimization model, can generate scheduling directions that meet the resource optimization goals (resource utilization, service quality, and energy consumption balance) in combination with the real-time state of the system (such as high CPU utilization and low I / O load), avoiding blind decisions and improving the scientificity and pertinence of action decisions. The preliminary action decisions are verified from two aspects of physical resource carrying capacity (such as target node storage space and device type matching) and strategy conflict (such as resource over-provisioning and action target conflict), to eliminate infeasible and conflicting actions and form an effective action set. This step can avoid scheduling failures (such as insufficient space in the data migration target node) caused by resource shortages or strategy conflicts in advance, ensure the executability of subsequent resource scheduling actions, and reduce the risk of system operation.
[0200] In a preferred embodiment of the present application, step 6, according to the resource state and load of each node, lightweight rule scheduling is performed to obtain a preliminary scheduling scheme, including:
[0201] Step 6.1, according to the resource state and load of each node in a future period of time, extract the predicted resource indexes of the current edge node and its adjacent computing nodes and storage nodes, the predicted resource indexes at least including CPU and GPU utilization, I / O load of SSD and HDD, and network bandwidth occupancy rate, specifically including: taking the edge computing node as the core, defining an adjacent range with a radius of 1 rack unit, and screening out adjacent computing nodes (other computing servers within the same rack) and adjacent storage nodes (servers directly connected to the storage devices of the edge node) within the range, to ensure that the extracted nodes have direct hardware connection or short path network association with the edge node, reducing cross-region scheduling delay; from the future resource state and load prediction report output in step 5.5, extract core prediction indexes according to node types:
[0202] The edge node and the adjacent computing node extract CPU utilization rate prediction values (overall average utilization rate, single-core maximum utilization rate) of two time slices of 5 minutes and 10 minutes in the future, GPU utilization rate prediction values (computing core utilization rate, video memory usage rate), and record hardware basic parameters such as the total number of CPU cores and the total amount of GPU video memory. The adjacent storage node extracts I / O load prediction values (read load proportion, write load proportion, total I / O throughput) of SSD and HDD of 5 minutes and 10 minutes in the future, synchronizes the physical partition identifier of the associated storage device and the corresponding remaining storage space, and extracts the network link bandwidth occupation rate prediction values (uplink occupation rate, downlink occupation rate) between the edge node and the adjacent node for 5 minutes and 10 minutes in the future, as well as auxiliary indexes such as the maximum bandwidth of the link and the current transmission delay, to ensure that the indexes cover the full dimensions of computing, storage and network required for scheduling.
[0203] Step 6.2, build an edge node load evaluation model based on computing resource utilization, storage I / O load and network bandwidth occupation rate, specifically including: dynamically assigning criterion weights according to edge node business characteristics, and the total weight is 1:
[0204] The computing-intensive edge business (such as AI inference) has a computing resource utilization criterion weight of 0.4, a storage I / O load criterion weight of 0.2, and a network bandwidth occupation rate criterion weight of 0.4, and gives priority to computing and network resources; the storage-intensive edge business (such as edge caching) has a computing resource utilization criterion weight of 0.2, a storage I / O load criterion weight of 0.5, and a network bandwidth occupation rate criterion weight of 0.3, and focuses on storage and network adaptation; the general-purpose edge business (such as office data processing) has a computing resource utilization criterion weight of 0.3, a storage I / O load criterion weight of 0.3, and a network bandwidth occupation rate criterion weight of 0.4, and balances the three types of resources.
[0205] Quantitative processing is performed on the predicted resource indexes corresponding to the three types of criteria:
[0206] The computing resource utilization criterion is calculated by (CPU utilization prediction value x 0.6 + GPU utilization prediction value x 0.4) to calculate the comprehensive utilization, wherein the GPU utilization weight is higher (for the edge node containing GPU), and if the node has no GPU, only the CPU utilization is calculated; the storage I / O load criterion is calculated by (SSD I / O load prediction value x 0.7 + HDD I / O load prediction value x 0.3) to calculate the comprehensive I / O load, the influence of SSD on high real-time service is highlighted, and the remaining space ratio of the storage device is associated (if the remaining space ratio is less than 20%, the I / O load weight is additionally increased by 0.1); the network bandwidth occupancy rate criterion is calculated by (uplink bandwidth occupancy rate prediction value x 0.5 + downlink bandwidth occupancy rate prediction value x 0.5) to calculate the comprehensive bandwidth occupancy rate, if the link transmission delay prediction value is higher than 5ms, the bandwidth occupancy rate weight is reduced by 0.1, to avoid the influence of high delay link on the scheduling effect; the three types of quantitative results are integrated into a unified evaluation framework by weighted summation, to form an edge node load evaluation model.
[0207] Step 6.3, according to the load evaluation model, the comprehensive load scores of the current edge node and each adjacent node are calculated, and the load level of the node is determined according to the comprehensive load score and the physical resource type constraint, specifically including: the quantitative results of each criterion are mapped to the range of 0-1 according to the maximum and minimum normalization method, wherein the computing resource utilization, the storage I / O load and the network bandwidth occupancy rate are all positive indicators, and the higher the value is, the heavier the load is; the standardized results of each criterion are multiplied and summed according to the criterion weight determined in step 6.2, to obtain the comprehensive load score of the current edge node and each adjacent node, the score range is 0-1, and the higher the score is, the heavier the node load is; the load level is divided, the preset 4-level load level standard is 0-0.3 for low load, 0.3-0.6 for medium load, 0.6-0.8 for high load, and 0.8-1.0 for overload, and the initial load level of each node is determined according to the comprehensive load score; the initial load level is corrected, if the remaining space ratio of the storage node SSD is less than 10%, even if the comprehensive load score is 0.5 (medium load), it is also adjusted to high load; if the number of CPU cores of the computing node is greater than or equal to 32 and the comprehensive load score is 0.7 (high load), it is adjusted to medium load, to ensure that the load level matches the actual carrying capacity of the hardware, and to avoid misjudgment caused by relying on the score only.
[0208] Step 6.4, based on the preconfigured lightweight scheduling rule library and the load level of the node, the local scheduling instructions for data migration, replica placement and task allocation are obtained, specifically including: the rule library is stored by combining and scheduling operation type according to the load level, each rule contains trigger condition, operation parameter and constraint condition:
[0209] Trigger condition, determine the load level combination of edge node and adjacent node (such as edge node overload plus adjacent computing node low load); Define the specific execution requirements of scheduling operation (such as the upper limit of data migration rate, the number limit of replica placement, the resource proportion limit of task allocation); Limit the corresponding physical resource type of operation (such as the target node of data migration needs to be NVMe SSD, and the task allocation needs to match CPU architecture).
[0210] When scheduling, match the rule library according to the order of edge node load level, adjacent node load level and physical resource type, and filter out the only rule that meets the current scene; If the edge node storage is overloaded and the adjacent storage node is low load, generate the instruction of migrating the high load SSD partition of the edge node to the low load SSD partition of the adjacent node, and specify the migration data volume (not more than 30% of the remaining space of the adjacent node), the migration rate (not more than 50% of the network link bandwidth), and the priority of the migration data (sorted from low to high according to the access frequency); If the edge node computing is overloaded and the adjacent computing node is low load, generate the instruction of adding the high frequency access data replica of the edge node to the local storage of the adjacent computing node, and determine the number of replicas (1-2), the type of replica storage device (consistent with the type of source data device), and the synchronization frequency of replica (synchronize once every 30 seconds); If the CPU of the edge node is overloaded and the adjacent computing node is low load, generate the instruction of allocating part of the computing task of the edge node to the adjacent computing node, and specify the task allocation proportion (not more than 40% of the remaining resources of the CPU of the adjacent node), the task type (only allocate stateless computing tasks), and the communication protocol after task migration (consistent with the original task); Each local scheduling instruction is attached with an execution priority (1-5 levels, level 1 is the highest), which ensures that the subsequent integration is sorted according to the priority.
[0211] Step 6.5. Integrate all local scheduling instructions to form a preliminary scheduling scheme for the edge node, which at least contains the sequence of operations to be performed, target node information, and required physical resource type configuration, specifically including: if multiple instructions involve the same target node resource, calculate the total resource occupancy (such as the total CPU occupancy of multiple task assignments to the same computing node), if it exceeds 60% of the remaining resources of the node, remove low-priority instructions according to instruction priority to ensure that the target node resources are not over-occupied; merge scheduling operations of the same type (such as multiple data migration instructions pointing to the same adjacent node, merge into a single batch migration), reduce the number of operations, and reduce system scheduling overhead. List all local scheduling instructions in execution order, clearly define the execution time window of each instruction (such as executing data migration in the next 1-3 minutes, executing task assignment in 3-5 minutes), execution timeout threshold (such as setting the data migration timeout time to 5 minutes); label the target node physical identifier (rack, server and device number) corresponding to each instruction, the resource remaining amount of the target node (before scheduling), and the estimated resource occupancy after scheduling to ensure that node information is traceable; determine the physical resource type and parameters required by each instruction (such as data migration requiring NVMe SSD, task assignment requiring x86 architecture CPU, network link requiring gigabit and above bandwidth), and label the effective period of resource use (such as task assignment resources only occupying 2 hours).
[0212] As shown in Figure 2 The distributed storage resource intelligent scheduling device comprises:
[0213] The acquisition module is configured to acquire multi-modal data in a distributed storage system, analyze the multi-modal data, extract multi-modal data features including text features and time sequence features to obtain feature vectors of different modalities, construct a multi-dimensional data space with reference to storage server rack positions and storage device physical partitions, construct a tree-shaped abstract data structure based on the multi-dimensional data space, divide a plurality of partition units in the abstract data structure with physical server nodes as basic units, divide the partition units according to data distribution characteristics to form a plurality of sub-regions, map data to corresponding sub-regions, and obtain resource adjustment parameters according to data features of each sub-region.
[0214] The splicing module is configured to splice feature vectors of different modalities to obtain multi-modal feature vectors.
[0215] The construction module is configured to predict user satisfaction based on the multi-modal feature vectors and the resource adjustment parameters, establish a resource demand priority mapping table under different business scenarios according to the user satisfaction, and construct a multi-objective optimization model according to the resource demand priority mapping table.
[0216] The prediction module is configured to predict resource states and load conditions of each node in the distributed storage system based on a multi-objective optimization model, and perform lightweight rule scheduling according to the resource states and load conditions of each node to obtain a preliminary scheduling scheme.
[0217] The above describes the preferred embodiments of the present application. It should be noted that those skilled in the art can make several improvements and refinements without departing from the principles of the present application, and these improvements and refinements should also be considered within the scope of the present application.
Claims
1. A method for intelligent scheduling of distributed storage resources, characterized in that, The method comprises: Collecting multi-modal data in a distributed storage system; analyzing the multi-modal data, extracting multi-modal data features including text features and time sequence features to obtain feature vectors of different modalities; constructing a multi-dimensional data space with reference to storage server rack positions and storage device physical partitions, constructing a tree abstract data structure based on the multi-dimensional data space; dividing a plurality of partition units in the abstract data structure with physical server nodes as basic units, dividing the partition units according to data distribution characteristics to form a plurality of sub-regions, mapping data to corresponding sub-regions, and obtaining resource adjustment parameters according to data features of each sub-region; the determination process of the resource adjustment parameters comprises: preprocessing multi-modal data collected from computing nodes, storage nodes and network devices, and organizing them according to their physical attribute dimensions and logical associations, constructing a multi-dimensional data space with storage server rack positions and storage device physical partitions as spatial references; based on the multi-dimensional data space, constructing a tree abstract data structure for resource feature expression with physical server nodes as root nodes and storage devices as leaf nodes; dividing the tree abstract data structure into regions according to the distribution density and business relevance of multi-modal data in the multi-dimensional data space, forming a plurality of partition units with physical server nodes as basic units; clustering and analyzing the data distribution in each partition unit, dividing sub-regions, and mapping each data instance to the corresponding sub-region according to its physical location and access features; extracting data access frequency, data size and response time features of each sub-region, calculating resource weight coefficients of the corresponding sub-region according to the data access frequency, data size and response time features, and obtaining resource adjustment parameters; Concatenating the feature vectors of different modalities to obtain a multi-modal feature vector; Based on the multi-modal feature vector and the resource adjustment parameter, the user satisfaction is predicted; according to the user satisfaction, a resource demand priority mapping table under different business scenarios is established, which comprises: weighting and feature fusion of the multi-modal feature vector and the resource adjustment parameter to obtain a fusion feature vector; obtaining historical resource usage data and real-time monitoring data from computing nodes, storage nodes and network devices in the distributed storage system, and performing standardization processing to extract time sequence features and statistical features related to physical resource distribution; concatenating the fusion feature vector, the time sequence features and the statistical features to form an input feature set; based on the input feature set, a prediction model is constructed; according to the prediction model, a user satisfaction prediction value is obtained; according to the user satisfaction prediction value, combined with the preset business scenario classification label and the physical resource constraint condition, a resource demand priority mapping table under different business scenarios is established, and the mapping table at least includes scene identification, satisfaction level, corresponding resource priority weight and required physical resource type; According to the resource demand priority mapping table, a multi-objective optimization model is constructed; Based on the multi-objective optimization model, the resource state and load of each node in the distributed storage system are predicted. According to the resource state and load condition of each node, lightweight rule scheduling is performed to obtain a preliminary scheduling scheme. 2.The method of claim 1, wherein, The multi-modal data includes CPU and GPU utilization indicators from the computing nodes, I / O performance data of SSD and HDD from the storage nodes, and bandwidth and delay data from the network devices. 3.The method of claim 2, wherein, According to the distribution density and business correlation of the multi-modal data in the multi-dimensional data space, the tree-shaped abstract data structure is regionally divided to form a plurality of partition units taking the physical server nodes as basic units, including: Based on the hierarchical relationship between the physical server nodes and the storage devices in the tree-shaped abstract data structure, a radial dimension for measuring the distribution density of data on the physical storage devices and an axial dimension for distinguishing different data types of the rack server nodes are defined, and a cylindrical coordinate mapping model is constructed; According to the cylindrical coordinate mapping model, each data point in the multi-dimensional data space is mapped to the corresponding cylindrical coordinate according to the physical server node and the storage device partition to which it belongs, and the data is initially divided according to the axial dimension to form a plurality of candidate partitions taking the physical server nodes as units; For each candidate partition, the distribution density of the data points in the physical storage device layer is calculated to obtain adjusted partitions; For the adjusted partitions, merging optimization is performed according to the business correlation between the data attributes and the topological proximity of the physical server nodes to form a plurality of partition units taking the physical server nodes as basic units.
4. The method of claim 3, wherein, Cluster analysis is performed on the data distribution in each partition unit, sub-regions are divided, and each data instance is mapped to the sub-region to which it belongs according to its physical location and access characteristics, including: For each partition unit taking the physical server node as the basic unit, the spatial coordinates, physical location attributes and access characteristic attributes of all data points inside it are extracted to form a data set to be clustered; Based on the physical location distribution characteristics of the data points in the data set to be clustered, an initial convex hull is obtained; the concave depths of the data points in the neighborhood of each edge of the initial convex hull are calculated; according to a preset concave depth threshold, the concave points that meet the conditions are identified and added to the boundary point set until no new concave point that meets the conditions is generated, to obtain a concave polygon constructed by the boundary point set; With the concave polygon as the constraint boundary, the data set to be clustered is subjected to cluster analysis, and the data points located inside the same concave polygon, having similar physical locations and similar access characteristics are merged into the same sub-region; For each sub-region obtained by clustering, the physical location center and the access characteristic center of the data points are calculated, and each data instance in the partition unit is mapped to the corresponding sub-region to which it belongs according to its physical location similarity and access characteristic similarity.
5. The method of claim 4, wherein, According to the resource demand priority mapping table, a multi-objective optimization model is constructed, including: Analyzing the resource demand priority mapping table to obtain the resource priority weight and the required physical resource type under different business scenarios; Constructing a multi-objective decision hierarchy model with resource utilization, service quality and energy consumption as optimization objectives, and calculating the initial weight vector of each optimization objective according to the resource priority weight and the physical resource type constraint; fusing the initial weight vector with real-time state information from computing nodes, storage nodes and network devices in the distributed storage system to define a state space, the state space including at least resource utilization, I / O load, network bandwidth occupancy and physical resource type state of each node; defining an action space based on the multi-objective decision hierarchy model and the physical resource type constraint, the action space including data migration strategies, replica adjustment strategies and resource allocation strategies based on the physical resource type; determining a reward function based on optimization objectives and physical resource utilization efficiency, the reward function comprehensively considering balance of resource allocation, service quality satisfaction, energy consumption indicators and physical resource adaptation degree; constructing a multi-objective optimization model according to the state space, the action space and the reward function.
6. The method of claim 5, wherein, based on the multi-objective optimization model, predicting resource states and load conditions of each node in the distributed storage system, including: real-time collection of performance indicators of each computing node, storage node and network device in the distributed storage system, the performance indicators including at least CPU and GPU utilization from computing nodes, I / O throughput and read-write delay of SSD and HDD from storage nodes, and bandwidth utilization and transmission delay from network devices; data normalization processing is performed on the performance indicators to obtain normalized performance indicator data; aligning and semantically filling the normalized performance indicator data with the state space to construct a state vector at the current time; based on the state vector at the current time and the multi-objective optimization model, a preliminary action decision is obtained by forward reasoning; physical resource feasibility checking and strategy conflict detection are performed on the preliminary action decision to obtain an effective action set; based on the effective action set, simulating execution of each resource scheduling action to predict resource states and load conditions of each node in a future period of time, the resource states and load conditions including at least CPU and GPU utilization of each computing node, I / O load of SSD and HDD of each storage node, and network bandwidth occupancy.
7. The method of claim 6, wherein, based on the resource states and load conditions of each node, lightweight rule scheduling is performed to obtain a preliminary scheduling scheme, including: based on the resource states and load conditions of each node in the future period of time, extracting predicted resource indicators of the current edge node and its adjacent computing nodes and storage nodes, the predicted resource indicators including at least CPU and GPU utilization, I / O load of SSD and HDD, and network bandwidth occupancy; constructing an edge node load evaluation model based on computing resource utilization, storage I / O load and network bandwidth occupancy; based on the load evaluation model, calculating comprehensive load scores of the current edge node and each adjacent node, and determining load levels of the nodes according to the comprehensive load scores and the physical resource type constraint; based on a preconfigured lightweight scheduling rule library and the load levels of the nodes, obtaining local scheduling instructions for data migration, replica placement and task allocation; Integrate all local scheduling instructions to form a preliminary scheduling scheme of the edge node, and the preliminary scheduling scheme at least contains a sequence of operations to be executed, target node information and required physical resource type configuration.
8. A distributed storage resource intelligent scheduling apparatus, which implements the method of any one of claims 1 to 7, characterized in that, Comprise: The acquisition module is used for collecting multi-modal data in the distributed storage system; The multi-modal data is analyzed, and multi-modal data features including text features and timing features are extracted to obtain feature vectors of different modalities; the multi-modal data is constructed with storage server rack positions and storage device physical partitions as references to form a multi-dimensional data space, and a tree-like abstract data structure is constructed based on the multi-dimensional data space; the abstract data structure is divided into multiple partition units with physical server nodes as basic units, the partition units are divided according to data distribution characteristics to form multiple sub-regions, the data is mapped to the corresponding sub-regions, and resource adjustment parameters are obtained according to the data characteristics of each sub-region; The splicing module is used for splicing the feature vectors of different modalities to obtain multi-modal feature vectors; The construction module is used for predicting user satisfaction based on the multi-modal feature vectors and the resource adjustment parameters; establishing a resource demand priority mapping table under different business scenarios according to the user satisfaction; and constructing a multi-objective optimization model according to the resource demand priority mapping table; The prediction module is used for predicting the resource state and load condition of each node in the distributed storage system based on the multi-objective optimization model; and performing lightweight rule scheduling according to the resource state and load condition of each node to obtain a preliminary scheduling scheme.
Citation Information
Patent Citations
Resource scheduling method and device, electronic equipment and storage medium
CN116258322A
Hyper-converged server multi-resource integration system and scheduling method
CN120561343A