Cluster cpu cooperative frequency adjustment method and system, computer device and medium

By employing a time-series regression model and a seed-based relay diffusion mechanism in large clusters, global frequency modulation parameters are generated and synchronized, solving the problems of cluster CPU scheduling lag and network storms, and achieving efficient, real-time load balancing and energy consumption optimization.

CN122019189BActive Publication Date: 2026-06-26CHINA UNICOM DIGITAL TECNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA UNICOM DIGITAL TECNOLOGY CO LTD
Filing Date
2026-04-10
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing technologies struggle to achieve synchronous and real-time load scheduling in large clusters, leading to scheduling lag and network storms. This is especially true in cloud computing environments with drastic and unpredictable load fluctuations, where traditional CPU frequency adjustment strategies suffer from latency and excessive resource consumption.

Method used

A trained time-series regression model is used to generate global total frequency modulation parameters. The frequency modulation parameters are synchronized within the cluster through a seed-based relay diffusion method. The target operating frequency of each node is generated through the election and allocation of distributed optimal frequency modulation representative nodes. The adjacency relationship between nodes is used to predict and allocate load tidal.

Benefits of technology

It achieves efficient frequency regulation of cluster CPUs, reduces latency and resource consumption, improves the real-time performance and synchronization of load scheduling, has fault tolerance capabilities, and is suitable for large-scale cluster environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122019189B_ABST
    Figure CN122019189B_ABST
Patent Text Reader

Abstract

The present disclosure provides a cluster CPU cooperative frequency adjustment method and system, a computer device and a medium. The cluster CPU cooperative frequency adjustment method of an embodiment comprises: generating a global total frequency adjustment parameter through a trained time series regression model; synchronizing the global total frequency adjustment parameter to all nodes in the cluster in a seed relay diffusion manner based on the adjacent topological relationship between the nodes, updating the adjacent frequency adjustment table maintained locally by each node; completing the election of a distributed optimal frequency adjustment representative node based on the adjacent frequency adjustment table synchronized by all nodes in the cluster, performing inter-node distribution of the global total frequency adjustment parameter through the elected representative node, and generating a target running frequency of each node; and each node performing a CPU frequency adjustment operation based on the allocated target running frequency. The present disclosure can realize the cooperative frequency of multiple nodes before the load tide arrives.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of communications. More specifically, it relates to a cluster CPU collaborative frequency adjustment method, a cluster CPU collaborative frequency adjustment system, a computer device, and a computer-readable storage medium. Background Technology

[0002] With the development of cloud computing and high-performance computing, servers face the challenge of drastic and unpredictable load fluctuations. The current state of operating system scheduling relies primarily on detection-and-response mechanisms in traditional task schedulers (CFS, EEVDF) and central processing unit (CPU) frequency adjustment strategies. This means that monitoring the current system load status is necessary to increase CPU frequency or perform other operations. However, this has a certain lag; during sudden traffic surges, CPU frequency increases and core wake-up delays can cause initial response jitter or delays in business operations. Furthermore, predicting and adjusting the load data for individual nodes within a CPU cluster in advance would lead to excessive computational load and control redundancy in practical applications. Summary of the Invention

[0003] The purpose of this disclosure is to provide a method for coordinated frequency adjustment of clustered CPUs, including:

[0004] The predicted global total frequency modulation parameters are generated using a trained time-series regression model.

[0005] Based on the adjacency topology between nodes, a seed-based relay diffusion method is used to synchronize the global total frequency modulation parameters to all nodes in the entire cluster and update the adjacency frequency modulation table maintained locally by each node.

[0006] Based on the adjacency frequency modulation table synchronized by all nodes in the cluster, the representative node for distributed optimal frequency modulation is elected, and the node-to-node allocation of the global total frequency modulation parameters is performed by the elected representative node to generate the target operating frequency for each node.

[0007] Each node performs CPU frequency adjustment operations based on the assigned target operating frequency.

[0008] Optionally, the input to the trained time series regression model is the global total CPU load time series of the entire cluster, and the only output is the global total frequency adjustment parameter, which is the sum of the total equivalent CPU frequencies that all nodes in the entire cluster need to provide in a future scheduling cycle.

[0009] Optionally, generating the predicted global total frequency modulation parameters through the trained time-series regression model further includes:

[0010] A time-series regression model is constructed using a recurrent neural network model;

[0011] Supervised training is performed using historical cluster load time-series data based on the global total CPU load time-series sequence to obtain a trained time-series regression model.

[0012] The predicted global total frequency modulation parameters generated by the trained time-series regression model further include:

[0013] The trained time-series regression model generates predicted system load values ​​for future time periods, and outputs global total frequency regulation parameters based on the predicted system load values.

[0014] Optionally, synchronizing the global master frequency modulation parameters to all nodes in the cluster using a seed-based relay diffusion method further includes:

[0015] The node that generates the global total frequency modulation parameters is used as the seed node. The seed node sends frequency modulation prior information packets only to its directly connected 1-hop neighbor nodes.

[0016] In response to receiving a frequency modulation prior information packet, the neighboring node updates its local adjacent frequency modulation table, increments the hop count of the frequency modulation prior information packet by one, and relays it to its own neighboring nodes.

[0017] When the number of hops of the frequency modulation prior information packet reaches the preset maximum threshold or the receiving node has already processed the frequency modulation prior information packet, the information forwarding process of the corresponding branch of the node is terminated.

[0018] Optionally, based on the adjacency frequency modulation table synchronized across all nodes in the cluster, the election of representative nodes for distributed optimal frequency modulation is completed, and the inter-node allocation of global total frequency modulation parameters is performed through the elected representative nodes, further including:

[0019] Based on the status data in the local adjacency frequency modulation table of each node, calculate the frequency modulation capability score of each node;

[0020] Based on the adjacency topology between nodes, a master representative node is elected through a distributed pairwise consensus mechanism.

[0021] Based on the principle of topological adjacency, the cluster is divided into at least one contiguous adjacency region. A unique representative node for each contiguous adjacency region is generated through distributed voting within the contiguous adjacency region. The number of contiguous adjacency regions is the square root of the total number of nodes in the cluster, rounded down.

[0022] The master representative node performs the allocation of global master frequency modulation parameters, and the representative nodes of each consecutive adjacent area complete the frequency allocation and distribution of single nodes in the corresponding consecutive adjacent area.

[0023] Optionally, the regional representative node is used to summarize the node status data in the corresponding continuous adjacent area and to relay the frequency modulation strategy. The regional representative node is selected from the candidate regional nodes, and the candidate regional nodes meet the following constraints: normal online status, CPU utilization does not exceed the preset threshold, normal hardware frequency modulation function, and have at least one directly connected adjacent node.

[0024] The allocation of global master frequency modulation parameters by the master representative node further includes:

[0025] Calculate the single-node reference frequency, where the single-node reference frequency is the quotient of the global total frequency modulation parameter and the total number of normal nodes in the cluster;

[0026] The remaining quota after deducting the minimum allowance from the global total frequency regulation parameters is weighted and allocated to determine the total frequency quota for each consecutive adjacent area. The minimum allowance is the minimum coordination required for the consecutive adjacent area to meet the minimum performance requirements of the service. The weight is the proportion of the average load of each consecutive adjacent area to the total load of the entire cluster.

[0027] The total frequency quota of each consecutive adjacent region is distributed to the representative node of the corresponding consecutive adjacent region through seed diffusion.

[0028] The regional representative node allocates the frequency of a single node based on the node load and hardware status of the corresponding consecutive adjacent regions.

[0029] Optionally, performing the CPU frequency adjustment operation further includes:

[0030] Each node reads the assigned target operating frequency from its local adjacency frequency table and adjusts the frequency by calling the kernel frequency adjustment interface through the extended Berkeley packet filter;

[0031] In response to the end of a frequency, each node updates its local adjacency frequency table with its own status data and synchronizes it to its directly connected neighboring nodes via adjacency heartbeat broadcast, and / or

[0032] Each node in the cluster independently maintains an adjacency frequency modulation table in its local kernel shared memory. The adjacency frequency modulation table includes a global anchoring area, a local node status area, a directly connected adjacent node status area, a diffused adjacent node status area, and a global decision area, which are used to store the corresponding data for the entire frequency modulation process.

[0033] The second aspect of this disclosure provides a cluster CPU collaborative frequency adjustment system, which includes multiple nodes, at least one of which is loaded with a trained time-series regression model. The cluster CPU collaborative frequency adjustment system is configured to:

[0034] The predicted global total frequency modulation parameters are generated using a trained time-series regression model.

[0035] Based on the adjacency topology between nodes, a seed-based relay diffusion method is used to synchronize the global total frequency modulation parameters to all nodes in the entire cluster and update the adjacency frequency modulation table maintained locally by each node.

[0036] Based on the adjacency frequency modulation table synchronized by all nodes in the cluster, the representative node for distributed optimal frequency modulation is elected, and the node-to-node allocation of the global total frequency modulation parameters is performed by the elected representative node to generate the target operating frequency for each node.

