Load migration method and device
By generating a heat value based on current resource indicator data in the cross-cloud computing power pool and mapping it to migration risk values for different business levels, the problem of erroneous migration of critical businesses and delayed migration of non-critical businesses in existing technologies is solved, thereby improving the SLA compliance rate.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-30
- Publication Date
- 2026-03-27
AI Technical Summary
In existing technologies, load migration based on fixed threshold triggering can lead to the mis-migration of critical services and the delayed migration of non-critical services, resulting in low service level agreement (SLA) compliance rates.
By acquiring current resource metric data of cross-cloud computing power pool nodes, a current popularity value is generated and mapped to migration risk values under different business levels. Load migration is then performed based on the migration risk values of different business levels, distinguishing the migration priorities of critical and non-critical businesses.
This effectively prevented the mis-migration of critical business processes, reduced the phenomenon of late migration of non-critical business processes, and improved the compliance rate of Service Level Agreements (SLAs).
Smart Images

Figure CN121750652A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cross-cloud computing power pool technology, and in particular to a load migration method and apparatus. Background Technology
[0002] A cross-cloud computing power pool is a computing infrastructure that integrates public clouds, private clouds, and edge nodes. It is used to support artificial intelligence inference and large-scale offline tasks. To achieve elastic scheduling of cross-cloud resources and ensure the efficient and stable operation of various tasks, workloads need to be migrated from resource-constrained nodes to resource-sufficient nodes without interrupting business operations. This balances the overall resource utilization of the cross-cloud computing power pool and avoids task delays or service interruptions caused by single-point overload.
[0003] Currently, migration is often triggered based on fixed thresholds. Specifically, it monitors metrics such as the GPU utilization, CPU utilization, bandwidth utilization, and latency of the monitoring node, and directly triggers migration when one or more metrics reach an upper limit threshold. For example, migration is directly triggered when the GPU utilization of a node is greater than or equal to 80%.
[0004] However, this fixed threshold-triggered migration method has the following problems: critical business is mistakenly migrated while non-critical business is migrated too late, resulting in a low Service Level Agreement (SLA) compliance rate. Summary of the Invention
[0005] This application provides a load migration method and apparatus that can reduce the probability of critical services being mistakenly migrated and reduce the problem of non-critical services being migrated too late, thereby improving the SLA compliance rate.
[0006] In a first aspect, embodiments of this application provide a load migration method applied to nodes across cloud computing pools, the method comprising:
[0007] Obtain the current resource indicator data of the node at the target time;
[0008] Based on the current resource indicator data, a current heat value is generated; the current heat value is used to describe the overall load status of the node at the target time.
[0009] The current popularity value is mapped to a migration risk value under different business levels; wherein, the criticality of the business varies at different business levels, and the migration risk value varies at different business levels.
[0010] Load migration is performed based on the migration risk values under the different business levels.
[0011] Optionally, the different service levels include a first service level, a second service level, and a third service level;
[0012] Wherein, the first business level represents a greater degree of business criticality than the second business level, and the second business level represents a greater degree of business criticality than the third business level.
[0013] The step of mapping the current popularity value to migration risk values under different business levels includes:
[0014] The current popularity value is mapped to a migration risk value under the first business level, the current popularity value is mapped to a migration risk value under the second business level, and the current popularity value is mapped to a migration risk value under the third business level.
[0015] Optionally, mapping the current popularity value to migration risk values under different business levels includes:
[0016] The target service level is any one of the different service levels;
[0017] Based on the historical index memory value of the target service level and the current popularity value, the current index memory value of the target service level is determined; the current index memory value is the value obtained by linearly superimposing the historical index memory value and the current popularity value, and the historical index memory value is the index memory value of the target service level determined before the target time.
[0018] The current index memory value is mapped to a migration risk value within a preset range, where the migration risk value within the preset range is the migration risk value of the current popularity value under the target business level.
[0019] Optionally, determining the current index memory value of the target service level based on the historical index memory value of the target service level and the current popularity value includes:
[0020] Obtain the attenuation coefficient of the target service level; the attenuation coefficient of the target service level is used to reflect the degree of attenuation of the historical index memory value, and the attenuation coefficients of different service levels are different;
[0021] The current index memory value is determined based on the attenuation coefficient of the target service level, the historical index memory value, and the current popularity value. The current index memory value is the product of the historical index memory value and the attenuation coefficient of the target service level, and the value obtained by linearly superimposing the current popularity value.
[0022] Optionally, obtaining the attenuation coefficient of the target service level includes:
[0023] Obtain the memory constant of the target service level; wherein the memory constant of the first service level is greater than the memory constant of the second service level, and the memory constant of the second service level is greater than the memory constant of the third service level;
[0024] Based on the memory constant of the target service level, the attenuation coefficient of the target service level is determined; wherein the attenuation coefficient of the target service level has an exponential decay relationship with the memory constant of the target service level.
[0025] Optionally, mapping the current index memory value to a migration risk value within a preset range includes:
[0026] Using the Logistic curve, the current index memory value is mapped to a migration risk value in the range [0,1]; the memory critical threshold of the Logistic curve corresponds to the target business level, and the slope parameter of the Logistic curve corresponds to the target business level.
[0027] Among them, the memory threshold of the first service level is greater than the memory threshold of the second service level, and the memory threshold of the second service level is greater than the memory threshold of the third service level; the slope parameter of the first service level is less than the slope parameter of the second service level, and the slope parameter of the second service level is less than the slope parameter of the third service level.
[0028] Optionally, if the current resource indicator data corresponds to multiple indicators, generating the current popularity value based on the current resource indicator data includes:
[0029] The current indicator data for each indicator is scaled to obtain multiple scaled indicator data.
[0030] Specifically, for any one of multiple indicators as the target indicator: obtain the resource indicator sequence of the target indicator; the resource indicator sequence includes the current indicator data and historical indicator data of the target indicator; the historical indicator data is the indicator data of the target indicator obtained before the target time; and scale the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence.
[0031] The current popularity value is obtained by linearly superimposing the multiple scaled indicator data.
[0032] Optionally, before scaling the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence, the method further includes:
[0033] Determine the dynamic quantiles in the resource indicator sequence;
[0034] Based on the dynamic a% quantile and b% quantile, the current indicator data of the target indicator is pruned to obtain the pruned value; where a and b are both positive numbers, and a is less than b;
[0035] The scaling of the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence includes:
[0036] The cropping value is scaled using the maximum and minimum index numbers.
[0037] Optionally, the indicators corresponding to the current resource indicator data include one or more of the following: GPU utilization indicators, CPU utilization indicators, memory usage indicators, request latency indicators, error rate indicators, and I / O saturation indicators.
[0038] Secondly, embodiments of this application provide a load migration device applied to nodes across cloud computing pools, the device comprising:
[0039] The acquisition unit is used to acquire the current resource indicator data of the node at the target time;
[0040] The generation unit is used to generate a current heat value based on the current resource indicator data; the current heat value is used to describe the overall load status of the node at the target time.
[0041] The mapping unit is used to map the current popularity value to migration risk values under different business levels; the criticality of the business varies at different business levels, and the migration risk values under different business levels are different.
[0042] The determination unit is used to perform load migration based on the migration risk value under the different service levels.
[0043] Thirdly, embodiments of this application provide an electronic device, including:
[0044] Memory, used to store computer programs;
[0045] A processor for executing the computer program to implement the method as described in any one of the first aspects.
[0046] Fourthly, embodiments of this application provide a computer program that, when run on a computer, causes the computer to perform the method in any of the possible implementations of any of the above aspects.
[0047] Fifthly, embodiments of this application provide a computer-readable storage medium storing a computer program (also referred to as code or instructions) that, when run on a computer, causes the computer to perform the method in any of the possible implementations of any of the above aspects.
[0048] Sixthly, embodiments of this application provide a chip system including one or more processors for calling and executing instructions stored in memory, causing the methods in any of the above aspects or possible implementations to be executed. The chip system may be composed of chips or may include chips and other discrete devices.
[0049] This application provides a load migration method and apparatus. The method includes: acquiring the current resource indicator data of a node in a cross-cloud computing power pool at a target time; generating a current heat value based on the current resource indicator data. The current heat value describes the overall load status of the node at the target time; mapping the current heat value to migration risk values under different business levels, with different migration risk values for different business levels; and performing load migration based on the migration risk values under different business levels. The criticality of services varies across different business levels. This application differentiates between different business levels by converting current resource indicator data into current heat values and mapping them to different migration risk values according to business level. The migration risk value corresponding to a high-criticality business is different from that corresponding to a low-criticality business. Thus, load migration can be performed according to migration risk values, which can avoid the mis-migration of critical services and reduce the phenomenon of late migration of non-critical services, thereby improving SLA compliance rate. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0051] Figure 1 A schematic diagram of a cross-cloud computing power pool architecture provided for an embodiment of this application;
[0052] Figure 2 This is a schematic diagram of the architecture of a load migration system provided in an embodiment of this application;
[0053] Figure 3 A flowchart of a load migration method provided in an embodiment of this application;
[0054] Figure 4 This is a schematic diagram of another load migration system provided in an embodiment of this application;
[0055] Figure 5 An interaction diagram of a load migration method provided in an embodiment of this application;
[0056] Figure 6 A flowchart illustrating a method for obtaining the heat risk coefficient of a node based on an exponential memory-logistic curve, as provided in this application embodiment;
[0057] Figure 7 A schematic diagram of the heat risk coefficient curves corresponding to the three service levels provided in the embodiments of this application;
[0058] Figure 8 A schematic diagram illustrating a method for obtaining a target flow-cutting time slot and a target node, provided in an embodiment of this application;
[0059] Figure 9 This is a schematic diagram of a load migration device provided in an embodiment of this application. Detailed Implementation
[0060] To enable those skilled in the art to better understand the present application, the technical solutions in this embodiment will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0061] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.
[0062] This application provides a load migration method that can be applied to cross-cloud computing pool scenarios. The cross-cloud computing pool integrates multiple nodes such as private cloud, public cloud and edge nodes to support artificial intelligence inference and large-scale offline tasks.
[0063] For example, participants Figure 1 The diagram shows an architecture of a cross-cloud computing power pool according to an embodiment of this application. The cross-cloud computing power pool 10 includes N1 private clouds, N2 public clouds, and N3 edge nodes. N1, N2, and N3 are all positive integers. For example, Figure 1The demonstration included two private clouds, one public cloud, and two edge nodes. The two private clouds were designated as Private Cloud 1 and Private Cloud 2, and the two edge nodes were designated as Edge Node 1 and Edge Node 2.
[0064] In this embodiment of the application, workload migration can be performed between private clouds, between public clouds, between edge nodes, and between public clouds, private clouds, and edge nodes. For example, Figure 1 The demonstration showed that workloads in private cloud 1 can be migrated to public cloud, edge node 1, and edge node 2; workloads in public cloud can be migrated to private cloud 2 and edge node 1; and workloads in edge node 1 can be migrated to public cloud, private cloud 1, and private cloud 2.
[0065] The load migration method provided in this application embodiment can be executed by a load migration system (or load migration platform). The load migration system can perform the following operations: First, obtain the current resource indicator data of a node in the cross-cloud computing power pool at the target time, and generate a current heat value based on the current resource indicator data. The current heat value describes the overall load status of the node at the target time; map the current heat value to migration risk values under different business levels; and perform load migration based on the migration risk values under different business levels. The criticality of businesses varies across different business levels. This application embodiment distinguishes between different business levels by converting the current resource indicator data into a current heat value and mapping it to different migration risk values according to the business level. The migration risk value corresponding to a business with high criticality is different from that corresponding to a business with low criticality. Thus, load migration can be performed according to the migration risk value, which can avoid the mis-migration of critical businesses and reduce the phenomenon of late migration of non-critical businesses, thereby improving the SLA compliance rate.
[0066] In practical applications, a load migration system can include a software system, which can be provided to the user as a software package for self-deployment, such as on a local physical server or in a private cloud. In some possible implementations, the load migration system can also be deployed in a public cloud and provided to users as a cloud service. For example, cloud service providers can offer users a one-stop system service integrating the functions of the aforementioned core components.
[0067] To facilitate understanding, the following is in conjunction with the appendix. Figure 2 The system architecture of the load migration system provided in the embodiments of this application is described.
[0068] join Figure 2The diagram shows an architecture of a load migration system according to an embodiment of this application. The load migration system 20 includes a heatmap analyzer 201 and an indicator acquisition module 202. The indicator acquisition module 202 is communicatively connected to the heatmap analyzer 201.
[0069] In this embodiment of the application, the indicator acquisition module 202 is used to acquire the resource indicator data of each node in the cross-cloud computing power pool at the target time, and send the resource indicator data to the heat analysis unit 201.
[0070] The heat analysis unit 201 is used to generate a current heat value based on current resource indicator data. The current heat value describes the overall load status of the node at the target time; it maps the current heat value to migration risk values under different service levels; and it performs load migration based on the migration risk values under different service levels.
[0071] The following is in conjunction with the appendix Figures 3-8 The load migration method provided in the embodiments of this application will be described. This load migration method can be applied to... Figure 2 The following detailed explanation uses the load migration system shown as an example. For ease of understanding, the example will be based on the target time t.
[0072] Appendix Figure 3 A flowchart illustrating a load migration method provided in this application embodiment. The method specifically includes the following steps:
[0073] S10: Obtain the current resource indicator data of the node at the target time.
[0074] For example, a node can be Figure 1 Any node in the cross-cloud computing power pool shown.
[0075] The current resource metric data indicates the resource metric data acquired by the node at time t. In this embodiment, the resource metrics corresponding to the current resource metric data are used to reflect the node's hardware resource handling capacity, including but not limited to the node's GPU utilization metrics, CPU utilization metrics, memory usage metrics, request latency metrics, error rate metrics, and I / O saturation metrics.
[0076] It should be noted that in other embodiments, resource indicators may also include other data, such as electricity price indicators, etc., which are not limited in the embodiments of this application.
[0077] S20: Generate the current heat value based on the current resource indicator data; the current heat value is used to describe the overall load status of the node at the target time.
[0078] For example, the median, mode, or average of the current resource indicator data can be used as the current popularity value. It should be noted that if there is only one resource indicator data point, that data point can be used as the current popularity value.
[0079] In some examples, since different indicator data correspond to different units, the current resource indicator data can be scaled to improve the accuracy of subsequent processing. For example, the current resource indicator data can be scaled to a number in the range [0,1], and then the current popularity value can be obtained based on the scaled indicator data. Where there are multiple indicators corresponding to the current resource indicator data, the multiple scaled indicator data can be linearly superimposed to obtain the current popularity value.
[0080] In some further examples, to adjust the current popularity value over time, for any given metric (referred to as the target metric for ease of description), the load migration system can perform the following operations: Obtain the resource metric sequence for the target metric. This resource metric sequence includes the current metric data and historical metric data for the target metric, with the historical metric data being the metric data obtained before the target time. The current metric data for the target metric is then scaled using the maximum and minimum number of metrics in the resource metric sequence.
[0081] For example, if the target metric is CPU utilization, and the historical metric data is the data acquired 20 seconds prior to time t, and the load migration system acquires metric data at 2-second intervals, the acquired resource metric sequence is [32%, 35%, 48%, 42%, 38%, 52%, 32%, 40%, 20%, 45%]. The maximum value in the acquired resource metric sequence is 52%, and the minimum value is 20%. For example, using the sliding window Min-Max normalization formula, the current metric data for the target metric can be determined to be 0.72.
[0082] Furthermore, considering the potential for occasional spikes that could affect the accuracy of determining the current popularity value, the load migration system can first determine the dynamic quantiles in the resource indicator sequence. Then, based on the dynamic a% and b% quantiles, the current indicator data of the target indicator is pruned to obtain a pruned value; both a and b are positive numbers, and a is less than b. For example, a is 1 and b is 99. That is, if the current indicator data is within the 1st to 99th percentile range, the original value is retained; if it is below the 1st quantile, the 1st quantile replaces the current indicator data; if it is above the 99th quantile, the 99th quantile replaces the current indicator data. This method ensures that the pruned data retains the true fluctuation trend of the indicator while reducing occasional spikes, thus helping to improve the accuracy of determining the current popularity value.
[0083] S30, map the current popularity value to migration risk values under different business levels; wherein, the criticality of the business varies under different business levels.
[0084] In this embodiment of the application, after the load migration system obtains the current popularity value of a node, it can map the current popularity value to migration risk values of different business levels.
[0085] First, the different service levels are introduced. In the embodiments of this application, the services at different service levels have different degrees of criticality. In one specific implementation, the service levels can be divided into a first service level, a second service level, and a third service level, wherein the first service level has a higher degree of criticality than the second service level, and the second service level has a higher degree of criticality than the third service level.
[0086] For different business levels, the current popularity value is mapped to a migration risk value corresponding to that business level. Specifically, the load migration system maps the current popularity value to the migration risk value corresponding to the first business level, the second business level, and the third business level. It should be noted that the migration risk values differ for different business levels. The migration risk value for a highly critical business differs from that for a less critical business. In this way, load migration can be performed according to the migration risk value. This approach can prevent critical businesses from being mistakenly migrated and can also reduce the phenomenon of non-critical businesses being migrated too late, thereby improving SLA compliance rates.
[0087] In one specific implementation, for any business level (for ease of description, referred to as the target business level, business level P), the current index memory value of the target business level can be determined based on the historical index memory value and the current popularity value. The current index memory value is the linear sum of the historical index memory value and the current popularity value, while the historical index memory value is the index memory value of the target business level determined before the target time. For example, the historical index memory value is... The current popularity value is Then the current exponential memory value can be expressed as shown in formula (1):
[0088] = + (1)
[0089] in, Numbers greater than 0 and less than 1 This is the current exponential memory value, and time t1 is the value before time t.
[0090] It should be noted that in this embodiment of the application, if time t is the initial time, then the current index memory value at the initial time is the current heat value obtained at the initial time.
[0091] The load migration system can map the current exponential memory value to a migration risk value within a preset range. The preset range is a range that those skilled in the art can set as needed, for example, a preset range of [0,1]. In one specific implementation, a Logistic curve can be used to map the current exponential memory value to the migration risk value within the preset range.
[0092] In one example, This is the attenuation coefficient for the target service level. This attenuation coefficient reflects the degree of attenuation of the historical index memory value, and the attenuation coefficients are different for different service levels. Specifically, the attenuation coefficient for the first service level is greater than that for the second service level, and the attenuation coefficient for the second service level is greater than that for the third service level.
[0093] In yet another example, Related to the memory constant of the target business level . Specifically, and It exhibits an exponential decay relationship. Specifically, firstly, the memory constant of the target service level is obtained. The memory constant of the first service level is greater than that of the second service level, and the memory constant of the second service level is greater than that of the third service level. Then, the memory constant of the first service level... The closer it is to 1, the higher the level of the third business. The closer to 0, the better. This means that a first-tier business node is only considered a migration candidate if it has accumulated heat for an extended period; instantaneous spikes are mitigated, so high-value traffic is not evicted from the current node's cloud region due to brief fluctuations. This approach reduces false migrations, lowers SLA risks for critical businesses, and decreases both the number of migrations and the cost of link switching.
[0094] It should be noted that in this embodiment, a Logistic curve with both a fixed memory threshold and slope parameter can be used, or a Logistic curve with both the memory threshold and slope parameter dynamically adjusted according to the service level can be used. Specifically, the memory threshold of the first service level is greater than that of the second service level, and the memory threshold of the second service level is greater than that of the third service level; the slope parameter of the first service level is less than that of the second service level, and the slope parameter of the second service level is less than that of the third service level. This approach ensures that the third service level will push the migration risk value to its maximum value at any peak, which helps to prioritize the migration of services at this service level.
[0095] S40, perform load migration based on the migration risk value under the different service levels.
[0096] For example, a node includes three migration risk values for different service levels: a first service level migration risk value M1 (e.g., 0.062), a second service level migration risk value M2 (e.g., 0.185), and a third service level migration risk value M3 (e.g., 0.417), where M1 < M2 < M3. If the migration risk value of the third service level (0.417) is greater than a preset overheat threshold (e.g., 0.4), the node is determined to be a third-level migration service, and load migration is performed on the service corresponding to the third service level of the node. If the migration risk value of the first service level is less than the overheat threshold, and the migration risk value of the second service level is also less than the overheat threshold, then load migration is not triggered for either the first or second service level.
[0097] In summary, the load migration method provided in this application first obtains the current resource indicator data of a node in a cross-cloud computing pool at a target time, and generates a current heat value based on the current resource indicator data. The current heat value describes the overall load status of the node at the target time. The current heat value is then mapped to migration risk values under different business levels. Load migration is performed based on the migration risk values under different business levels. The criticality of services varies across different business levels. This application differentiates between different business levels by converting current resource indicator data into current heat values and mapping them to different migration risk values according to business level. The migration risk value for highly critical services differs from that for less critical services. This allows load migration based on migration risk values, preventing the mis-migration of critical services and reducing the phenomenon of delayed migration of non-critical services, thereby improving SLA compliance rates.
[0098] To enable those skilled in the art to better understand the load migration method provided in the embodiments of this application, the following description is provided with specific examples. In the embodiments of this application, the target time is referred to as time t, and the resource indicator data is specifically multi-dimensional resource indicator data, including resource utilization indicator data, load change indicator data, predicted SLA default indicator data, and electricity price indicator data. The migration risk value under different service levels in a node is referred to as the heat risk coefficient of the node under different service levels. For example, the heat risk coefficient of service level P at time t is... Then, based on the heat risk coefficient of each node, the source node and candidate nodes are determined. Afterwards, the migration timing and migration destination are decoupled, i.e., divided into phase A and phase B. Phase A is used to determine the migration timing, and phase B is used to determine the migration destination. In this embodiment, the indicator acquisition module 202 specifically comprises a monitoring agent module and an indicator bus module. A detailed discussion follows with reference to the accompanying drawings.
[0099] Appendix Figure 4 This is a schematic diagram of another load migration system provided in an embodiment of this application. The load migration system 20 includes a monitoring agent module 401, an indicator bus module 402, a heat analyzer 201, a scheduler 405, an orchestrator 404, and an experience database 403.
[0100] The monitoring agent module 401 is used to acquire multi-dimensional resource metrics of each node in the cross-cloud computing power pool, and to tag and send the multi-dimensional resource metrics of each node to the metric bus module 402. The multi-dimensional resource metrics of each node are checked to ensure that the metric data of multiple nodes in the cross-cloud computing power pool are accurately clustered according to node and business dimensions when aggregated.
[0101] The indicator bus module 402 is used to receive multi-dimensional resource indicators from each node. To ensure timing integrity, the indicator bus module 402 is also used to rearrange the multi-dimensional resource indicators of each node according to the received timing sequence. The indicator bus module 402 then sends the rearranged multi-dimensional resource indicators of each node to the heat analyzer 201.
[0102] The heat analysis unit 201 is used to obtain the multi-dimensional resource indicator sequence of each node within the scrolling window, and to determine the heat risk coefficient of each node based on the multi-dimensional resource indicator sequence of each node. The heat analysis unit 201 is also used to send the heat risk coefficient of each node to the scheduler 405.
[0103] Scheduler 405 receives the heat risk coefficient of each node and, based on the heat risk coefficient, determines whether to trigger migration, when to trigger migration, and where to migrate, thus obtaining a load migration strategy. Caller 405 sends the load migration strategy to orchestrator 404.
[0104] The orchestrator 404 is used to perform load migration based on the load migration strategy and store the load migration information in the experience database 403.
[0105] against Figure 4 The load migration system shown in this application also provides a load migration method in this embodiment. Figure 5 The diagram shown is an interaction diagram of a load migration method provided in an embodiment of this application. The method includes the following steps:
[0106] S510, the monitoring agent module 401 obtains multi-dimensional resource indicator data of the node at the target time.
[0107] The multidimensional resource metrics data for a node include node resource utilization metrics, load change metrics, predicted SLA default metrics, and electricity price metrics. The electricity price metrics include the regional electricity price of the node's location, reflecting dynamic costs. The node's resource utilization metrics include, but are not limited to, GPU utilization, CPU utilization, memory resource utilization, and bandwidth resource utilization.
[0108] The load change metrics for a node can be the node load surge rate or the magnitude of load increase within a preset time period. The preset time period is a duration set in advance as needed, for example, a preset time period of 30 seconds.
[0109] The load surge rate of a node can be the increase in the node's load over the past 30 seconds. The specific calculation formula is shown in formula (2).
[0110] (2)
[0111] in, This represents the average load over the past 30 seconds. This represents the average load over the past 60 seconds. This refers to the load surge rate of the node. By using the load change metric of the node, overheating trends can be detected in advance.
[0112] The predicted SLA default metric can be the probability of SLA default within a preset future time period. This metric is used to determine whether migration operations will lead to a decline in service quality. In one specific implementation, a Long Short-Term Memory (LSTM) network model can be used as the predictive microservice. By processing node request latency, error rate, and traffic, the probability of node SLA default in the future time period can be predicted.
[0113] In cross-cloud computing pools, node resource utilization metrics only reflect the current resource usage of a node and cannot reflect its load stability, making it impossible to accurately determine a node's hot or cold status using only these metrics. A node's hot status indicates a high heat value, while a node's cold status indicates a low heat value.
[0114] For example, if a node's CPU utilization is 60% and its load consists of executing a lightweight scheduled task every 5 minutes, this node is considered a "cold" node. If the load is a high-concurrency e-commerce transaction service, this node is considered a "hot" node. Therefore, it is difficult to accurately determine a node's "cold" or "hot" status solely based on resource utilization metrics. To address this, this application introduces multi-dimensional resource metrics. By considering node resource utilization metrics, load change metrics, predicted SLA default metrics, and electricity price metrics, it can determine the fluctuation of node load, whether task migration will lead to a decline in service quality, and whether the node's resource consumption is driven by cost factors, thereby accurately determining the node's "cold" or "hot" status.
[0115] It should be noted that, in this embodiment, to ensure that indicator data from different nodes can be accurately clustered according to region and business, each indicator is labeled. The label content includes, but is not limited to, the region where the node containing the indicator is located, the resource pool, the cloud vendor, instance information, and business-related attributes. By labeling the indicators, it can be ensured that subsequent modules can accurately cluster the received indicator data according to node and business dimensions.
[0116] S520, the monitoring agent module 401 sends the multi-dimensional resource indicator data of the nodes at the target time to the indicator bus module 402. Correspondingly, the indicator bus module 402 receives the multi-dimensional resource indicator data of each node at the target time.
[0117] S530, the indicator bus module 402 arranges the multi-dimensional resource indicator data of each node in chronological order to ensure the integrity of the chronological order.
[0118] S540, the indicator bus module 402 sends the sorted indicator data to the heat analysis unit 201. Correspondingly, the heat analysis unit 201 obtains the sorted indicator data.
[0119] S550, Heat Analyzer 201 obtains the multi-dimensional resource indicator sequence of each node within the scrolling window.
[0120] In this embodiment, the duration of the scrolling window is a fixed duration, for example, 600 seconds, and the multidimensional resource indicator sequence... It only includes multidimensional resource indicator data of the most recent fixed duration. It can be understood that the heat analyzer 201 obtains the multidimensional resource indicator data of a node at time t. , the data Insert the multidimensional resource indicator sequence for this node within the scrolling window, while simultaneously deleting the earliest multidimensional resource indicator data from the sequence. That is, the multidimensional resource indicator sequence. It updates in real time and always retains only the latest indicator sampling data of a fixed duration, which provides stable time dimension data for subsequent data processing.
[0121] S560, the heat analysis unit 201 processes the multi-dimensional resource indicator sequence of each node to obtain the instantaneous heat of each node.
[0122] The following explanation uses a single node as an example. This node can be any one of multiple nodes.
[0123] Heat Analyzer 201 can analyze the multi-dimensional resource index sequence of nodes. Determine the dynamic quantiles. For example, the heat map analyzer 201 can be based on a multidimensional resource indicator sequence. Determine the 1st percentile and 99th percentile for each indicator. The 1st percentile of an indicator is the percentage of data points less than or equal to 1% of the data points for that indicator. The 99th percentile of an indicator is the percentage of data points less than or equal to 99% of the data points for that indicator.
[0124] In some examples, to mask occasional spikes, the heatmap analyzer 201 can also analyze the multidimensional resource indicator sequence. The multidimensional resource indicator values within the range are cropped to the 1st to 99th percentile. That is, for the multidimensional resource indicator sequence... The k-th indicator can be pruned using dynamic 1st and 99th quantiles, retaining only the indicators within the 1st to 99th quantile range. For example, consider the indicator data for the k-th indicator at time t. We can use formula (3) to cut, and obtain the following cut values:
[0125] (3)
[0126] in, Let be the clipped value corresponding to the index data of the k-th index at time t. The dynamic 1% quantile of the k-th indicator. is the dynamic 99th percentile of the k-th indicator.
[0127] Then, the heat analysis unit 201 normalizes the clipped values to obtain dimensionless data within a preset range. In one specific implementation, the heat analysis unit 201 can perform sliding normalization according to formula (4) to obtain the index data of the k-th index at time t. Corresponding dimensionless data :
[0128] (4)
[0129] in, For smoothing parameters, For data in the range [0,1], for example . Multidimensional resource indicator sequence The minimum value of the k-th indicator. Multidimensional resource indicator sequence The maximum value of the k-th indicator. Due to the multidimensional resource indicator sequence. As time progresses, both the extreme values and the scaling ratio will automatically adjust to the load offset and will not fail due to long-term baseline shifts.
[0130] Heat Analyzer 201 can analyze multi-dimensional resource index sequences The corresponding dimensionless data is used to obtain the instantaneous popularity. In the specific implementation, the popularity analyzer 201 assigns weights to each multidimensional resource indicator, multiplies the dimensionless data corresponding to each indicator with the corresponding weight, and linearly superimposes the multiplication results of the multidimensional resource indicators at the same time to obtain the instantaneous popularity at that time.
[0131] For example, the heat analysis 201 uses five metrics: CPU utilization, GPU utilization, load increase over the past 30 seconds, SLA default probability for the next 60 seconds, and real-time electricity price in the node's region. Each of these metrics is assigned a weight w. The weights for CPU utilization (0.25), GPU utilization (0.25), load increase over the past 30 seconds (0.2), SLA default probability over the next 60 seconds (0.2), and the real-time electricity price of the node's region (0.1) are all considered. The heatmap analyzer 201 multiplies the data of these five indicators by their corresponding weights. For the same moment, the results of these multiplications are linearly summed to obtain the instantaneous heat (i.e., current heat value) of the node at that moment. For example, at time t, the instantaneous heat of the node at time t is obtained by linearly summing the results of the corresponding multiplications of these five indicators. As shown in formula (5):
[0132] (5)
[0133] It should be noted that, in this embodiment, the weight values can be fine-tuned as needed. For example, they can be automatically adjusted using built-in preset rules, or they can be fine-tuned by writing them to the configuration center via hot update; this embodiment is not limited to these methods.
[0134] S560, the heat analysis 201 maps the instantaneous heat of each node to the heat risk coefficient of each node at different business levels.
[0135] In this embodiment, the heat analysis unit 201 maps the instantaneous heat of a node into a heat risk coefficient that varies with the business level, ensuring that critical services have a longer buffer under high pressure, while other services give way when peak times arrive. Specifically, the heat analysis unit 201 uses the pre-acquired exponential memory-logistic curve corresponding to each business level to obtain the heat risk coefficient of the node at different business levels, achieving the goal of different business levels responding to load according to their own characteristics.
[0136] Appendix Figure 6 A flowchart illustrating a method for obtaining the heat risk coefficient of a node based on an exponential memory-logistic curve, provided in this application embodiment, includes the following steps:
[0137] S610: Employs an exponentially weighted moving average algorithm to accumulate historical heat over the time domain, thereby obtaining the exponential memory value of each business level in the node.
[0138] Specifically, the heat map analyzer 201 analyzes any node and any business registration of that node. This means that the service level P belongs to one of the following: critical service level (i.e., first service level), major service level (i.e., second service level), or minor service level (i.e., third service level). Define the memory constant for this service level P. and attenuation coefficient Among them, the attenuation coefficient . It is the time interval for the 401 sampling of the monitoring agent module, for example. It lasts for 2 seconds.
[0139] It should be noted that the criticality level of a business transaction is greater than that of a major business transaction, and the criticality level of a major business transaction is greater than that of a minor business transaction.
[0140] Heat Analyzer 201 combined with memory constant and attenuation coefficient According to formula (6), the instantaneous popularity and historical popularity of business level P are accumulated to obtain the exponential memory value of business level P. Formula (5) is as follows:
[0141] (6)
[0142] in, This is the exponential memory value at time t preceding time t. At the initial time t = 0, its initial memory exponential value is... . The closer to 1, the higher the exponential memory value. The greater the proportion of historical popularity, the more significant the impact.
[0143] S620: The Logistic curve is used to map the exponential memory value of each business level in the node to the interval [0, 1] to obtain the heat risk coefficient of each business in the node.
[0144] In its implementation, the heat analysis unit 201 stores the business level P-index value according to the Logistic curve. Mapping to the interval [0, 1], the specific mapping relationship is shown in formula (7):
[0145] (7)
[0146] The heat risk coefficient for business level P. The critical threshold for the memory value of business level P. This is the slope parameter of the Logistic curve.
[0147] In the embodiments of this application, if , and satisfy , , ,and satisfy The heat risk coefficient curves corresponding to the three business levels set by business level P are as follows: Figure 7 As shown. Figure 7 The diagram shows the heat risk coefficient curves corresponding to the three business levels defined in the business settings. The horizontal axis of the curve represents the exponential memory value, and the vertical axis represents the heat risk coefficient. The risk coefficient for Critical business categories is lower than that for Major business categories, while the risk coefficient for Major business categories is higher than that for Minor business categories.
[0148] To enable those skilled in the art to better understand, the following description is provided in conjunction with specific embodiments.
[0149] Table 1 is a parameter value table for a service level P provided in the embodiments of this application.
[0150]
[0151] Table 1 provides the corresponding information for the three service levels. , and .in, , , In this application embodiment, for Critical services, a large [scale / size] is used. This indicates that only when a node accumulates heat over a prolonged period will the Critical service be considered a candidate for migration. Furthermore, this service utilizes a relatively large... and smaller This makes it more sensitive to historical trends, and instantaneous spikes are downplayed, which can further reduce the probability of false migrations, thereby reducing the SLA intensity of critical services. The opposite is true for non-critical services. For example, for minor services, a larger... The instantaneous spikes will not be faded, but a smaller one will be used. Any peak will quickly The value is increased to 1, which makes scheduler 405 prioritize relocating this type of task.
[0152] For example, if instantaneous heat Previous round Both are 0.30. For example, we can obtain the current round's... .
[0153] Table 2 shows the different service levels.
[0154]
[0155] Table 2 provides the corresponding service levels at time t. The value. The smaller, The smaller the value, the faster the historical decay rate. In the embodiments of this application, the Minor service... maximum.
[0156] Heat Analyzer 201 will analyze different business levels Mapped to the heat risk coefficient in the interval [0, 1] .
[0157] Table 3 shows the heat risk coefficients for different business levels.
[0158]
[0159] Table 3 provides information on different service levels. Mapped to the heat risk coefficient in the interval [0, 1] The specific mapping results. Specifically, for the same instantaneous heat and the same initial memory conditions, , , Due to differences in the business load, the heat risk coefficients for the three business levels also differ, specifically: Minor business heat risk coefficient > Major business heat risk coefficient > Critical business heat risk coefficient. In this embodiment, the scheduler 405 will migrate tasks based on the heat risk coefficient of the business in the node, prioritizing the migration of businesses with higher heat risk coefficients, i.e., prioritizing the migration of Minor businesses. If the node still has load pressure, it can consider migrating businesses with lower heat risk coefficients, i.e., Major businesses.
[0160] This application combines short-term heat with exponential memory values and uses an adjustable Logistic function to map the same physical heat, creating a clear gradient among three different levels of business: Minor tasks are most sensitive to peaks and migrate first; Major tasks are of moderate sensitivity; Critical tasks only enter the migration list after prolonged heat accumulation and low-priority workloads have been relocated. This allows for rapid release of computing power when resources are scarce while preventing critical businesses from being mistakenly migrated due to momentary fluctuations.
[0161] S570, the heat analysis unit 201 sends the heat risk coefficient of each node at different service levels to the scheduler 405. Correspondingly, the scheduler 405 receives the heat risk coefficient of each node at different service levels.
[0162] S580, scheduler 405 determines the source node and candidate node set based on the heat risk coefficient of each node at different business levels.
[0163] After the scheduler 405 obtains the heat risk coefficients of nodes at different service levels, it performs a pre-filter using a lightweight threshold. If the highest heat risk coefficient of the source node exceeds the overheat threshold, it retrieves all nodes with the lowest heat risk coefficient below the cold threshold from the global node table as candidate nodes. These candidate nodes are the destination nodes for potential load migration, thus narrowing the search space. The global node table stores all nodes across the computing pool.
[0164] In one example, scheduler 405 can determine the source node and candidate nodes through the following steps:
[0165] Step A1: Scheduler 405 scans the heat risk coefficient of each node at different business levels at fixed intervals to obtain the highest and lowest heat risk coefficient of each node.
[0166] Specifically, the highest and lowest heat risk coefficients of node n can be obtained by referring to formula (8):
[0167] (8)
[0168] in, The highest heat risk coefficient characterizes node n. is the minimum heat risk coefficient for node n.
[0169] The fixed period can be adjusted as needed, for example, a fixed period of 2 seconds.
[0170] Step A2: Determine the source node and candidate nodes.
[0171] Specifically, scheduler 405 determines whether the node's highest heat risk coefficient is greater than or equal to the overheating threshold. If so, then mark that node as the source node. For example, determine the highest heat risk coefficient for node n. Does it meet the requirements? If so, then mark node n as the source node.
[0172] Scheduler 405 queries the global node table for all nodes that meet the minimum heat risk coefficient less than or equal to the cold threshold. Nodes that meet the criteria are selected as candidate nodes. For example, all nodes that satisfy the criteria are... Node m is selected as a candidate node, and a candidate node set is obtained. Specifically, as shown in formula (9):
[0173] (9)
[0174] It should be noted that, to ensure the migration task succeeds, nodes that are unreachable due to network issues or have mismatched resource types need to be excluded. This refers to the set of candidate nodes. This excludes nodes that are unreachable from the network or whose resource types do not match.
[0175] It should be noted that for the same node, after executing a migration task, a preset cooldown period is required before triggering the migration operation again to avoid jitter. The preset cooldown period can be adjusted as needed; for example, the preset cooldown period is 60 seconds.
[0176] S590, the scheduler 405 determines whether to trigger migration in a future preset time period based on the source node and candidate node set and through the migration triggering model.
[0177] In this embodiment, for source node n, scheduler 405 first constructs a coefficient sequence consisting of the highest heat risk coefficients of source node n within a fixed duration before time t. For example, the fixed duration is 60 seconds, and the sampling time interval is... For example, the coefficient sequence corresponding to the source node n is shown in formula (10):
[0178] (10)
[0179] Wherein, the coefficient sequence This includes 30 time-varying maximum heat risk coefficients. Taking the first-order difference, we obtain the first-order difference sequence. It can capture the risk change rate characteristics of the highest heat risk coefficient of source node n over the past 60 seconds.
[0180] Scheduler 405 will use the coefficient sequence corresponding to source node n The first difference corresponding to the coefficient sequence The 32-unit GRU is input with its respective encoding to obtain the first and second encoding vectors. The scheduler 405 then concatenates the first and second encoding vectors, the mean minimum risk of each candidate node, the number of candidates, and the median link bandwidth among the candidate nodes to obtain the state vector. .
[0181] Scheduler 405 uses the trained transfer-triggered model to process the state vector The process is performed to obtain the state vector. Migration probability that triggers migration If the migration probability Greater than or equal to a probability threshold, for example Output the first flag The specific implementation of this migration triggering model is shown in formula (11):
[0182] (11)
[0183] in, The decision parameters corresponding to the migration trigger model.
[0184] If the first flag is output Scheduler 405 determines to trigger migration. If the migration probability of source node n is less than or equal to the probability threshold, the second flag Defer is output, and scheduler 405 determines to pause triggering migration.
[0185] Furthermore, to ensure robustness, migration will be directly triggered if n1 or more SLA defaults are accumulated within a preset cumulative period. If the scheduler 405 detects that there is a large-scale expansion window for high-priority services across computing pools, migration will be temporarily suspended to avoid link congestion.
[0186] It should be noted that n1 is a positive integer. The large-scale expansion window for high-priority services is a specific period during which critical-level or major-level services within the cross-cloud computing power pool concentrate on resource expansion. During this period, priority should be given to ensuring the stability of the resources and links required for expansion, and unnecessary load migration should be postponed to avoid resource conflicts or link congestion.
[0187] In this embodiment of the application, if the output flag is the first flag If the condition is met, the process proceeds to S5100; otherwise, scheduler 405 terminates and proceeds to the next sampling cycle.
[0188] If migration is triggered, the scheduler 405 determines the target node and target switching time slot for the future period based on the candidate node's lowest heat risk coefficient, link bandwidth, and real-time electricity price.
[0189] In this embodiment, the scheduler 405 first obtains the characteristics of the candidate nodes. The characteristics of each candidate node include, but are not limited to, the node's link bandwidth and real-time electricity price.
[0190] In one specific implementation, the scheduler 405 first determines the set of candidate nodes. Is it an empty set? ,Right now If the condition is not met, it indicates resource scarcity and requires expansion. If the condition is met, calculate the link bandwidth for each candidate node m. And the instantaneous electricity price E(m). It should be noted that the candidate node m mentioned in this application is any candidate node in the candidate node set. Wherein, the candidate node set... This refers to the node to which the load of source node n may migrate.
[0191] In this embodiment, the scheduler 405 determines the target flow-cutting time slot and the target node based on the source node, the set of candidate nodes, and the characteristics of each candidate node.
[0192] In this embodiment, the scheduler 405 uses a two-layer graph attention network to process the data and obtain the target flow-cutting time slot and the target node. The following is a detailed explanation in conjunction with the appendix. Figure 8 Please provide an explanation.
[0193] See Figure 8 The diagram shown is a schematic representation of a method for obtaining a target flow-cutting time slot and a target node according to an embodiment of this application. The method specifically includes the following steps:
[0194] S810: Obtain candidate image sets.
[0195] In this embodiment, the scheduler 405 combines the source node n with the candidate node set. The mapping is a weighted directed graph with attributes, i.e., a candidate graph set, to facilitate the subsequent simultaneous capture of the interaction between the hot and cold status of nodes, link capacity, and real-time electricity price.
[0196] The candidate graph set includes vertices, vertex attributes, edges, and edge attributes. Vertices include the first vertex corresponding to the source node and the second vertex corresponding to the candidate node. Vertex attributes include the heat value, instantaneous electricity price, and available processor capacity of the candidate node corresponding to the second vertex at the target time. Edges include unidirectional edges from the first vertex to the second vertex. Edge attributes include the link bandwidth and round-trip latency from the source node to the candidate node. Vertex attributes describe whether a candidate node is suitable for undertaking the migration task. Edge attributes describe the reliability of migrating the task from the overheated source node to the candidate node.
[0197] In one specific implementation, the three-dimensional feature vector of each candidate node m in the candidate node set is obtained. The three-dimensional feature vector of candidate node m includes the lowest heat risk coefficient of candidate node m at the current time, the regional electricity price, and the available graphics processing unit (GPU) capacity, as shown in formula (12):
[0198] , (12)
[0199] The three-dimensional feature vector of candidate node m is .in, The minimum heat risk coefficient of candidate node m at time t is represented by E, where E is the regional electricity price of candidate node m at time t. Let m be the available GPU capacity for candidate node m. To improve the accuracy of subsequent processing, this... Specifically, it can be a number that maps the available GPU capacity to the [0,1] interval. In this embodiment, the normalized 3D feature vector of the candidate node can be written into the vertex attribute table. It should be noted that when the vertex attribute table is updated, the vertex attributes in the candidate graph set are updated synchronously.
[0200] Edge properties of the edge (n, m) from source node n to candidate node m As shown in formula (13):
[0201] (13)
[0202] in, The link bandwidth from source node n to candidate node m , The round-trip time (in milliseconds) for transmitting reference information between source node n and candidate node m. Higher link bandwidth results in better round-trip time, better network transmission quality, and higher task migration efficiency.
[0203] In this embodiment of the application, to unify the units of measurement and improve the accuracy of the calculation, the link bandwidth and round-trip delay of the candidate nodes can be normalized and mapped to numbers in the range [0,1], respectively. Specifically, Scale linearly according to [0,1], taking the reciprocal of the round-trip delay and then scaling according to [0,1].
[0204] In this way, the minimum heat risk coefficient, available GPU capacity, and instantaneous electricity price of a node, as well as the link bandwidth and round-trip latency of candidate nodes, can be uniformly encapsulated in the candidate graph atlas. middle.
[0205] It should be noted that, in this embodiment of the application, all edge attributes can be written into the sparse weight matrix to obtain a |C|×1 matrix, which can be used by the graph attention network to perform graph attention calculation.
[0206] S820 divides the future preset time period into the cut-off time slot and the discrete encoding of the cut-off time slot.
[0207] For example, the future preset time period is divided into four equal parts according to the time period, resulting in four streaming time slots, which are as follows: A two-dimensional sinusoidal code is introduced for each flow-cutting time slot to obtain the discrete code corresponding to the flow-cutting time slot. For example, the discrete code for the f-th flow-cutting time slot. As shown in formula (14):
[0208] (14)
[0209] Where f is a positive integer in the range [1,4].
[0210] It should be noted that S810 and S820 can be executed simultaneously, or S810 can be executed first and then S820, or S820 can be executed first and then S810. This application does not limit this.
[0211] S830: Input the candidate graph set, the flow cut time slot, and the source node identifier into the graph attention network to obtain the score of each candidate node.
[0212] The source node identifier is used to uniquely identify the source node. For example, the source node identifier of source node n can be "source node n".
[0213] Scheduler 405 can invoke a two-layer graph attention network to process the candidate graph set, source nodes, and discrete encoding of the flow-cutting time slots to obtain scores for the candidate nodes. The following example, using source node n and candidate node m, illustrates the score obtained by the graph attention network for candidate node n.
[0214] For the h-th attention head in the l-th layer, its feature transformation parameters are set as follows: And attention weight parameters are The attention coefficient for the edge (n, m) from source node n to node m. As shown in formula (15):
[0215] (15)
[0216] in, Let be the three-dimensional feature vector of candidate node n. Let be the three-dimensional feature vector of the source node n. Let n be the edge attributes from the source node n to the candidate node m.
[0217] Attention coefficients of edge (n, m) Normalization is performed to obtain the normalized attention coefficients. As stated in formula (16):
[0218] (16)
[0219] For candidate node m at layer l, multi-head aggregation embedding As in formula (17):
[0220] (17)
[0222] Where H represents the number of attention heads in each layer of the graph attention network, e.g., H = 4. It is an Exponential Linear Unit (ELU). The four-head output splicing method is shown in formula (18):
[0223] (18)
[0224] The result obtained after concatenating the H-head outputs is input into another outer layer of the graph attention network, and processed in the same way as the l-th layer, finally obtaining the feature vector of the candidate node m. .
[0225] The graph attention network inputs the feature vector of candidate node m along with all tangent time slots into a multilayer shared perceptron to obtain a score for candidate node m. The number of scores for candidate node m corresponds one-to-one with the number of flow-cutting time slots. For example, if there are 4 flow-cutting time slots, then the score for candidate node m is 4, as shown in formula (19).
[0226] (19)
[0227] in, For learnable parameter vectors, dimensions and concatenated features Consistency, used for splicing features Weighting is applied, where b is a bias term used to adjust the scoring baseline and to adjust the offset of the results after feature weighting.
[0228] In one specific implementation, the multilayer shared perceptron includes two fully connected layers. The first fully connected layer is used to output a 32-dimensional feature vector, and the second fully connected layer is used to output a one-dimensional feature. In this multilayer perceptron, the activation function used is the rectified linear unit (ReLU).
[0229] S840: Determine the target node and target flow switching time slot based on the scores of each candidate node.
[0230] Next, we continue with the source node n and the candidate graph set. Candidate Node Set Taking a scenario with four flow-cutting time slots as an example, this explains how to determine the target node and the target flow-cutting time slot.
[0231] Scheduler 405 first obtains the set of all actions. As shown in formula (20):
[0232] (20)
[0233] The temperature-based soft-max formula is shown in formula (21):
[0234] (twenty one)
[0235] in, It is a temperature coefficient and belongs to the category of numbers greater than 0 and less than 1. Candidate image set Below, the migration-triggered model outputs the load during the time period. The probability of migrating to candidate node m. It is the set of all available actions within the same time period.
[0236] In this embodiment of the application, during the training phase, the data is taken... =1, press the action directly. Sampling is performed to ensure unbiased policy gradient estimation; temperature coefficients are included during the inference phase. Adjust the values to be below 1 and above 0, for example, to 0.3 to concentrate the distribution. From all feasible action sets, select the combination with the highest probability as the target migration scheme, as shown in formula (22):
[0237] (twenty two)
[0238] in, For the target migration plan, For the target node, The target flow cut time slot.
[0239] For example, continuing to target Figure 1 In the cross-cloud computing pool scenario shown, if the source node n is private cloud 1, the candidate node set C(n,t) = {edge node 1, public cloud, edge node 2}, the preset time period is 5 minutes, and the corresponding flow switching time slot is 4, including... (0-1.25min) (1.25-2.5 min) (2.5-3.75 min) and (3.75-5 min), temperature coefficient The value obtained is 0.3. As shown in Table 4:
[0240] Table 4 Scoring Results of Candidate Nodes
[0241]
[0242] Table 4 shows the scores of all candidate nodes in different flow-cutting time slots. Different candidate nodes have different scores in different flow-cutting time slots. This reflects the scores of all action sets. ={(edge node 1, (edge node 1, ) (edge node 1, ) (edge node 1, ) (Public cloud) ), (Public cloud, ), (Public cloud, ), (Public cloud, (edge node 2, (edge node 2,) (edge node 2,) (edge node 2,) The scores corresponding to each action in the formula are given in Table 5. Substituting the scores of each action into formula (22), the probabilities of all actions can be obtained.
[0243] Table 5 shows the probability of all actions obtained.
[0244]
[0245] The migration scheme corresponding to the highest probability among all actions in the graph is taken as the target migration scheme. As shown in Table 5, the highest probability is 0.277, that is, edge node 1 is taken as the target node, T3 is the target flow cut time slot, and the target migration scheme is obtained.
[0246] S5110, scheduler 405 sends the target node and target flow switching time slot to orchestrator 404. Correspondingly, orchestrator 404 receives the target node and target flow switching time slot.
[0247] In the specific implementation, to avoid passing unexecutable target migration schemes to the execution layer, the real-time resources of the target node are verified immediately after the action is generated. Link constraints If the following conditions are met:
[0248]
[0249] This confirms that the data can be sent to the orchestrator 404. Among other things, The preset resource threshold can be adjusted as needed, for example... , The preset bandwidth threshold can be adjusted as needed, for example... .
[0250] If any condition is not met, then ( If the probability of the action is set to zero, it is normalized again according to the remaining probability and resampled; if the action set is cleared, the "no suitable node" event is output, and the migration orchestrator 404 is transferred to the expansion process.
[0251] Once it is determined that transmission is possible, the scheduler 405 will assign the identifier corresponding to the source node n, Write them together to the migration log and send the migration log to the orchestrator 404.
[0252] S5120, orchestrator 404 performs load migration based on the target node, target cut-off time slot and source node.
[0253] In this embodiment, the experience database continuously receives load migration execution results (including migration success or failure), actual time consumption, link bandwidth, electricity price, and load migration reward value. The scheduler can retrieve these records from the experience database to update the decision parameters of the migration triggering model, thereby improving the accuracy of the migration triggering model.
[0254] For the specific execution method, please refer to step S40, which will not be discussed further here.
[0255] The load migration method provided in this application integrates historical heat accumulation and instantaneous spikes through exponential memory, combined with Logistic function mapping and business priority-specific parameters, such as the memory constant. and attenuation coefficient This approach helps differentiate business priorities during migration, avoiding the problems of critical businesses being mistakenly migrated or low-priority businesses being migrated late. This helps reduce the risk of critical business SLA defaults and allows for rapid resource reallocation to handle tidal loads. Furthermore, the scheduling process is only initiated on the source node whose highest risk coefficient reaches the overheating threshold. The lowest heat risk coefficient, less than or equal to the cold threshold, is obtained from the global node table of the cross-cloud computing pool. Then, through learning decisions, the appropriate migration and its location are determined. This method reduces unnecessary computation and helps reduce the probability of network jitter. The previous stage's reinforcement learning framework, which uses a migration triggering model to determine the migration timing and a graph attention network to determine the target node and target flow switching time slot, enables rapid response in the decision-making process and accurate determination of the migration plan.
[0256] It should be noted that the core technical solutions in the embodiments of this application are illustrated using a single source node load migration scenario as an example, but its technical architecture naturally supports the expansion requirements of parallel migration of multiple source nodes. For scenarios in practical applications where there are multiple source nodes (such as multiple overheated nodes appearing simultaneously in a cross-cloud computing power pool) and all of them need to perform load migration, the load migration method provided in this application can be directly reused for each source node without the need for additional complex adaptation logic.
[0257] Specifically, the migration scheduling of multiple source nodes can be achieved as follows: At the target time, the source nodes that need to be migrated and the candidate nodes to which the load may be migrated are determined from multiple nodes in the cross-cloud computing pool; based on the heat value sequence of each source node at the target time, the heat value sequence of heat value changes, the heat value of the candidate node corresponding to each source node at the target time, and the link bandwidth from the source node to the candidate node, it is determined whether to trigger the migration of each source node in a preset future period. If at least two source nodes among multiple source nodes are triggered to migrate, the target nodes corresponding to each source node to be migrated can be determined from the candidate nodes based on the heat value, real-time electricity price, and link bandwidth of the candidate nodes corresponding to each source node at the target time, and the workload is migrated from the source node to the target node corresponding to the source node.
[0258] This extended implementation does not require complex logical reconstruction by those skilled in the art. It only requires parallel scheduling of tasks and coordination of resource conflicts based on existing modules to quickly adapt to the actual scenario of simultaneous migration of multiple source nodes, fully ensuring the global self-balancing capability and operational reliability of the cross-cloud computing power pool under large-scale tidal loads.
[0259] against Figures 3-8 In addition to the load migration method shown, this application also provides a load migration apparatus for implementing the above-described load migration method.
[0260] See Figure 9The diagram shown is a structural schematic of a load migration device provided in an embodiment of this application. Figure 9 As shown, the device 900 includes:
[0261] The acquisition unit 901 is used to acquire the current resource indicator data of the node at the target time;
[0262] The generation unit 902 is used to generate a current heat value based on the current resource index data; the current heat value is used to describe the overall load status of the node at the target time;
[0263] Mapping unit 903 is used to map the current popularity value to migration risk values under different business levels; the criticality of the business is different under different business levels, and the migration risk values are different under different business levels.
[0264] The determination unit 904 is used to perform load migration based on the migration risk values of the different service levels.
[0265] Optionally, the different service levels include a first service level, a second service level, and a third service level;
[0266] Wherein, the first business level represents a greater degree of business criticality than the second business level, and the second business level represents a greater degree of business criticality than the third business level.
[0267] The step of mapping the current popularity value to migration risk values under different business levels includes:
[0268] The current popularity value is mapped to a migration risk value under the first business level, the current popularity value is mapped to a migration risk value under the second business level, and the current popularity value is mapped to a migration risk value under the third business level.
[0269] Optionally, mapping the current popularity value to migration risk values under different business levels includes:
[0270] Regarding the target service level, the target service level is any one of the different service levels;
[0271] Based on the historical index memory value of the target service level and the current popularity value, the current index memory value of the target service level is determined; the current index memory value is the value obtained by linearly superimposing the historical index memory value and the current popularity value, and the historical index memory value is the index memory value of the target service level determined before the target time.
[0272] The current index memory value is mapped to a migration risk value within a preset range, where the migration risk value within the preset range is the migration risk value of the current popularity value under the target business level.
[0273] Optionally, determining the current index memory value of the target service level based on the historical index memory value of the target service level and the current popularity value includes:
[0274] Obtain the attenuation coefficient of the target service level; the attenuation coefficient of the target service level is used to reflect the degree of attenuation of the historical index memory value, and the attenuation coefficients of different service levels are different;
[0275] The current index memory value is determined based on the attenuation coefficient of the target service level, the historical index memory value, and the current popularity value. The current index memory value is the product of the historical index memory value and the attenuation coefficient of the target service level, and the value obtained by linearly superimposing the current popularity value.
[0276] Optionally, obtaining the attenuation coefficient of the target service level includes:
[0277] Obtain the memory constant of the target service level; wherein the memory constant of the first service level is greater than the memory constant of the second service level, and the memory constant of the second service level is greater than the memory constant of the third service level;
[0278] Based on the memory constant of the target service level, the attenuation coefficient of the target service level is determined; wherein the attenuation coefficient of the target service level has an exponential decay relationship with the memory constant of the target service level.
[0279] Optionally, mapping the current index memory value to a migration risk value within a preset range includes:
[0280] Using the Logistic curve, the current index memory value is mapped to a migration risk value in the range [0,1]; the memory critical threshold of the Logistic curve corresponds to the target business level, and the slope parameter of the Logistic curve corresponds to the target business level.
[0281] Among them, the memory threshold of the first service level is greater than the memory threshold of the second service level, and the memory threshold of the second service level is greater than the memory threshold of the third service level; the slope parameter of the first service level is less than the slope parameter of the second service level, and the slope parameter of the second service level is less than the slope parameter of the third service level.
[0282] Optionally, if the current resource indicator data corresponds to multiple indicators, generating the current popularity value based on the current resource indicator data includes:
[0283] The current indicator data for each indicator is scaled to obtain multiple scaled indicator data.
[0284] Specifically, for any one of multiple indicators as the target indicator: obtain the resource indicator sequence of the target indicator; the resource indicator sequence includes the current indicator data and historical indicator data of the target indicator; the historical indicator data is the indicator data of the target indicator obtained before the target time; and scale the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence.
[0285] The current popularity value is obtained by linearly superimposing the multiple scaled indicator data.
[0286] Optionally, before scaling the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence, the device is further configured to:
[0287] Determine the dynamic quantiles in the resource indicator sequence;
[0288] Based on the dynamic a% quantile and b% quantile, the current indicator data of the target indicator is pruned to obtain the pruned value; where a and b are both positive numbers, and a is less than b;
[0289] The scaling of the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence includes:
[0290] The cropping value is scaled using the maximum and minimum index numbers.
[0291] Optionally, the indicators corresponding to the current resource indicator data include one or more of the following: GPU utilization indicators, CPU utilization indicators, memory usage indicators, request latency indicators, error rate indicators, and I / O saturation indicators.
[0292] In summary, the load migration device provided in this application can obtain the current resource indicator data of a node in a cross-cloud computing pool at a target time, and generate a current heat value based on the current resource indicator data. The current heat value describes the overall load status of the node at the target time; the current heat value is mapped to migration risk values under different business levels; and load migration is performed based on the migration risk values under different business levels. The criticality of services varies across different business levels. This application differentiates between different business levels by converting current resource indicator data into current heat values and mapping them to different migration risk values according to business level. The migration risk value corresponding to a high-criticality business is different from that corresponding to a low-criticality business. Thus, load migration can be performed according to the migration risk value, which can avoid the mis-migration of critical services and reduce the phenomenon of late migration of non-critical services, thereby improving SLA compliance rate.
[0293] According to the method provided in the embodiments of this application, this application also provides a chip system, which includes one or more processors for calling and executing instructions stored in memory, thereby causing the method described in the embodiments of this application to be executed. The chip system may be composed of chips or may include chips and other discrete devices.
[0294] The chip system may include input circuits or interfaces for transmitting information or data, and output circuits or interfaces for receiving information or data.
[0295] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to execute the various steps or processes executed by the network device or terminal device in any of the foregoing method embodiments.
[0296] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when run on a computer, causes the computer to execute the various steps or processes executed by the network device or terminal device in any of the foregoing method embodiments.
[0297] The computer-readable storage medium may be the aforementioned volatile memory or non-volatile memory, or it may include both volatile memory and non-volatile memory.
[0298] In the embodiments of this application, the terms and English abbreviations are exemplary examples given for ease of description and should not be construed as limiting the application in any way. This application does not preclude the possibility of defining other terms that can achieve the same or similar functions in existing or future agreements.
[0299] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated.
[0300] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
Claims
1. A load migration method, characterized in that, The method, applied to nodes across cloud computing pools, includes: Obtain the current resource indicator data of the node at the target time; Based on the current resource indicator data, a current heat value is generated; the current heat value is used to describe the overall load status of the node at the target time. The current popularity value is mapped to a migration risk value under different business levels; wherein, the criticality of the business varies at different business levels, and the migration risk value varies at different business levels. Load migration is performed based on the migration risk values under the different business levels.
2. The method according to claim 1, characterized in that, The different service levels include the first service level, the second service level, and the third service level; Wherein, the first business level represents a greater degree of business criticality than the second business level, and the second business level represents a greater degree of business criticality than the third business level. The step of mapping the current popularity value to migration risk values under different business levels includes: The current popularity value is mapped to a migration risk value under the first business level, the current popularity value is mapped to a migration risk value under the second business level, and the current popularity value is mapped to a migration risk value under the third business level.
3. The method according to claim 1, characterized in that, The step of mapping the current popularity value to migration risk values under different business levels includes: The target service level is any one of the different service levels; Based on the historical index memory value of the target service level and the current popularity value, the current index memory value of the target service level is determined; the current index memory value is the value obtained by linearly superimposing the historical index memory value and the current popularity value, and the historical index memory value is the index memory value of the target service level determined before the target time. The current index memory value is mapped to a migration risk value within a preset range, where the migration risk value within the preset range is the migration risk value of the current popularity value under the target business level.
4. The method according to claim 3, characterized in that, Determining the current index memory value of the target service level based on the historical index memory value of the target service level and the current popularity value includes: Obtain the attenuation coefficient of the target service level; the attenuation coefficient of the target service level is used to reflect the degree of attenuation of the historical index memory value, and the attenuation coefficients of different service levels are different; The current index memory value is determined based on the attenuation coefficient of the target service level, the historical index memory value, and the current popularity value. The current index memory value is the product of the historical index memory value and the attenuation coefficient of the target service level, and the value obtained by linearly superimposing the current popularity value.
5. The method according to claim 4, characterized in that, The step of obtaining the attenuation coefficient of the target service level includes: Obtain the memory constant of the target service level; wherein the memory constant of the first service level is greater than the memory constant of the second service level, and the memory constant of the second service level is greater than the memory constant of the third service level; Based on the memory constant of the target service level, the attenuation coefficient of the target service level is determined; wherein the attenuation coefficient of the target service level has an exponential decay relationship with the memory constant of the target service level.
6. The method according to claim 2, characterized in that, The step of mapping the current index memory value to a migration risk value within a preset range includes: Using the Logistic curve, the current index memory value is mapped to a migration risk value in the range [0,1]; the memory critical threshold of the Logistic curve corresponds to the target business level, and the slope parameter of the Logistic curve corresponds to the target business level. Among them, the memory threshold of the first service level is greater than the memory threshold of the second service level, and the memory threshold of the second service level is greater than the memory threshold of the third service level; the slope parameter of the first service level is less than the slope parameter of the second service level, and the slope parameter of the second service level is less than the slope parameter of the third service level.
7. The method according to claim 1, characterized in that, If the current resource indicator data corresponds to multiple indicators, the step of generating the current popularity value based on the current resource indicator data includes: The current indicator data for each indicator is scaled to obtain multiple scaled indicator data. Specifically, for any one of multiple indicators as the target indicator: obtain the resource indicator sequence of the target indicator; the resource indicator sequence includes the current indicator data and historical indicator data of the target indicator; the historical indicator data is the indicator data of the target indicator obtained before the target time; and scale the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence. The current popularity value is obtained by linearly superimposing the multiple scaled indicator data.
8. The method according to claim 7, characterized in that, Before scaling the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence, the method further includes: Determine the dynamic quantiles in the resource indicator sequence; Based on the dynamic a% quantile and b% quantile, the current indicator data of the target indicator is pruned to obtain the pruned value; where a and b are both positive numbers, and a is less than b; The scaling of the current indicator data of the target indicator using the maximum and minimum number of indicators in the resource indicator sequence includes: The cropping value is scaled using the maximum and minimum index numbers.
9. The method according to claim 1, characterized in that, The metrics corresponding to the current resource metrics data include one or more of the following: GPU utilization metrics, CPU utilization metrics, memory usage metrics, request latency metrics, error rate metrics, and I / O saturation metrics.
10. A load transfer device, characterized in that, A node applied to a cross-cloud computing power pool, the device comprising: The acquisition unit is used to acquire the current resource indicator data of the node at the target time; The generation unit is used to generate a current heat value based on the current resource indicator data; the current heat value is used to describe the overall load status of the node at the target time. The mapping unit is used to map the current popularity value to migration risk values under different business levels; the criticality of the business varies at different business levels, and the migration risk values under different business levels are different. The determination unit is used to perform load migration based on the migration risk value under the different service levels.