[0037] Each node performs CPU frequency adjustment operations based on the assigned target operating frequency.

[0038] A third aspect of this disclosure provides a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the cluster CPU collaborative frequency adjustment method described above.

[0039] The fourth aspect of this disclosure provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the cluster CPU cooperative frequency adjustment method as described above.

[0040] The beneficial effects of this disclosure are as follows:

[0041] The cluster CPU collaborative frequency adjustment method and system, computer device, and computer-readable storage medium disclosed in this embodiment generate predicted global total frequency adjustment parameters using a trained time-series regression model. Based on the adjacency topology between nodes, the global total frequency adjustment parameters are synchronized to all nodes in the cluster using a seed-based relay diffusion method. The adjacency frequency adjustment table maintained locally by each node is updated. After synchronizing the adjacency frequency adjustment table at each node, the optimal allocation representative node is elected, and this node generates the target operating frequency for each node. By utilizing the adjacency relationship between nodes, the predicted allocation amount of load tidal is completed in advance according to the real-time load status of the nodes, realizing efficient frequency adjustment of the cluster CPU. This is beneficial for optimizing the power consumption of the cluster CPU and has broad application prospects. Attached Figure Description

[0042] The specific embodiments of this disclosure will be described in further detail below with reference to the accompanying drawings.

[0043] Figure 1 A flowchart illustrating a cluster CPU collaborative frequency adjustment method according to an embodiment of the present disclosure is shown.

[0044] Figure 2 A flowchart illustrating the training process of a time-series regression model according to an embodiment of the present disclosure is shown.

[0045] Figure 3 A flowchart illustrating an embodiment of this disclosure is provided for predicting load information using a trained time-series regression model.

[0046] Figure 4 A communication flow diagram is shown for a cluster CPU collaborative frequency adjustment method according to an embodiment of the present disclosure;

[0047] Figure 5 A schematic diagram of node relationships is shown for a cluster CPU collaborative frequency adjustment method according to another embodiment of this disclosure;

[0048] Figure 6 A flowchart illustrating a cluster CPU collaborative frequency adjustment method according to another embodiment of this disclosure is shown.

[0049] Figure 7 A flowchart illustrating a cluster CPU collaborative frequency adjustment method according to another embodiment of this disclosure is shown.

[0050] Figure 8 A schematic diagram of a cluster CPU cooperative frequency adjustment system according to another embodiment of the present disclosure is shown;

[0051] Figure 9 A schematic diagram of a computer device according to an embodiment of the present disclosure is shown. Detailed Implementation

[0052] To more clearly illustrate this disclosure, the following description, in conjunction with embodiments and accompanying drawings, provides further insight. Similar components in the drawings are indicated by the same reference numerals. Those skilled in the art should understand that the specific description below is illustrative rather than restrictive and should not be construed as limiting the scope of protection of this disclosure.

[0053] Existing technologies typically employ a local time-series model configured for each server node to predict load and perform independent frequency adjustment. This requires each server node to dedicate processing time to maintain continuous prediction using its local time-series model, significantly consuming its computing power. While a single server node could perform time-series model prediction for the entire cluster load, and then independently adjust frequency based on each node's current load, a similar unified scheduling approach requires each server node to send its own load information to the control center. The control center then performs unified scheduling using its algorithm before sending scheduling commands to each server node. This approach offers superior scheduling performance for small clusters, but for large clusters, such as those with over 1000 server nodes, the computational latency of the unified scheduling algorithm (due to the increased complexity of the calculation process caused by the large number of nodes, requiring a longer time to calculate the globally optimal scheduling scheme) cannot meet the latency requirements for load scheduling synchronization among the server nodes, leading to scheduling lag.

[0054] For large clusters, one existing load balancing solution is to divide the cluster into multiple partitions and assign an available node to each partition for scheduling control within that area, thus avoiding network storms. However, if the available node is temporarily assigned, such as selecting the node with the lowest load, then each node in the partition needs to actively upload its current load to the available node. For load balancing that requires real-time response, the large amount of data broadcasting can easily lead to local network storms and latency issues. If the node is pre-assigned, then when the node fails or the network is not smooth, load balancing will be impossible or the latency will be severe. Therefore, there are currently insurmountable problems for large clusters.

[0055] In view of this, refer to Figure 1 As shown, one embodiment of this disclosure provides a cluster CPU collaborative frequency adjustment method, including:

[0056] Step S1: Generate the predicted global total frequency modulation parameters using the trained time series regression model;

[0057] Step S2: Based on the adjacency topology between nodes, the global total frequency modulation parameters are synchronized to all nodes in the entire cluster using a seed-based relay diffusion method, and the adjacency frequency modulation table maintained locally by each node is updated.

[0058] Step S3: Based on the adjacency frequency modulation table synchronized by all nodes in the entire cluster, complete the election of representative nodes for distributed optimal frequency modulation, and generate the target operating frequency of each node by performing the inter-node allocation of global total frequency modulation parameters through the elected representative nodes.

[0059] Step S4: Each node performs CPU frequency adjustment operation based on the allocated target operating frequency.

[0060] In this embodiment, a predicted global total frequency modulation parameter is generated using a trained time-series regression model. Based on the adjacency topology between nodes, the global total frequency modulation parameter is synchronized to all nodes in the entire cluster using a seed-based relay diffusion method. The adjacency frequency modulation table maintained locally by each node is updated. After each node synchronizes its adjacency frequency modulation table, the optimal allocation representative node is elected, and this node generates the target operating frequency for each node. By utilizing the adjacency relationship between nodes, the predicted allocation amount of load tidal is completed in advance according to the real-time load status of the nodes, thereby achieving efficient frequency modulation of the cluster CPU.

[0061] The specific process of the cluster CPU collaborative frequency adjustment method of this disclosure will be described in detail below with reference to specific embodiments.

[0062] It should be noted that the hardware architecture for implementing the cluster CPU collaborative frequency adjustment method can be a multi-way NUMA server or server cluster, a cloud data center with multiple servers, or other scenarios with cluster CPUs. For ease of description, the following embodiments are all described using a multi-way NUMA server as the scenario. Those skilled in the art should understand that when implemented as a server cluster, if one server is one CPU, the nodes corresponding to multiple CPUs will interact with each other through remote or network communication, which will not be elaborated here.

[0063] For multi-socket NUMA servers, the server includes multiple CPU sockets. For example, if a NUMA server is an 18-socket CPU server, when all sockets are full, the server consists of a CPU cluster of 18 CPUs. If there are two 18-socket CPU servers, the server consists of a CPU cluster of 36 CPUs. Physically, a CPU inserted into a CPU socket and its nearest memory location constitute a logical node. Furthermore, in some scenarios, a single CPU can also be split into multiple NUMA nodes, which will not be elaborated upon in this article.

[0064] It should be noted that, for ease of illustration, this article uses a CPU cluster consisting of 36 CPUs (two 18-way CPU servers) as an example, with one CPU corresponding to one node. However, those skilled in the art should understand that this is not intended to be limiting; in practical applications, any number of NUMA servers with any number of runways can be selected to form a CPU cluster based on the actual hardware architecture, which will not be elaborated upon in this article.

[0065] Before step S1, the time series regression model is first trained.

[0066] In this embodiment of the disclosure, a recurrent neural network (RNN) model is used to construct a temporal regression model. For example, a lightweight GRU (gated recurrent unit) network is selected to construct the temporal regression model. Compared with the traditional long short-term memory (LSTM) network, the GRU model has fewer parameters, faster inference speed, and an inference time of no more than 1ms. It can run in the user-space process of any node without the need for independent acceleration hardware, and will not cause resource consumption to the operation of e-commerce transactions and other business operations.

[0067] Typically, the tidal load of business platforms, such as e-commerce platforms, has strong time-series periodicity and global synchronization. The fluctuation trend of the total load of the entire cluster is highly correlated with the load of a single node, and the load change shows obvious time patterns (such as fixed peak and off-peak periods every day, and higher load on weekends than on weekdays). Therefore, the total global CPU load of the entire cluster can be used as the sole prediction target, and the prediction result can be mapped to the global total frequency adjustment parameter.

[0068] Optionally, the time-series regression model in this embodiment of the disclosure needs to be trained under supervised conditions based on historical cluster load time-series data. (Refer to...) Figure 2 As shown, data can be collected and stored in a time-series database using a user-space system monitor (path can be: mpstat / proc), and the storage format can be CSV file. Optionally, the training dataset may include: historical cluster load time-series data, time feature data, and business performance index data.

[0069] For example, for historical cluster load time series data, the total CPU load data of the entire cluster for 30 consecutive days can be collected for the 36-node NUMA cluster. The sampling frequency is 1 time / second. Each data record contains "timestamp + total CPU utilization of the entire cluster (%)", totaling 30×24×3600=2,592,000 valid data records. This covers all load scenarios of e-commerce business, including peak, off-peak, and flat-peak periods, and also includes load data for special scenarios such as holidays and promotional activities, avoiding insufficient model generalization ability due to single data.

[0070] For example, for time-related data, each load data point can be matched with corresponding time features, including hours (0-23), minutes (0-59), weekday / holiday markers (1=weekday, 0=holiday), peak business hours markers (1=peak hours, 0=off-peak hours), and promotional activity markers (1=promotions, 0=no promotions). Peak hours can be defined as 8:00-10:00 AM and 8:00-10:00 PM. Promotional activity markers are supplemented based on the e-commerce platform's operational plan. These features help the model capture the time-periodic patterns of the load.

[0071] For example, for business performance metrics data, core e-commerce business performance metrics within the corresponding time period can be collected, including transaction response time (ms), transactions per second (TPS), and concurrent users, totaling 2,592,000 matching data points. These data are used for label calibration and performance verification during subsequent model training to ensure that the load values ​​predicted by the model accurately correspond to the actual business performance requirements and avoid unreasonable frequency tuning parameters due to prediction bias.

[0072] Next, the collected data is preprocessed. For example, the collected historical load data is cleaned to remove outliers (such as load spikes / drops caused by node failures) and missing values, and missing data is supplemented using linear interpolation. The load data is normalized to map CPU utilization to the [0,1] interval to eliminate the influence of units. Time features are encoded, with sine and cosine encoding used for hours and minutes, and one-hot encoding used for categorical features (weekdays / holidays, peak periods, promotional activities) to ensure that the features can be effectively identified by the model.

[0073] Next, the dataset is partitioned. For example, the preprocessed dataset is divided into a training set, a validation set, and a test set in a 7:2:1 ratio. The training set is used to train the model parameters, the validation set is used to adjust the model hyperparameters, and the test set is used to verify the final prediction performance of the model. During the partitioning process, it is ensured that the load distribution of each dataset is consistent with the original data to avoid data skew that could cause model training failure.

[0074] Next, hyperparameter settings are configured for the model. Optionally, the hyperparameters of the lightweight GRU network are set as follows: 8 neurons in the input layer (corresponding to 3 time-encoded features + 5 classification features), 2 hidden layers with 64 neurons per hidden layer, and 1 neuron in the output layer (corresponding to the global total load prediction value); the ReLU activation function is used, and the Adam optimizer is used. Furthermore, the learning rate, number of iterations, batch size, and regularization coefficient can be further adjusted. For example, the learning rate can be set to 0.001, the number of iterations to 100, the batch size to 64, and the regularization coefficient to prevent overfitting to 0.0001.

[0075] Next, the training set is input into the GRU model, which serves as the "regression training module." The model is trained with the objective of minimizing the mean squared error (MSE) between the predicted and actual global total CPU load for a future scheduling cycle. This aims to increase prediction accuracy. The input features must include at least the current time features and the cluster load values ​​within the historical sliding window. During training, a validation set is used to verify model performance after each iteration. If the MSE on the validation set does not decrease for five consecutive iterations, training is terminated early to avoid overfitting. Those skilled in the art should understand that the number of consecutive iterations without a decrease is not limited to five and can be set as needed. After training, a test set is used to verify model performance, requiring a prediction accuracy of at least 95% and a prediction latency of no more than 1ms. If these requirements are not met, the hyperparameters are adjusted and retraining continues until they are achieved.

[0076] In embodiments of this disclosure, a future scheduling period is set to 100ms or longer, thereby providing a longer-term load trend prediction result to allow sufficient time for advance adjustments when tidal loads arrive.

[0077] Optionally, after training, the model parameters can be stored as a lightweight prediction model file, for example, no larger than 10MB, allowing it to be loaded and run on any node in the cluster CPU. Simultaneously, an online incremental update mechanism can be set up to incrementally train the model using the previous day's new load data during the early morning off-peak hours, such as 3:00-4:00 AM, updating the model parameters to adapt to changes in business load patterns (such as seasonal changes or load fluctuations caused by operational strategy adjustments). This yields the trained time-series regression model.

[0078] This setting allows for dynamic optimization of the load forecasting model by leveraging seasonality or operational strategy adjustments, thereby ensuring the long-term accuracy of the model's predictions. Furthermore, the lightweight regression model is fast and resource-efficient, preventing excessive resource consumption.

[0079] It should be noted that the training time-series regression model can be performed in the system executing the cluster CPU collaborative frequency adjustment method of this disclosure, or it can be trained on other servers and then deployed in the node executing the cluster CPU collaborative frequency adjustment method. The specific execution location of the training steps is not restricted in this document.

[0080] In step S1, the predicted global total frequency modulation parameters are generated using the trained time-series regression model.

[0081] In an alternative embodiment, considering the resource consumption required for computation, the time series regression model can be deployed on each node, but during actual prediction, the node with the lowest current CPU load and the most remaining resources is selected to perform model inference.

[0082] Based on this, when predicting and generating global total frequency regulation parameters, the model running node is first determined. For example, at 19:59:50, the CPU utilization of cluster node Node18 is 15%, and the remaining memory is 80%, making it the node with the lowest current load. Therefore, Node18 is selected as the running node for the time series regression model. At the same time, Node18 automatically becomes the seed node for subsequent seed-based relay diffusion without needing to be specified separately.

[0083] Next, refer to Figure 3As shown, nodes load the prediction model file, and the system monitor collects feature data, inputting the collected data into the trained time-series regression model. As input to the trained time-series regression model, the system monitor must ensure that the input is a global total CPU load time-series sequence, including all input data. For example, Node18 collects real-time CPU load data from all nodes in the cluster via neighbor heartbeat broadcast, summarizing it to show that the current (19:59:50) total CPU load of the entire cluster is 20%; simultaneously, it collects current time features: hour=19, minute=59, weekday marker=1 (assuming it's a weekday), peak period marker=0 (not yet at peak), and promotional activity marker=1 (assuming there's a promotion that day). In addition, it collects cluster load values ​​within a historical sliding window. Optionally, a three-level sliding window design is adopted, namely 5s, 10s, and 30s sliding windows, corresponding to the collection of the average total load of the entire cluster from 19:59:45-19:59:50 (5s), 19:59:40-19:59:50 (10s), and 19:59:20-19:59:50 (30s), which are 18%, 19%, and 21%, respectively.

[0084] Then, the time-series regression model is used as the inference engine for inference and load prediction: the above input features (current time features and historical load values ​​of the three-level sliding window) are input into the trained GRU model, and the model infers and outputs the global total CPU load prediction value for the next scheduling cycle (100ms, i.e., 19:59:50-19:59:50.1). In this embodiment, the prediction result is 85%, that is, after the load tide arrives, the total CPU load of the entire cluster will rapidly climb to 85% within the next 100ms, and the CPU frequency needs to be adjusted in time to meet the business performance requirements.

[0085] Next, the global total frequency regulation parameters are generated. Specifically, based on the load prediction values ​​output by the trained time-series regression model, the load prediction values ​​are converted into global total frequency regulation parameters through a preset linear mapping relationship. The mapping relationship is dynamically determined based on the cluster hardware configuration, service performance requirements, and power consumption optimization objectives. Optionally, the specific mapping relationship satisfies: Global total frequency regulation parameter = Load prediction value × Cluster maximum total equivalent frequency × Performance redundancy coefficient.

[0086] For example, assuming a 36-node NUMA cluster, each node has 2 processors, each processor has a maximum frequency of 3.0 GHz, and each processor contains 32 cores, with each core supporting independent frequency adjustment. Then, the maximum effective frequency of a single node = 2 × 32 × 3.0 GHz = 192 GHz, and the maximum total effective frequency of the cluster = 36 × 192 GHz = 6912 GHz.

[0087] For example, the performance redundancy coefficient can be set to slightly greater than 1, such as 1.05, to reserve a small amount of performance redundancy and avoid insufficient business performance due to load prediction deviation. This coefficient can be dynamically adjusted according to the business's sensitivity to latency. E-commerce real-time transaction business has high latency requirements, so it is set to 1.05. If it is a non-real-time business, it can be adjusted to greater than or equal to 1.0 and less than or equal to 1.02. However, the specific value can be adjusted appropriately according to the actual application scenario.

[0088] Based on the above exemplary mapping relationship, the global master frequency modulation parameter = That is, within the next 100ms scheduling cycle, the total CPU equivalent frequency that all nodes in the entire cluster need to provide is 6191.04GHz. This parameter is written into the global anchoring area of ​​the adjacency frequency modulation table of Node18, which is the seed node, as the sole anchoring indicator for global coordinated frequency modulation.

[0089] In other words, the only output of the trained time series regression model is the global total allocation parameter, and the global total frequency adjustment parameter of the entire cluster is the sum of the total CPU equivalent frequency that all nodes in the entire cluster need to provide in the next scheduling cycle.

[0090] It should be noted that if the load surge has not yet occurred, such as during the early morning low-peak period, the model predicts a lower global total load, and the corresponding global total frequency regulation parameter will also be lower. For example, if at 2:00 AM, the model predicts a global total load of 15% for the next 100ms, then the global total frequency regulation parameter = 15% × 6912 GHz × 1.05 ≈ 1099.92 GHz. Therefore, when adjusting the cluster CPU frequency based on this lower global total frequency regulation parameter, the cluster CPU frequency can be significantly reduced, achieving energy consumption optimization and enabling dynamic allocation of cluster CPUs.

[0091] In other words, the technical solution of this disclosure can not only predict and respond to tidal load changes, but also optimize energy consumption during low-load periods through dynamic allocation.

[0092] In step S2, based on the adjacency topology between nodes, a seed-based relay diffusion method is used to synchronize the global total frequency modulation parameters to all nodes in the entire cluster, and the adjacency frequency modulation table maintained locally by each node is updated.

[0093] In the embodiments of this disclosure, each node in the cluster independently maintains an adjacency frequency table in its local kernel shared memory. Specifically, for example, if the CPU in the cluster includes two 18-way NUMA servers, then each of the 18 nodes of one 18-way NUMA server independently maintains an adjacency frequency table in the shared memory of that server, while each of the 18 nodes of the other 18-way NUMA server independently maintains one in the shared memory of its server.

[0094] The adjacency frequency table stores global overall frequency modulation parameters, real-time node status, adjacent node information, diffusion synchronization information, and the final frequency modulation decision. It supports lock-free, zero-latency access via the Extended Berkeley Packet Filter (eBPF) and is the core data carrier for distributed election, global allocation, and local execution. The adjacency frequency table can adopt a lock-free circular buffer structure, supporting multi-threaded concurrent read and write operations. eBPF can directly access it through kernel shared memory with zero latency.

[0095] Optionally, the adjacency tuning table comprises five partitions. These five partitions include: the global anchoring partition, the local node status partition, the directly connected neighbor node status partition, the diffused neighbor node status partition, and the global decision partition. Each partition of the adjacency tuning table for each node has the same format, meaning, and location in terms of fields, data types, and stored content to ensure consistency in data interaction among nodes within the cluster.

[0096] For example, the global anchor area is used to store global master frequency modulation parameters and related synchronization information, occupying 128 bytes. Specific fields include: global master frequency modulation parameters (e.g., double type, storing 6191.04GHz), seed node ID (e.g., int type, storing ID=18 of Node18), information sequence number (long type, storing the unique sequence number of the current synchronization information, which is 10001 in this embodiment), synchronization timestamp (long type, storing 19:59:50.000), maximum hop count (int type, storing 3 hops, which can be dynamically adjusted according to the cluster size), and synchronization status flag (bool type, initially false, changed to true after synchronization is completed).

[0097] For example, the node status area is used to store the hardware status and load information of the current node, occupying 26 bytes. Specific fields include: node ID (e.g., int, 18), online status (bool, true = online), current CPU utilization (float, 15%), current CPU operating frequency (double, currently 1.2GHz), minimum CPU frequency (double, 0.8GHz), maximum CPU frequency (double, 3.0GHz), remaining available frequency space (double, 1.8GHz), number of directly connected adjacent nodes (int, 4, namely Node17, Node19, Node28, and Node8), frequency modulation capability score (float, initially 0, calculated later), and hardware frequency modulation function status (bool, true = normal).

[0098] For example, the directly connected neighbor node status area is used to store the core status data of the current node's directly connected 1-hop neighbor nodes, occupying, for example, 384 bytes. Each directly connected node occupies 96 bytes. In this embodiment, Node18 has 4 directly connected neighbor nodes, so it stores information for 4 nodes. The fields of each node include: neighbor node ID (int type), online status (bool type), current CPU utilization (float type), current CPU operating frequency (double type), frequency adjustment capability score (float type), and last heartbeat timestamp (long type).

[0099] For example, the diffusion adjacency node state area is used to store the information of the adjacency nodes that have diffused through the current node during the seed diffusion process, occupying, for example, 128 bytes. The fields include: diffusion node ID (int type, multiple, stored in an array), diffusion hop count (int type, corresponding to the number of hops for each diffusion node), information sequence number (long type, consistent with the global anchor area), and diffusion timestamp (long type).

[0100] For example, the global decision area is used to store the final frequency modulation decision information, occupying 128 bytes. Fields include: single-node target operating frequency (double type, initialized to 0), allocation timestamp (long type), representative node ID (int type, initialized to 0), regional quota (double type, initialized to 0), and frequency modulation execution status (bool type, initialized to false).

[0101] Specifically, refer to Figure 4 As shown, step S2 further includes the following steps.

[0102] In step S21, the node that generates the global total frequency modulation parameters is used as the seed node, and the seed node sends frequency modulation prior information packets only to its directly connected 1-hop neighboring nodes.

[0103] For example, refer to Figure 5 As shown, Node18 is the seed node, and this seed node initiates diffusion. Specifically, after Node18 generates the global master frequency modulation parameters, it immediately updates the global anchoring area of ​​its local adjacency frequency modulation table, changes the synchronization status flag to true, and then constructs a frequency modulation prior information packet. The information packet has a fixed length, such as 128 bytes, and contains a structure corresponding to the fields in the global anchoring area of ​​the adjacency frequency modulation table: seed node ID=18, information sequence number=10001, timestamp=19:59:50.000, current hop count=0, maximum allowed hop count=3, global master frequency modulation parameters=6191.04GHz, and a checksum (a CRC32 checksum calculated based on the first 120 bytes of the information packet, used to prevent information tampering).

[0104] It should be noted that the seed node only sends the frequency modulation prior information packet to its directly connected one-hop neighbors, rather than broadcasting it to the entire cluster. (Refer to...) Figure 5 As shown, in this embodiment, Node18's direct 1-hop adjacent nodes are Node17, Node19, Node28, and Node8. Therefore, Node18 only sends information packets to these four nodes, using the UDP protocol for transmission, with the port number being a custom port 50001. The transmission delay does not exceed 1ms, thus avoiding network storms caused by full broadcast.

[0105] In step S22, in response to receiving the frequency modulation prior information packet, the neighboring node updates its local neighbor frequency modulation table, increments the hop count of the frequency modulation prior information packet by one, and then relays it to its own neighboring nodes.

[0106] After receiving the prior information packet from the seed node Node18, the adjacent nodes Node17, Node19, Node28, and Node8, as directly connected nodes, immediately perform triple verification to ensure the legality, integrity, and uniqueness of the information.

[0107] Specifically, the triple verification can include: checksum validity verification, sequence number deduplication verification, and hop count validity verification. The receiving node recalculates the CRC32 checksum based on the first 120 bytes of the packet and compares it with the checksum in the packet. If they match, the verification passes; otherwise, the packet is deemed invalid and discarded to prevent synchronization errors caused by information tampering, thus performing checksum validity verification. The receiving node can read the sequence number of the neighboring node's status area from its local adjacency frequency table. If the sequence number of the current packet matches a stored sequence number, it indicates that the node has already processed the packet, and it is discarded to avoid resource waste and data inconsistency caused by duplicate processing, thus performing sequence number deduplication verification. The receiving node can read the current hop count and the maximum allowed hop count from the packet. If the current hop count is greater than or equal to the maximum allowed hop count, the forwarding of that branch is terminated; otherwise, the verification passes, and the process proceeds to the next step. In this embodiment, the current hop count is 0, and the maximum allowed hop count is 3, so the verification passes, thus performing hop count validity verification. (Refer to...) Figure 5 As shown in the figure, solid lines represent direct connections. Since Node27 and Node28 are too far apart, long dashed lines represent their direct connection.

[0108] In step S23, when the number of hops of the frequency modulation prior information packet reaches the preset maximum threshold or the receiving node has already processed the frequency modulation prior information packet, the information forwarding process of the corresponding branch of the node is terminated.

[0109] After the above triple verification, the four directly connected nodes of Node18, Node19, 17, 28, and 8, synchronously update their local adjacency allocation tables. Specifically, they update the global anchor area by writing the global total frequency modulation parameters, seed node ID, information sequence number, timestamp, and maximum allowed hop count from the information packet into the global anchor area, and change the synchronization status flag to true to complete the local global parameter synchronization; they update the diffusion adjacency node status area by writing the seed node ID (18), current hop count (0), information sequence number (10001), and diffusion timestamp (current time) into the diffusion adjacency node status area to record the diffusion source and hop count information. They also update the directly connected adjacency node status area by updating the current status (CPU utilization, operating frequency, etc.) of seed node Node18 to the directly connected adjacency node status area to ensure the real-time nature of the adjacency node status data. After the update is completed, the four receiving nodes increment the hop count of the frequency modulation prior information packet by one (from 0 to 1), and then relay it to their own directly connected adjacency nodes, automatically filtering the information source node during forwarding. That is, Node17 does not forward packets to Node18, Node19 does not forward packets to Node18, and so on. This avoids information loops caused by backhaul and ensures a unidirectional, gradual diffusion process. For example, if Node17's directly adjacent nodes are Node16, Node18, and Node27, then during forwarding, it filters out the source node Node18 and only forwards packets with a hop count of 1 to Node16 and Node27. Similarly, if Node19's directly adjacent nodes are Node18, Node20, and Node29, then during forwarding, it filters out Node18 and only forwards packets to Node20 and Node29, and so on.

[0110] Subsequently, when the diffusion of a node meets the preset termination conditions, the information forwarding process will be terminated.

[0111] For example, each receiving node follows the verification, update, and forwarding process of steps S22 and S23 above until the number of hops of the frequency modulation prior information packet reaches the preset maximum threshold or the receiving node has already processed the frequency modulation prior information packet.

[0112] For example, Node16 receives a packet with a hop count of 1 forwarded by Node17, updates it, and forwards it to Node15 (the hop count becomes 2); Node15 updates it and forwards it to Node14 (the hop count becomes 3); after Node14 receives the packet, the hop count has reached the maximum threshold of 3, so it stops forwarding it, and the branch terminates.

[0113] For example, Node27 receives a packet with a hop count of 1 forwarded by Node17, updates it, and forwards it to Node26. At the same time, another directly connected neighbor of Node27, Node28, has received and forwarded the packet from Node18 and also forwards the packet to Node27. At this time, Node27 detects that the information sequence number is duplicated and discards it directly to avoid duplicate forwarding.

[0114] As can be seen, the seed-based relay diffusion uses the node that generates the global total frequency modulation parameters as the initial seed node. It only sends frequency modulation prior information packets to its directly connected one-hop neighboring nodes. After the receiving node verifies the packet, it updates its local neighbor frequency modulation table and increments the hop count of the information packet to continue forwarding it to its own neighboring nodes. This gradual information synchronization mechanism terminates forwarding when the hop count reaches the threshold or the information has been processed. This avoids the network storm caused by full broadcast and also has fault tolerance capabilities.

[0115] For example, the seed-based relay diffusion process of a 36-node cluster takes about 12ms. All nodes complete the update of their adjacency frequency modulation tables, the global total frequency modulation parameters are synchronized to the entire cluster, the synchronization status flag of the global anchoring area of ​​each node's adjacency frequency modulation table is changed to true, and the diffusion adjacency node status area records the complete diffusion path and hop count information.

[0116] It is worth mentioning that this application utilizes a seed-based relay diffusion mechanism. If a node or link fails (e.g., Node20 fails), the forwarding branch corresponding to that node terminates, but other branches can still diffuse normally. Nodes downstream of the failed node (e.g., Node21) can receive information packets through other neighboring nodes (e.g., Node29), ensuring that the synchronization of the entire cluster is not affected by a single point of failure. This application finds that this characteristic can be used to solve the existing technical problems faced by this application, specifically as one of the solutions in the aforementioned existing technologies. The problem with existing technologies is that temporarily selecting a specific node cannot avoid local network storms, while pre-assigning nodes cannot avoid node failures. To address the issue of network congestion, this application employs a seed-based relay diffusion mechanism. Firstly, during the election of representative nodes, each region's nodes do not need to globally report to the selected nodes within their respective regions. Instead, a one-way broadcast is performed only among directly connected neighboring nodes, resulting in a significantly smaller number of broadcast packets compared to existing technologies. Furthermore, the elected nodes are not pre-assigned but rather selected based on a scoring mechanism, eliminating node failures and network problems. Therefore, this approach simultaneously avoids localized network storms and latency issues, while also preventing load scheduling failures and severe latency problems caused by node failures or network instability. This leads to the proposal of a cluster CPU collaborative frequency adjustment scheme for large-scale clusters.

[0117] In step S3, based on the adjacency frequency modulation table synchronized by all nodes in the entire cluster, the election of the distributed optimal frequency modulation representative node is completed. The selected representative node performs the inter-node allocation of the global total frequency modulation parameters and generates the target operating frequency for each node.

[0118] For example, after the adjacency frequency modulation tables of all nodes in the entire cluster are synchronized, the election of the optimal frequency modulation representative node and the allocation of global overall frequency modulation parameters are immediately performed. This election process is based on frequency modulation capability scores.

[0119] Reference Figure 6 As shown, in step S31, the frequency modulation capability score of each node is calculated based on the status data in the local adjacency frequency modulation table of each node.

[0120] Optionally, the frequency modulation capability score is calculated based on the node's current CPU load, the number of directly connected neighboring nodes, and the remaining available frequency space of the node's CPU. All nodes synchronously calculate their own frequency modulation capability scores based on their local neighbor frequency modulation table and the node's status data.

[0121] For example, calculating the frequency modulation capability score requires calculating the values ​​of three parameters based on the status data in the local adjacency frequency modulation table of each node:

[0122] Current CPU load L: The value range is [0,1]. In this embodiment, the current CPU load of Node18 is 15%, that is, L=0.15; the current CPU load of Node8 is 18%, that is, L=0.18; the current CPU load of Node25 is 20%, that is, L=0.20, and so on. Before the peak arrives, the load of each node is relatively low.

[0123] The number of directly connected adjacent nodes N: takes a positive integer value. In this embodiment, the number of directly connected adjacent nodes of Node18 is 4, that is, N=4; the number of directly connected adjacent nodes of Node8 is 3, that is, N=3; and the number of directly connected adjacent nodes of Node25 is 5, that is, N=5.

[0124] The remaining available frequency space S of the node CPU: The value is the difference between the maximum frequency of the node CPU and the current operating frequency, in GHz. In this embodiment, the maximum frequency of the CPU of Node18 is 3.0GHz and the current operating frequency is 1.2GHz, so S=3.0-1.2=1.8GHz; the current operating frequency of Node8 is 1.1GHz, so S=3.0-1.1=1.9GHz; the current operating frequency of Node25 is 1.3GHz, so S=3.0-1.3=1.7GHz.

[0125] Next, the frequency modulation capability score is calculated based on the current CPU load, the number of directly connected adjacent nodes, the remaining available frequency space of the node CPU, and the status data of each node. For example, the frequency modulation capability score satisfies: Score = (1-L)×N×(S / S_max)×100. Wherein, S_max is the maximum remaining available frequency space of all nodes in the cluster. In this embodiment, S_max = 3.0-0.8 = 2.2GHz (the minimum CPU frequency of the node is 0.8GHz). By introducing S / S_max to normalize the remaining available frequency space, the score range is unified to [0,100], which facilitates comparison between nodes.

[0126] Taking Node18, Node8, and Node25 as examples, calculate their frequency modulation capability scores. Node18's score: Score = (1-0.15)×4×(1.8 / 2.2)×100≈0.85×4×0.818×100≈278.12. Since the score exceeds 100, it is capped at 100 because Node18's various indicators are all superior. Node8's score: Score = (1-0.18)×3×(1.9 / 2.2)×100≈0.82×3×0.864×100≈212.93, capped at 100. Node25's score: Score = (1-0.20)×5×(1.7 / 2.2)×100≈0.80×5×0.773×100≈309.2, capped at 100.

[0127] It should be noted that the score is capped at 100 to prevent a node from having an excessively high score due to overly favorable indicators, which would affect the fairness of the election. If a node does not meet the following requirements: normal online status, CPU utilization not exceeding a preset threshold, normal hardware frequency modulation function, and constraint adjustment with at least one directly connected neighboring node, its frequency modulation capability score will be directly recorded as 0, and it will be automatically excluded from the candidate range for representative nodes. In this embodiment, the preset CPU utilization threshold is 30%, and all nodes meet the hard constraints, so all of them participate in the scoring calculation.

[0128] After all nodes have completed their calculations, they write their own frequency modulation capability score into the local adjacent frequency modulation table's local node status area and synchronize it to directly connected adjacent nodes via adjacent heartbeat broadcast. Each node updates the directly connected adjacent node status area of ​​its local adjacent frequency modulation table to ensure that all nodes can obtain the score information of their neighboring nodes.

[0129] In step S32, a master representative node is elected through a distributed pairwise consensus mechanism based on the adjacency topology between nodes.

[0130] Optionally, a distributed pairwise consensus election method is used to pass voting information between nodes through adjacency relay, and the node that receives more than half of the votes in the cluster is elected as the main representative node.

[0131] Distributed pairwise consensus refers to an election method where nodes exchange voting information only with their directly connected neighbors. This neighbor-relay process aggregates all voting information across the cluster, and the node receiving more than half of the valid votes is elected as the primary representative node. No central node is required to aggregate the data. This configuration allows for millisecond-level convergence while ensuring the legitimacy of the election.

[0132] For example, if the cluster CPU has 36 nodes, it needs at least 19 valid votes to be elected as the primary representative node. Specifically, after all nodes complete the frequency modulation capability score calculation, they automatically initiate a vote. The voting rules are as follows: each node casts its vote for the node with the highest frequency modulation capability score among its directly connected neighbors. If multiple directly connected nodes have the same score, the vote is cast for the node with the smallest node ID. If its own score is higher than all directly connected neighbors, the vote is cast for itself.

[0133] For example, Node18's directly adjacent nodes are Node17, Node19, Node28, and Node8, with scores of 85, 88, 90, and 100 respectively. Therefore, Node18 votes for Node8. Node8's directly adjacent nodes are Node7, Node9, and Node18, with scores of 80, 82, and 95 respectively. Therefore, Node8 votes for itself. Node25's directly adjacent nodes all have lower scores than itself. Therefore, Node25 votes for itself.

[0134] After the voting initiation step is completed, the voting relay will then take place. Each node will transmit its own voting information (voting node ID, voted node ID, and valid vote flag) to its directly connected neighbor nodes via adjacency heartbeat broadcast. After receiving the information, the directly connected neighbor nodes will aggregate their own voting information and the received voting information, and continue to relay the information to their directly connected neighbor nodes, forming a gradual convergence of voting information across the entire cluster.

[0135] It should be noted that the voting information transmission process is similar to the seed-based relay diffusion mechanism, using a hop limit (maximum hop count is 3) to avoid infinite looping of voting information; at the same time, each node performs deduplication on the received voting information, and only one voting information with the same voting node ID is retained to ensure the uniqueness and validity of the vote.

[0136] Next, the votes are aggregated and tallied. While receiving voting information, each node counts the number of valid votes it has received in real time. When a node counts that its number of valid votes has reached more than half of the total number of nodes in the cluster, for example, 19 votes, it immediately broadcasts an election notification to the entire cluster through seed-style diffusion. The notification may include its own node ID, the number of votes, and its election status.

[0137] In this example, Node8 has a high frequency tuning capability score (100 points) and a large number of directly connected neighboring nodes. After three rounds of voting relay, Node8 counted 22 valid votes, which is more than half (19 votes). Therefore, Node8 was elected as the primary representative node and immediately broadcast the election notification to the entire cluster.

[0138] Alternatively, the method in this embodiment of the disclosure may further include a conflict resolution mechanism. If multiple nodes simultaneously count more than half of their votes (e.g., Node8 and Node25 both receive 19 votes), the conflict resolution mechanism is triggered, and the node with the smallest node ID is selected as the primary representative node to avoid decision conflicts that could block the process. If a node failure occurs during the election process, causing votes to fail to be properly aggregated and exceeding a preset timeout period, such as if a primary representative node has not been selected within 50ms, the election is re-initiated to ensure the stability of the election process.

[0139] After all nodes receive the notification of the election of the primary representative node, they update the global decision area of ​​their local adjacency frequency modulation table, write the representative node ID, and simultaneously stop the voting process, entering the regional representative node election phase, thus completing the primary representative node election. The election of regional representative nodes is initiated automatically after the completion of the primary representative node election process; that is, it can also be initiated by the primary representative node.

[0140] In step S33, the cluster is divided into at least one continuous adjacent region based on the principle of topological adjacency. A unique region representative node for each continuous adjacent region is generated through distributed voting within the continuous adjacent region. The number of continuous adjacent regions is the square root of the total number of nodes in the cluster, rounded down.

[0141] The regional representative node is used to collect and summarize the node status data of the corresponding continuous adjacent area and to relay the frequency modulation strategy. The regional representative node is selected from the candidate regional nodes.

[0142] In this specific example, the cluster has a total of 36 nodes, the square root of which is 6, rounded down to 6. Therefore, the 36 nodes are divided into 6 consecutive adjacent regions, each containing 6 consecutively distributed and directly connected nodes. The master representative node Node8 sends region division instructions to the entire cluster through seed-based diffusion. The instructions include the node ID range of each region's nodes and the region number (1-6). The division follows the physical topological adjacency principle, ensuring that nodes within each region are directly connected to each other, minimizing information synchronization latency.

[0143] Reference Figure 5As shown, five consecutive adjacent regions are indicated by dashed boxes. For clarity, the last consecutive adjacent region is not specifically shown. The six consecutive adjacent regions are divided as follows: Region 1: Node 1-Node 6; Region 2: Node 7-Node 12; Region 3: Node 13-Node 18; Region 4: Node 19-Node 24; Region 5: Node 25-Node 30; Region 6: Node 31-Node 36. Nodes within a consecutive adjacent region should be directly connected to each other and typically belong to the same rack.

[0144] It should be noted that after the area division is completed, each node reads its own area number through the global decision area of ​​its local adjacency frequency table, and at the same time updates the diffusion adjacency node status area of ​​its local adjacency frequency table to record the IDs of other nodes in its own area.

[0145] After the region is divided, a unique regional representative node is elected through distributed voting in each consecutive adjacent region. The regional representative node is selected from the candidate regional nodes. The candidate regional nodes must simultaneously meet the following constraints: normal online status, CPU utilization not exceeding the preset threshold (30%), normal hardware frequency adjustment function, and have at least one directly connected adjacent node. All nodes must meet these four hard constraints.

[0146] The election process for regional representative nodes is conducted independently within each region. Specifically, voting is initiated within each region. Nodes within each region cast their votes for the candidate node with the highest frequency modulation capability score within that region. If multiple candidate nodes have the same score, the vote is cast for the node with the smallest node ID. Voting information is only transmitted within the region through adjacency relay and does not propagate across regions, reducing voting overhead.

[0147] Next, votes are tallied within each region: each node in the region receives voting information and counts the number of valid votes it receives in real time. When a candidate node receives more than half of the votes for its region, it is elected as the sole representative node for that region. In this example, each region has 6 nodes, requiring at least 4 votes. For example, the representative node for region 1 is Node3, for region 2 it is Node8, for region 3 it is Node16, for region 4 it is Node22, for region 5 it is Node25, and for region 6 it is Node33. Notably, the primary representative node will also be the representative node for its region.

[0148] After a regional representative node is elected, it broadcasts the election notification to all nodes in its region and sends an election confirmation message to the primary representative node Node8. The primary representative node summarizes the information of all regional representative nodes, updates the global decision area of ​​its adjacency frequency modulation table, and records the ID of each regional representative node and the initial value of the regional quota.

[0149] In step S34, the master representative node performs the allocation of global master frequency modulation parameters, and the representative nodes of each consecutive adjacent area complete the allocation and distribution of single-node frequencies within the corresponding consecutive adjacent area.

[0150] Specifically, after the election of regional representative nodes is completed, each regional representative node is responsible for collecting and summarizing the node status data in its corresponding continuous adjacent area and distributing the frequency adjustment strategy in a relay manner. This includes: collecting data such as the load, frequency, and hardware status of all nodes in the area, summarizing them and reporting them to the main representative node; receiving the total regional frequency quota distributed by the main representative node, completing the frequency allocation for individual nodes in the area and distributing it.

[0151] It is worth mentioning that, in the embodiments of this disclosure, the global master frequency modulation parameters are allocated in a hierarchical manner according to the main representative node and regional representative nodes.

[0152] Reference Figure 7 As shown, step S3, in which the master representative node performs the allocation of global master frequency modulation parameters, further includes the following steps.

[0153] In step S35, the reference frequency of a single node is calculated, wherein the reference frequency of a single node is the quotient of the global total frequency modulation parameter and the total number of normal nodes in the cluster.

[0154] The master representative node Node8 reads the global total frequency modulation parameter (6191.04GHz) from the global anchor area of ​​its local adjacency frequency modulation table. Simultaneously, it collects the total number of normally online nodes in the entire cluster through seed diffusion; in this example, this is 36. The single-node base frequency = global total frequency modulation parameter ÷ total number of normally online nodes in the cluster. Therefore, the single-node base frequency = 6191.04GHz ÷ 36 ≈ 171.97GHz.

[0155] The single-node reference frequency provides a unified benchmark for global allocation. That is, if load differences and minimum quotas are not considered, the target frequency for each node is 171.97GHz. This reference frequency is written into the adjacency frequency table of the primary representative node in the global decision area, and is simultaneously distributed to the regional representative nodes through seed diffusion.

[0156] In step S36, the remaining quota after deducting the minimum allowance from the global total frequency modulation parameters is weighted and allocated to determine the total frequency quota for each consecutive adjacent area. The minimum allowance is the minimum coordination required for the consecutive adjacent area to meet the minimum performance requirements of the service, and the weight is the proportion of the average load of each consecutive adjacent area to the total load of the entire cluster.

[0157] This step requires first calculating the minimum guaranteed quota for each region. The minimum guaranteed quota is the minimum quota required for a consecutive adjacent region to meet the minimum performance requirements of the business. In this embodiment, the minimum frequency corresponding to the minimum performance requirements of each node is 100GHz. This value can be specifically determined based on the minimum response time requirements of e-commerce transaction business. Therefore, the minimum guaranteed quota for each region = number of nodes in the region × minimum frequency of a single node.

[0158] Specifically, in this example, the guaranteed quota for Region 1 is 6 × 100 GHz = 600 GHz; the guaranteed quota for Region 2 is 6 × 100 GHz = 600 GHz; the guaranteed quota for Region 3 is 6 × 100 GHz = 600 GHz; the guaranteed quota for Region 4 is 6 × 100 GHz = 600 GHz; the guaranteed quota for Region 5 is 6 × 100 GHz = 600 GHz; the guaranteed quota for Region 6 is 6 × 100 GHz = 600 GHz; the total guaranteed quota for the entire cluster is 6 × 600 GHz = 3600 GHz. The primary representative node deducts the total guaranteed quota from the global total frequency regulation parameters first, and the remaining quota is 6191.04 GHz - 3600 GHz = 2591.04 GHz. This remaining quota will be weighted and allocated according to the load weight of each region.

[0159] Next, the load weight of each region is calculated. The weight of the weighted allocation is the proportion of the average load of each consecutive adjacent region to the total load of the entire cluster. The master representative node collects the average load of each region reported by the representative nodes of each region (the average value of the current CPU load of all nodes in each region) through seed diffusion. In this embodiment, before the load surge (19:59:50), the average load of each region is as follows: Region 1 average load = 18%, Region 2 average load = 15%, Region 3 average load = 17%, Region 4 average load = 19%, Region 5 average load = 20%, Region 6 average load = 16%; Total load of the entire cluster = (18% + 15% + 17% + 19% + 20% + 16%) ÷ 6 ≈ 17.5%; Load weight of each region = Average load of the region ÷ Total load of the entire cluster. Therefore, we get: Region 1 weight = 18% ÷ 17.5% ≈ 1.0286; Region 2 weight = 15% ÷ 17.5% ≈ 0.8571; Region 3 weight = 17% ÷ 17.5% ≈ 0.9714; Region 4 weight = 19% ÷ 17.5% ≈ 1.0857; Region 5 weight = 20% ÷ 17.5% ≈ 1.1429; Region 6 weight = 16% ÷ 17.5% ≈ 0.9143.

[0160] It should be noted that the sum of the load weights of each region is 1.0286+0.8571+0.9714+1.0857+1.1429+0.9143≈6.0. Since the total load of the entire cluster is the average of the average load of each region, the sum of the weights is equal to the number of regions. Normalization processing is required during subsequent allocation.

[0161] Total frequency quota allocation for each region: The primary representative node will allocate the remaining quota (2591.04GHz) according to the load weight of each region. The allocation formula is: Total frequency quota for a region = Minimum quota + (Remaining quota × Region weight ÷ Sum of weights), calculated as follows: Total frequency quota for region 1 = 600 + (2591.04 × 1.0286 ÷ 6) ≈ 600 + 443.2 ≈ 1043.2GHz; Total frequency quota for region 2 = 600 + (2591.04 × 0.8571 ÷ 6) ≈ 600 + 369.3 ≈ 969.3GHz; Total frequency quota for region 3 = 600 + (2591.04 × 0.9714 ÷ 6) ≈ 600 + 418.1 ≈ 1018.1GHz; Total frequency quota for region 4 = 600 + (2591.04 × 1.0857 ÷ 6) ≈ 600 + 468.8≈1068.8GHz; Total frequency quota for Region 5 = 600 + (2591.04×1.1429÷6)≈600 + 493.5≈1093.5GHz; Total frequency quota for Region 6 = 600 + (2591.04×0.9143÷6)≈600 + 394.8≈994.8GHz.

[0162] In step S37, the total frequency quota of each consecutive adjacent region is distributed to the representative node of the corresponding consecutive adjacent region through seed diffusion.

[0163] In step S38, the region representative node allocates the single-node frequency based on the node load and hardware status of the corresponding consecutive adjacent regions.

[0164] Specifically, this step may further include:

[0165] The regional representative node calculates the initial target frequency for each node within the region. The initial target frequency for each node within the region is equal to the regional average base frequency (total regional quota / number of nodes within the region).

[0166] The frequency of nodes in the region is adjusted by weighting based on the current load of each node: nodes with high loads have their frequency increased within the hardware limit, while nodes with low loads have their frequency decreased within the hardware limit.

[0167] After adjustment, the sum of the frequencies of all nodes in the region must be greater than or equal to the total quota of the region, and the frequency of each node must be within the upper and lower limits of the hardware.

[0168] After adjustment, the frequency variance of nodes within the region needs to be minimized to ensure frequency balance within the region.

[0169] In step S5, each node performs CPU frequency adjustment operation based on the allocated target operating frequency.

[0170] Specifically, each node reads the assigned target operating frequency from its local adjacency frequency table and adjusts the frequency by calling the kernel frequency adjustment interface through the extended Berkeley packet filter;

[0171] In response to the end of the frequency, each node updates its local adjacency frequency table with its own status data and synchronizes it to its directly connected neighboring nodes via adjacency heartbeat broadcast.

[0172] With the above settings, by outputting one-dimensional global total frequency modulation parameters and spreading global frequency modulation parameters through seeding, and by electing master representative nodes and regional representative nodes, and by distributing frequencies in a hierarchical and distributed manner, in large-scale cluster CPU application scenarios, there is no need to deploy an independent calculation model for prediction and allocation on each node separately. The inference cost is extremely low, greatly reducing the computing power burden. Moreover, in the event of a single point of failure, the optimal allocation of global frequency modulation can still be achieved by using the seeding method.

[0173] Based on the same inventive concept, referring to Figure 8 As shown, another aspect of this disclosure provides a cluster CPU collaborative frequency adjustment system, which includes multiple nodes Node1, Node2, ..., NodeN, where N is an integer greater than or equal to 2. At least one of the multiple nodes is loaded with the trained time-series regression model described above. The cluster CPU collaborative frequency adjustment system is configured as follows:

[0174] The predicted global total frequency modulation parameters are generated using a trained time-series regression model.

[0175] Based on the adjacency topology between nodes, a seed-based relay diffusion method is used to synchronize the global total frequency modulation parameters to all nodes in the entire cluster and update the adjacency frequency modulation table maintained locally by each node.

[0176] Based on the adjacency frequency modulation table synchronized by all nodes in the cluster, the representative node for distributed optimal frequency modulation is elected, and the node-to-node allocation of the global total frequency modulation parameters is performed by the elected representative node to generate the target operating frequency for each node.

[0177] Each node performs CPU frequency adjustment operations based on the assigned target operating frequency.

[0178] It should be noted that the cluster CPU collaborative frequency adjustment system can be used in scenarios with cluster CPUs, such as multi-way NUMA servers or server clusters, and cloud data centers with multiple servers. For ease of description, the following embodiments are all described using multi-way NUMA servers as the scenario. Those skilled in the art should understand that when implemented as a server cluster, the only difference is that the nodes corresponding to multiple CPUs interact with each other through remote or network communication, which will not be elaborated upon here.

[0179] By utilizing a trained time-series regression model to generate predicted global total frequency modulation parameters, and based on the adjacency topology between nodes, the global total frequency modulation parameters are synchronized to all nodes in the entire cluster using a seed-based relay diffusion method. The adjacency frequency modulation table maintained locally by each node is updated. After each node synchronizes its adjacency frequency modulation table, the optimal allocation representative node is elected, and this node generates the target operating frequency for each node. By utilizing the adjacency relationship between nodes, the predicted allocation amount of load tidal is completed in advance according to the real-time load status of the nodes, thereby achieving efficient frequency modulation of the cluster CPU and facilitating the optimization of cluster CPU power consumption.

[0180] It is worth noting that specific embodiments of the cluster CPU collaborative frequency adjustment method in this disclosure can be found in the encrypted inter-process communication method of the foregoing embodiments, and will not be repeated here.

[0181] Another embodiment of this disclosure provides a computer-readable storage medium having a computer program stored thereon that is implemented when executed by a processor:

[0182] The predicted global total frequency modulation parameters are generated using a trained time-series regression model.

[0183] Based on the adjacency topology between nodes, a seed-based relay diffusion method is used to synchronize the global total frequency modulation parameters to all nodes in the entire cluster and update the adjacency frequency modulation table maintained locally by each node.

[0184] Based on the adjacency frequency modulation table synchronized by all nodes in the cluster, the election of the distributed optimal frequency modulation representative node is completed. The selected representative node performs the inter-node allocation of the global total frequency modulation parameters and generates the target operating frequency of each node.

[0185] Each node performs CPU frequency adjustment operations based on the assigned target operating frequency.

[0186] In practical applications, the computer-readable storage medium can be any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. For example, a computer-readable storage medium can be, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this embodiment, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0187] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.

[0188] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0189] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0190] like Figure 9As shown, another embodiment of this disclosure provides a structural schematic diagram of a computer device. Figure 9 The computer device 12 shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments disclosed herein.

[0191] like Figure 9 As shown, the computer device 12 is represented in the form of a general-purpose computing device. The components of the computer device 12 may include, but are not limited to: one or more processors or processing units 16, system memory 28, and a bus 18 connecting different system components (including system memory 28 and processing unit 16).

[0192] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.

[0193] Computer device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by computer device 12, including volatile and non-volatile media, removable and non-removable media.

[0194] System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. Computer device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (…). Figure 9 Not shown; usually referred to as a "hard drive"). Although Figure 9 Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this disclosure.

[0195] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of this disclosure.

[0196] Computer device 12 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable a user to interact with the computer device 12, and / or with any device that enables the computer device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed through input / output (I / O) interface 22. Furthermore, computer device 12 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) through network adapter 20. Figure 9 As shown, network adapter 20 communicates with other modules of computer device 12 via bus 18. It should be understood that, although... Figure 9 As not shown, it can be used in conjunction with computer device 12 with other hardware and / or software modules, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0197] The processor unit 16 executes various functional applications and data processing by running programs stored in the system memory 28, such as implementing a cluster CPU collaborative frequency adjustment method as described in the above embodiments provided in this disclosure.

[0198] In the description of this disclosure, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0199] Obviously, the above embodiments of this disclosure are merely examples for clearly illustrating this disclosure, and are not intended to limit the implementation of this disclosure. For those skilled in the art, other variations or modifications can be made based on the above description. It is impossible to exhaustively list all implementation methods here. Any obvious variations or modifications derived from the technical solutions of this disclosure are still within the protection scope of this disclosure.

Claims

1. A method for coordinated frequency adjustment of clustered CPUs, characterized in that, include: The predicted global total frequency modulation parameters are generated using a trained time-series regression model. Based on the adjacency topology between nodes, a seed-based relay diffusion method is used to synchronize the global total frequency modulation parameters to all nodes in the entire cluster and update the adjacency frequency modulation table maintained locally by each node. Based on the adjacency frequency modulation table synchronized by all nodes in the cluster, the representative node for distributed optimal frequency modulation is elected, and the node-to-node allocation of the global total frequency modulation parameters is performed by the elected representative node to generate the target operating frequency for each node. Each node performs CPU frequency adjustment operations based on the assigned target operating frequency. The trained time-series regression model takes as input the global total CPU load time series of the entire cluster, and its unique output is the global total frequency adjustment parameter, which is the sum of the total equivalent CPU frequencies that all nodes in the entire cluster need to provide within a future scheduling cycle. The process of electing a representative node for distributed optimal frequency modulation based on the adjacency frequency modulation table synchronized across all nodes in the cluster, and then distributing the global overall frequency modulation parameters among nodes through the elected representative node, further includes: Based on the status data in the local adjacency frequency modulation table of each node, calculate the frequency modulation capability score of each node; Based on the adjacency topology between nodes, a master representative node is elected through a distributed pairwise consensus mechanism. Based on the principle of topological adjacency, the cluster is divided into at least one contiguous adjacency region. A unique region representative node for each contiguous adjacency region is generated through distributed voting within the contiguous adjacency region. The number of contiguous adjacency regions is the square root of the total number of nodes in the cluster, rounded down. The master representative node performs the allocation of global master frequency modulation parameters, while the representative nodes of each consecutive adjacent area complete the frequency allocation and distribution for individual nodes within their respective consecutive adjacent areas. The regional representative node is used to summarize the node status data in the corresponding continuous adjacent area and to relay the frequency modulation strategy. The regional representative node is selected from the candidate regional nodes, and the candidate regional nodes meet the following constraints: normal online status, CPU utilization does not exceed the preset threshold, normal hardware frequency modulation function, and have at least one directly connected adjacent node. The allocation of global master frequency modulation parameters by the master representative node further includes: Calculate the single-node reference frequency, wherein the single-node reference frequency is the quotient of the global total frequency modulation parameter and the total number of normal nodes in the cluster; The remaining quota after deducting the minimum allowance from the global total frequency regulation parameters is weighted and allocated to determine the total frequency quota for each consecutive adjacent region. The minimum allowance is the minimum coordination required for the consecutive adjacent region to meet the minimum performance requirements of the service. The weight is the proportion of the average load of each consecutive adjacent region to the total load of the entire cluster. The total frequency quota of each consecutive adjacent region is distributed to the representative node of the corresponding consecutive adjacent region through seed diffusion. The regional representative node allocates the frequency of a single node based on the node load and hardware status of the corresponding consecutive adjacent regions.

2. The method according to claim 1, characterized in that, Before generating the predicted global total frequency modulation parameters through the trained time-series regression model, the method further includes: The time-series regression model is constructed using a recurrent neural network model; Supervised training is performed using historical cluster load time-series data based on the global total CPU load time-series sequence to obtain the trained time-series regression model. The generation of predicted global total frequency modulation parameters through a trained time-series regression model further includes: The system load prediction value for future time periods is generated by the trained time series regression model, and the global total frequency regulation parameter is output based on the system load prediction value.

3. The method according to claim 1, characterized in that, The method of synchronizing the global master frequency modulation parameters to all nodes in the cluster using a seed-based relay diffusion method further includes: The node that generates the global total frequency modulation parameters is used as the seed node, and the seed node sends frequency modulation prior information packets only to its directly connected 1-hop neighbor nodes. In response to receiving the frequency modulation prior information packet, the neighboring node updates its local neighboring frequency modulation table, increments the hop count of the frequency modulation prior information packet by one, and relays it to its own neighboring nodes. When the number of hops of the frequency modulation prior information packet reaches the preset maximum threshold or the receiving node has already processed the frequency modulation prior information packet, the information forwarding process of the corresponding branch of the node is terminated.

4. The method according to claim 1, characterized in that, The CPU frequency adjustment operation further includes: Each node reads the assigned target operating frequency from its local adjacency frequency table and adjusts the frequency by calling the kernel frequency adjustment interface through the extended Berkeley packet filter; In response to the end of a frequency, each node updates its local adjacency frequency table with its own status data and synchronizes it to its directly connected neighboring nodes via adjacency heartbeat broadcast, and / or Each node in the cluster independently maintains an adjacency frequency modulation table in its local kernel shared memory. The adjacency frequency modulation table includes a global anchoring area, a local node status area, a directly connected adjacent node status area, a diffused adjacent node status area, and a global decision area, which are used to store the corresponding data for the entire frequency modulation process.

5. A cluster CPU collaborative frequency adjustment system, characterized in that, The cluster CPU collaborative frequency adjustment system includes multiple nodes, at least one of which is loaded with a trained time-series regression model. The cluster CPU collaborative frequency adjustment system is configured as follows: The trained time-series regression model generates the predicted global total frequency modulation parameters. Based on the adjacency topology between nodes, a seed-based relay diffusion method is used to synchronize the global total frequency modulation parameters to all nodes in the entire cluster and update the adjacency frequency modulation table maintained locally by each node. Based on the adjacency frequency modulation table synchronized by all nodes in the cluster, the representative node for distributed optimal frequency modulation is elected, and the node-to-node allocation of the global total frequency modulation parameters is performed by the elected representative node to generate the target operating frequency for each node. Each node performs CPU frequency adjustment operations based on the assigned target operating frequency. The trained time-series regression model takes as input the global total CPU load time series of the entire cluster, and its unique output is the global total frequency adjustment parameter, which is the sum of the total equivalent CPU frequencies that all nodes in the entire cluster need to provide within a future scheduling cycle. The process of electing a representative node for distributed optimal frequency modulation based on the adjacency frequency modulation table synchronized across all nodes in the cluster, and then distributing the global overall frequency modulation parameters among nodes through the elected representative node, further includes: Based on the status data in the local adjacency frequency modulation table of each node, calculate the frequency modulation capability score of each node; Based on the adjacency topology between nodes, a master representative node is elected through a distributed pairwise consensus mechanism. Based on the principle of topological adjacency, the cluster is divided into at least one contiguous adjacency region. A unique region representative node for each contiguous adjacency region is generated through distributed voting within the contiguous adjacency region. The number of contiguous adjacency regions is the square root of the total number of nodes in the cluster, rounded down. The master representative node performs the allocation of global master frequency modulation parameters, while the representative nodes of each consecutive adjacent area complete the frequency allocation and distribution for individual nodes within their respective consecutive adjacent areas. The regional representative node is used to summarize the node status data in the corresponding continuous adjacent area and to relay the frequency modulation strategy. The regional representative node is selected from the candidate regional nodes, and the candidate regional nodes meet the following constraints: normal online status, CPU utilization does not exceed the preset threshold, normal hardware frequency modulation function, and have at least one directly connected adjacent node. The allocation of global master frequency modulation parameters by the master representative node further includes: Calculate the single-node reference frequency, wherein the single-node reference frequency is the quotient of the global total frequency modulation parameter and the total number of normal nodes in the cluster; The remaining quota after deducting the minimum allowance from the global total frequency regulation parameters is weighted and allocated to determine the total frequency quota for each consecutive adjacent region. The minimum allowance is the minimum coordination required for the consecutive adjacent region to meet the minimum performance requirements of the service. The weight is the proportion of the average load of each consecutive adjacent region to the total load of the entire cluster. The total frequency quota of each consecutive adjacent region is distributed to the representative node of the corresponding consecutive adjacent region through seed diffusion. The regional representative node allocates the frequency of a single node based on the node load and hardware status of the corresponding consecutive adjacent regions.

6. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the cluster CPU cooperative frequency adjustment method as described in any one of claims 1-4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the cluster CPU cooperative frequency adjustment method as described in any one of claims 1-4.