Computing power scheduling method and device

By receiving demand requests on the computing power scheduling platform and selecting an appropriate scheduling algorithm for scheduling, the problem of insufficient supply and demand for computing power resources in the existing technology is solved, and a more efficient computing power resource utilization rate is achieved.

CN119149244BActive Publication Date: 2025-03-04XIONGAN GUOCHUANG CENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411614203.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-13
Publication Date
2025-03-04
Estimated Expiration
2044-11-13

AI Technical Summary

Technical Problem

The existing technology is difficult to effectively dispatch computing resources, resulting in a shortage of computing resources, especially in high demand areas such as big data and artificial intelligence.

Method used

A computing power scheduling method and device are provided. By receiving scheduling requests from the computing power demand side, and selecting appropriate scheduling algorithms (such as user experience priority, resource utilization priority, distance priority) for scheduling based on predetermined matching rules to optimize the allocation of computing power resources.

Benefits of technology

Through more effective computing power scheduling, the utilization rate of computing power resources is improved, and the needs of computing power demand can be better met, especially in high-performance computing and intelligent processing scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119149244B_ABST
    Figure CN119149244B_ABST
Patent Text Reader

Abstract

The present invention provides a computing power scheduling method and device, which relates to the technical field of computing power scheduling. The method includes: receiving a computing power scheduling request from a computing power demand side, determining a target scheduling algorithm that matches the computing power scheduling request from an alternative scheduling algorithm based on a predetermined matching rule, and scheduling computing power resources on a computing power supply side based on the target scheduling algorithm and the computing power scheduling request. In this way, computing power can be more effectively scheduled and the utilization rate of computing power can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computing power scheduling technology, and in particular to a computing power scheduling method and device. Background Art

[0002] As the core driving force for the digital and intelligent transformation of my country and even the world, the construction and popularization of intelligent computing platforms have undoubtedly laid a solid foundation for the development of the economy and society. However, while enjoying the unprecedented computing power and efficiency improvement it brings, we must also face up to the multi-dimensional problems and severe challenges exposed in its rapid development. The following is a detailed analysis from the aspects of computing power resources, energy consumption, technical complexity, ecosystem, data security and privacy.

[0003] With the rapid development of technologies such as big data, artificial intelligence (AI), and the Internet of Things (IoT), the global demand for computing resources continues to surge. This demand is not only reflected in quantity, but also in the requirements for high-performance computing and intelligent processing. However, the existing computing power supply has not been able to fully meet the rapidly growing demand, resulting in a shortage of computing power resources.

[0004] The training and reasoning of large-scale AI models require strong computing power support. For example, model training tasks in the field of deep learning usually require processing huge data sets and repeated calculations. These tasks require very high performance of computing devices, especially dedicated chips such as GPUs and TPUs. With the increase in algorithm complexity, especially with the development of multimodal and generative models (such as GPT-4, DALL-E, etc.), the demand for computing power has grown exponentially. Although China has optimized the regional allocation of computing resources through policy measures such as the "East Data West Computing" project, it is still difficult to completely solve the problem of computing power shortage across the country.

[0005] The uneven distribution of computing resources is an urgent problem to be solved. Although China has built a number of high-performance data centers in the eastern region, these centers are facing huge pressure from computing power demand. The western region is more suitable for building large data centers and intelligent computing centers due to its rich resources and suitable climatic conditions, but its computing power utilization has not yet been fully utilized. Summary of the invention

[0006] In view of this, an object of the present invention is to provide a computing power scheduling method and device, which can schedule computing power more effectively and improve the utilization rate of computing power.

[0007] In order to achieve the above purpose, the technical solution adopted by the embodiment of the present invention is as follows:

[0008] In a first aspect, an embodiment of the present invention provides a computing power scheduling method, which is applied to a computing power scheduling platform, and the computing power scheduling platform is used to schedule computing power resources on the computing power supply side so as to provide computing power services for the computing power demand side. The method includes: receiving a computing power scheduling request from the computing power demand side, the computing power scheduling request including the demand for computing power resources and the identifier of the business application and the business type identifier; based on a predetermined matching rule, determining a target scheduling algorithm that matches the computing power scheduling request in the alternative scheduling algorithms, the alternative scheduling algorithms including one or more of the following algorithms: a user experience priority scheduling algorithm, a resource utilization priority scheduling algorithm, and a distance priority scheduling algorithm; based on a predetermined matching rule, determining a target scheduling algorithm that matches the computing power scheduling request in the alternative scheduling algorithms including: based on historical traffic load changes, performing multi-model adaptive traffic prediction to obtain a traffic prediction result at the current moment; based on the traffic prediction result at the current moment and the matching rule, determining a target scheduling algorithm that matches the computing power scheduling request in the alternative scheduling algorithms; scheduling the computing power resources on the computing power supply side based on the target scheduling algorithm and the computing power scheduling request.

[0009] In some possible implementations, the user experience priority scheduling algorithm is applied to scenarios with high requirements on response time and service quality; the user experience priority scheduling algorithm is determined based on the following formula:

[0010]

[0011] Among them, Priority (R i ) indicates a request R i The priority of T(R i ) is the request R i The shorter the response time, the higher the priority, thus ensuring that key tasks receive a quick response;

[0012] The resource utilization priority scheduling algorithm aims to maximize the efficiency of resource utilization and is suitable for scenarios that require balanced system resource allocation. The formula for the resource utilization priority scheduling algorithm is:

[0013]

[0014] Among them, U(N j ) is node N j Resource utilization, C(N j ) is the amount of resources allocated to the current node, T(N j ) is the total resource capacity of the node; U(N j ) The smallest node performs task scheduling to maximize resource utilization;

[0015] The distance priority scheduling algorithm is based on the physical or network distance between the request task and the resource node. This algorithm is suitable for distributed network environments and can effectively reduce latency and improve service response speed. The formula of the distance priority scheduling algorithm is:

[0016]

[0017] Among them, D(R i ,N j ) indicates a request R i With node N j The smaller the distance, the higher the priority, ensuring that the task is assigned to the nearest available node.

[0018] In some possible implementations, based on historical traffic load changes, multi-model adaptive traffic prediction is performed to obtain the traffic prediction result at the current moment, including:

[0019] Based on the pre-trained prediction model, multi-model adaptive traffic prediction is performed according to the historical traffic load changes to obtain the traffic prediction results at the current moment;

[0020] Among them, the prediction model includes an embedding layer, a decomposition module and a temporal dependency discovery module; the decomposition module includes a seasonal trend decomposition module and a frequency decomposition module; the temporal dependency discovery module includes frequency adaptive attention and aligned frequency attention; the encoder consists of a frequency decomposition module and an FAA; the input time series is first decomposed into high-frequency and low-frequency components by the frequency decomposition module; before the data enters the decoder, it will undergo seasonal trend decomposition to extract the trend and seasonal parts; the second half of the trend and seasonal parts are used as the input model to provide recent historical information; the decoder combines FAA, frequency decomposition module and AFA; these components extract low-frequency components and combine them with the trend part, and the high-frequency components that remove the influence of the low-frequency components are input into the AFA module together with the high-frequency components aligned in the encoder to capture the temporal dependency, and the final output of the prediction model is the superposition of low-frequency components and high-frequency components.

[0021] In some possible implementations, the traffic prediction result at the current moment includes prediction results of multiple prediction windows at the current moment.

[0022] In some possible implementations, the historical traffic load changes include the historical traffic load changes corresponding to the identifiers of the service applications and the service type identifiers, and the historical traffic load changes of the entire system.

[0023] In some possible implementations, computing resources include system resources and system resources outside the system. System resources outside the system include third-party cloud computing resources. When system resources cannot meet demand, external system resources are called to supplement computing power.

[0024] In the second aspect, a computing power scheduling device is provided. Applied to a computing power scheduling platform, the computing power scheduling platform is used to schedule computing power resources on the computing power supply side so as to provide computing power services for the computing power demand side, and the device includes:

[0025] A receiving module, used to receive a computing power scheduling request from a computing power demand side, where the computing power scheduling request includes the demand for computing power resources, an identifier of a business application, and an identifier of a business type;

[0026] A matching module is used to determine a target scheduling algorithm that matches the computing power scheduling request from among the alternative scheduling algorithms based on a predetermined matching rule, wherein the alternative scheduling algorithms include one or more of the following algorithms: a user experience priority scheduling algorithm, a resource utilization priority scheduling algorithm, and a distance priority scheduling algorithm; the matching module is specifically used to: perform multi-model adaptive traffic prediction based on historical traffic load changes to obtain a traffic prediction result at the current moment; determine a target scheduling algorithm that matches the computing power scheduling request from among the alternative scheduling algorithms based on the traffic prediction result at the current moment and the matching rule;

[0027] The scheduling module is used to schedule the computing resources on the computing power supply side based on the target scheduling algorithm and computing power scheduling requests.

[0028] In a third aspect, an embodiment of the present invention provides an electronic device, including a processor and a memory, wherein the memory stores computer-executable instructions that can be executed by the processor, and the processor executes the computer-executable instructions to implement the steps of any one of the methods provided in the first aspect above.

[0029] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of any one of the methods provided in the first aspect are executed.

[0030] The embodiments of the present invention bring the following beneficial effects:

[0031] The computing power scheduling method and device provided by the embodiment of the present invention receives a computing power scheduling request from the computing power demand side, determines a target scheduling algorithm that matches the computing power scheduling request from the alternative scheduling algorithms based on a predetermined matching rule, and schedules the computing power resources on the computing power supply side based on the target scheduling algorithm and the computing power scheduling request. In this way, computing power can be more effectively scheduled and the utilization rate of computing power can be improved.

[0032] Other features and advantages of the present invention will be described in the following description, and partly become apparent from the description, or understood by practicing the present invention. The purpose and other advantages of the present invention are realized and obtained by the structures particularly pointed out in the description, claims and drawings.

[0033] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0035] Figure 1 A flowchart of a computing power scheduling method provided by an embodiment of the present invention;

[0036] Figure 2 A schematic diagram of a computing power scheduling process provided by an embodiment of the present invention;

[0037] Figure 3 A schematic diagram of the structure of a prediction model provided by an embodiment of the present invention;

[0038] Figure 4 A schematic diagram of the structure of a computing power scheduling device provided by an embodiment of the present invention;

[0039] Figure 5 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0041] Currently, the uneven distribution of computing resources is an urgent problem to be solved. Although China has built a number of high-performance data centers in the eastern region, these centers are facing huge pressure from computing power demand. The western region is more suitable for building large data centers and intelligent computing centers due to its rich resources and suitable climatic conditions, but its computing power utilization has not yet been fully utilized.

[0042] Based on this, a computing power scheduling method and device provided in an embodiment of the present invention can schedule computing power more effectively and improve the utilization rate of computing power.

[0043] To facilitate understanding of this embodiment, a computing power scheduling method disclosed in an embodiment of the present invention is first introduced in detail, and the method can be executed by an electronic device. Figure 1 The flowchart of a computing power scheduling method shown is applied to a computing power scheduling platform. The computing power scheduling platform is used to schedule computing power resources on the computing power supply side so as to provide computing power services for the computing power demand side. The method mainly includes the following steps S110 to S130:

[0044] Step S110, receiving a computing power scheduling request from a computing power demand side, where the computing power scheduling request includes the demand for computing power resources, an identifier of a business application, and an identifier of a business type.

[0045] For example, Figure 2 As shown, the data of the demand for computing resources can also be obtained from the user request, including parameters such as resource location, memory size, bandwidth, CPU and GPU. The user request here can refer to the computing resource scheduling request from the computing resource demand side.

[0046] The business application identifier here can be an APP identifier, a service identifier, a microservice identifier, etc. The business type identifier can include deep learning model training tasks, live broadcast, on-demand, and download, etc.

[0047] The identifier of the service application and the identifier of the service type are carried in the computing power scheduling request.

[0048] In some embodiments, the user's task request can be scheduled to a suitable resource pool location through algorithms such as A2SC (a priority scheduling algorithm).

[0049] The computing power supply side includes multiple computing resource pools, such as Figure 2 Resource pools A and B are shown in the figure. Each resource pool has different virtual queues and data queues, which are used to process virtual tasks and actual data requests respectively. These virtual queues are used to store abstract task requests, while data queues store actual data and computing resources related to user requests.

[0050] When a user initiates a request, it first enters the virtual queue, and decides how to allocate the task to the appropriate data queue for further processing based on the state of the resource pool. The information in the data queue includes not only the data itself, but also the actual computing resources required for the task, such as bandwidth, memory size, etc. In this way, the module can dynamically respond to user requests, ensuring that the efficiency of resource allocation is optimized while meeting task requirements.

[0051] When a user initiates a task request through the client, he or she can obtain various key information from it. This information may include the specific type of task, the required execution time, the size of the input data, and the requirements for computing performance. This information can be carried in the computing power scheduling request for resource requests. In addition, the user may also provide the execution environment of the task (such as a Docker image or a virtual machine configuration). By parsing this information, the user's task intent can be understood and the specific requirements of the task can be preliminarily classified. For example, a deep learning model training task may require a high-performance GPU, sufficient memory, and bandwidth resources; at the same time, containerized tasks will also consider resource isolation in the Docker environment, and this classification can be applied to subsequent resource scheduling.

[0052] Step S120, based on a predetermined matching rule, determine a target scheduling algorithm that matches the computing power scheduling request from the alternative scheduling algorithms, the alternative scheduling algorithms include one or more of the following algorithms: user experience priority scheduling algorithm, resource utilization priority scheduling algorithm, and distance priority scheduling algorithm.

[0053] This solution is compatible with and can handle different types of real-time scheduling requests, such as live broadcast, on-demand, and download. These requests have significant differences in real-time requirements, so a flexible scheduling mechanism is used to ensure that each type of request is met under appropriate resource conditions. By dynamically changing the scheduling algorithm, the optimal algorithm and scheduling strategy are selected according to the real-time requirements of specific tasks, improving the resource utilization efficiency of the system and optimizing the user experience.

[0054] For live broadcast requests, extremely high real-time requirements are placed on them. Live broadcast content must be transmitted with millisecond-level delays to ensure that users can experience a smooth live broadcast process without any lag. Therefore, when processing live broadcast requests, the system will give priority to scheduling algorithms that can provide low latency and high bandwidth to ensure that computing resources and network resources can respond in real time to meet the high real-time requirements of live broadcasts.

[0055] VOD requests have relatively low requirements for real-time performance. According to the size of the VOD content, the user's network status, and bandwidth allocation, the cache strategy and resource scheduling strategy are adjusted to effectively optimize resource utilization while ensuring smooth playback.

[0056] Download requests have the lowest real-time requirements, and the core lies in the stability and speed of the task. Users usually have a long waiting time when downloading tasks. When processing such requests, a more relaxed scheduling algorithm can be used to prioritize more resources to tasks with higher real-time requirements, while the download task can run stably in the background. In this way, most real-time scheduling requests can be compatible, and the algorithm can be dynamically changed according to the real-time requirements of different requests.

[0057] In the embodiment of the present application, the user experience priority scheduling algorithm is applied to the scenario with high requirements on response time and service quality; the user experience priority scheduling algorithm is determined based on the following formula:

[0058]

[0059] Among them, Priority (R i ) indicates a request R i The priority of T(R i ) is the request R i response time; the shorter the response time, the higher the priority, thus ensuring that critical tasks receive a quick response.

[0060] The resource utilization priority scheduling algorithm aims to maximize the efficiency of resource utilization and is suitable for scenarios that require balanced system resource allocation. The formula for the resource utilization priority scheduling algorithm is:

[0061]

[0062] Among them, U(N j ) is node N j Resource utilization, C(N j ) is the amount of resources allocated to the current node, T(N j ) is the total resource capacity of the node; U(N j ) to schedule tasks based on the smallest node, thereby maximizing resource utilization.

[0063] The distance priority scheduling algorithm is based on the physical or network distance between the request task and the resource node. This algorithm is suitable for distributed network environments and can effectively reduce latency and improve service response speed. The formula of the distance priority scheduling algorithm is:

[0064]

[0065] Among them, D(R i ,N j ) indicates a request R i With node N j The smaller the distance, the higher the priority, ensuring that the task is assigned to the nearest available node.

[0066] Step S130, scheduling the computing power resources on the computing power supply side based on the target scheduling algorithm and the computing power scheduling request.

[0067] In some embodiments, based on predetermined matching rules, determining a target scheduling algorithm that matches a computing power scheduling request in alternative scheduling algorithms includes: performing multi-model adaptive traffic prediction based on historical traffic load changes to obtain a traffic prediction result at the current moment; based on the traffic prediction result at the current moment and matching rules, determining a target scheduling algorithm that matches a computing power scheduling request in alternative scheduling algorithms.

[0068] Among them, based on the historical traffic load changes, multi-model adaptive traffic prediction is performed to obtain the traffic prediction result at the current moment, including: based on the pre-trained prediction model, according to the historical traffic load changes, multi-model adaptive traffic prediction is performed to obtain the traffic prediction result at the current moment; the prediction model includes an embedding layer, a decomposition module and a temporal dependency discovery module; the decomposition module includes a seasonal trend decomposition module and a frequency decomposition module; the temporal dependency discovery module includes a frequency adaptive attention and an aligned frequency attention; the encoder consists of a frequency decomposition module and an FAA; the input time series is first decomposed into high-frequency and low-frequency components by the frequency decomposition module; before the data enters the decoder, it will undergo seasonal trend decomposition to extract the trend and seasonal parts; the second half of the trend and seasonal parts are used as the input model to provide recent historical information; the decoder combines FAA, frequency decomposition module and AFA; these components extract low-frequency components and combine them with the trend part, and the high-frequency components without the influence of the low-frequency components are input into the AFA module together with the high-frequency components aligned in the encoder to capture the temporal dependency, and the final output of the prediction model is the superposition of low-frequency components and high-frequency components.

[0069] As an example, Figure 3 As shown in the figure, the input of the prediction model is time series data such as server traffic and latency; the output is the traffic prediction trend at future moments.

[0070] The prediction model focuses on the traffic and latency prediction of a single server. The server's time series may drift and be inconsistent due to business switching, new business addition, etc. The prediction model can extract server traffic, latency and other time series data as input to provide the model with a global data perspective, and then extract and fuse similar fluctuation patterns from the global pattern to output the traffic prediction trend at future moments.

[0071] The prediction models all perform long-term predictions to short-term predictions for traffic, latency and other prediction tasks in complex network scenarios. Various prediction windows include: short-term predictions for 24 points in the future (next day), medium- and long-term predictions for 72 points in the future (next 3 days), long-term predictions for 168 points in the future (next week), and long-term predictions for 336 points in the future (next 2 weeks).

[0072] The current traffic forecast results here include the forecast results of various forecast windows at the current moment. For example, the forecast model can perform long-term forecasts to short-term forecasts for forecast tasks such as traffic and latency in complex network scenarios. Various forecast windows include: short-term forecasts for 24 points in the future (next day), medium- and long-term forecasts for 72 points in the future (next 3 days), long-term forecasts for 168 points in the future (next week), and long-term forecasts for 336 points in the future (next 2 weeks).

[0073] Specifically, the prediction model is constructed into three main parts: embedding layer, decomposition module and temporal dependency discovery module. The decomposition module includes seasonal trend decomposition module and frequency decomposition module. The temporal dependency discovery module includes frequency adaptive attention (FAA) and alignment frequency attention (AFA).

[0074] The encoder consists of a frequency decomposition module and FAA. The input time series is first decomposed into high-frequency and low-frequency components by the frequency decomposition module. Since the low-frequency component contains a single periodic pattern, there is no need to perform too much temporal dependency learning in the encoder. The high-frequency component has more fluctuations, and the encoder uses FAA to discover its temporal dependency and inputs the learned latent variables into the decoder for guidance. This decomposition design allows the encoder to focus on discovering periodic patterns in high-frequency components.

[0075] Before the data enters the decoder, it undergoes seasonal trend decomposition to extract the trend and seasonal parts. The second half of the trend and seasonal parts are input into the model as Start Token, providing recent historical information. In order to achieve multi-step prediction, this article uses placeholders to hold the part to be predicted. The decoder of the self-developed model combines FAA, frequency decomposition module and AFA. These components extract low-frequency components and combine them with the trend part. At the same time, the high-frequency components that remove the influence of low-frequency components are input into the AFA module together with the high-frequency components aligned in the encoder to capture timing dependencies. The final output of the model is the superposition of low-frequency components and high-frequency components, which enhances the interpretability of the model.

[0076] This module supports the prediction accuracy testing of multiple models under the indicator Mean Absolute Percent Error (MAPE).

[0077] MAPE is a commonly used indicator for evaluating the accuracy of prediction models. Its calculation formula is as follows:

[0078]

[0079] in: n is the total number of time windows. A t It is t The actual value at a time point. F t It is t The predicted value at a time point.

[0080] MAPE measures the accuracy of the forecast model by calculating the absolute percentage error between the actual value and the predicted value and taking the average of these errors. The specific steps are as follows: For each time point t , calculate the actual value A t and predicted values F t The absolute error percentage between . Sum the absolute percentage errors for all time points. Divide the sum by the total number of time windows n , and get the mean absolute percentage error. The advantage of MAPE is its intuitiveness, because it expresses the error size in the form of percentage, which is easy to understand and compare.

[0081] The specific module technical indicators are as follows: with the granularity of hours, the MAPE accuracy for short-term predictions, i.e., 24 points in the future (the next day), is not less than 90%; with the granularity of hours, the MAPE accuracy for medium- and long-term predictions, i.e., 72 points in the future (the next 3 days), is not less than 85%; with the granularity of hours, the MAPE accuracy for long-term predictions of 168 points in the future (the next week), is not less than 80%; with the granularity of hours, the MAPE accuracy for long-term predictions of 336 points in the future (the next 2 weeks), is not less than 75%.

[0082] The historical traffic load changes here include the historical traffic load changes corresponding to the business application identifier and the business type identifier, as well as the historical traffic load changes of the entire system. Based on the traffic prediction results at the current moment and the matching rules, the target scheduling algorithm that matches the computing power scheduling request is determined in the alternative scheduling algorithms. The matching rules here can be the correspondence between the pre-defined traffic load and the alternative scheduling algorithm.

[0083] For example, matching rules may include:

[0084] When it is predicted that traffic will increase significantly or reach a peak in a short period of time in the future (such as the next time window), scheduling algorithms that can respond quickly and allocate additional computing resources are preferred, such as priority-based scheduling algorithms or dynamic resource allocation algorithms.

[0085] If the forecast shows that the traffic will remain relatively stable for a period of time in the future, you can choose algorithms that perform better under stable workloads, such as static allocation algorithms or polling-based scheduling algorithms. For different types of traffic (for example, real-time transactions, batch jobs, etc.), choose the scheduling algorithm that best suits the characteristics of that type of traffic. For example, for traffic with high real-time requirements, choose a scheduling algorithm that minimizes latency; for batch jobs, choose an algorithm that maximizes throughput.

[0086] Considering the current system resource usage, if the system resource utilization is low, a more aggressive resource allocation strategy can be adopted to improve resource utilization; conversely, if the resources are close to full load, a conservative scheduling strategy tends to be selected to ensure service quality.

[0087] Taking into account traffic forecasts, resource costs, and expected service level agreements (SLAs), a scheduling algorithm is selected that minimizes costs while meeting SLAs.

[0088] Of course, the above traffic load can also be matched with the above three algorithms defined by the alternative scheduling algorithms, namely, the user experience priority scheduling algorithm, the resource utilization priority scheduling algorithm and the distance priority scheduling algorithm.

[0089] For example, matching rules may include:

[0090] When it is predicted that the traffic will increase significantly or reach a peak in a short period of time in the future (such as the next time window), the resource utilization priority scheduling algorithm is selected.

[0091] If the forecast shows that traffic will remain relatively stable over the next period of time, you can choose algorithms that perform better under stable workloads, such as static allocation algorithms or polling-based scheduling algorithms. For different types of traffic (for example, real-time transactions, batch jobs, etc.), choose the scheduling algorithm that best suits the characteristics of that type of traffic. For example, for traffic with high real-time requirements, choose the user experience priority scheduling algorithm; for batch jobs, choose the resource utilization priority scheduling algorithm.

[0092] Considering the current system resource usage, if the system resource utilization is low, the resource utilization priority scheduling algorithm can be adopted; conversely, if the resources are close to full load, the distance priority scheduling algorithm is selected.

[0093] In some embodiments, computing power resources include resources within the system and resources outside the system. Resources outside the system include third-party cloud computing resources. When resources within the system cannot meet demand, external resources outside the system are called to supplement computing power.

[0094] The embodiment of the present invention receives a computing power scheduling request from the computing power demand side, determines a target scheduling algorithm that matches the computing power scheduling request from the alternative scheduling algorithms based on a predetermined matching rule, and schedules the computing power resources on the computing power supply side based on the target scheduling algorithm and the computing power scheduling request. In this way, computing power can be more effectively scheduled and the utilization rate of computing power can be improved.

[0095] Figure 4 A schematic diagram of the structure of a computing power scheduling device provided in an embodiment of the present application is shown in FIG. Figure 4 As shown, it is applied to a computing power scheduling platform, which is used to schedule computing power resources on the computing power supply side to provide computing power services for the computing power demand side. The device includes:

[0096] The receiving module 401 is used to receive a computing power scheduling request from a computing power demand side, where the computing power scheduling request includes the demand for computing power resources, an identifier of a business application, and an identifier of a business type;

[0097] A matching module 402 is used to determine a target scheduling algorithm that matches the computing power scheduling request from the candidate scheduling algorithms based on a predetermined matching rule, where the candidate scheduling algorithms include one or more of the following algorithms: a user experience priority scheduling algorithm, a resource utilization priority scheduling algorithm, and a distance priority scheduling algorithm;

[0098] The scheduling module 403 is used to schedule the computing power resources on the computing power supply side based on the target scheduling algorithm and the computing power scheduling request.

[0099] In some embodiments, the user experience priority scheduling algorithm is applied to scenarios with high requirements on response time and service quality; the user experience priority scheduling algorithm is determined based on the following formula:

[0100]

[0101] Among them, Priority (R i ) indicates a request R i The priority of T(R i ) is the request R i The shorter the response time, the higher the priority, thus ensuring that key tasks receive a quick response;

[0102] The resource utilization priority scheduling algorithm aims to maximize the efficiency of resource utilization and is suitable for scenarios that require balanced system resource allocation. The formula for the resource utilization priority scheduling algorithm is:

[0103]

[0104] Among them, U(N j ) is node N jResource utilization, C(N j ) is the amount of resources allocated to the current node, T(N j ) is the total resource capacity of the node; U(N j ) The smallest node performs task scheduling to maximize resource utilization;

[0105] The distance priority scheduling algorithm is based on the physical or network distance between the request task and the resource node. This algorithm is suitable for distributed network environments and can effectively reduce latency and improve service response speed. The formula of the distance priority scheduling algorithm is:

[0106]

[0107] Among them, D(R i ,N j ) indicates a request R i With node N j The smaller the distance, the higher the priority, ensuring that the task is assigned to the nearest available node.

[0108] In some embodiments, the matching module is specifically used to:

[0109] Based on historical traffic load changes, multi-model adaptive traffic prediction is performed to obtain the current traffic prediction result;

[0110] Based on the traffic prediction results at the current moment and the matching rules, a target scheduling algorithm that matches the computing power scheduling request is determined from the alternative scheduling algorithms.

[0111] In some embodiments, the matching module is specifically used to:

[0112] Based on the pre-trained prediction model, multi-model adaptive traffic prediction is performed according to the historical traffic load changes to obtain the traffic prediction results at the current moment;

[0113] Among them, the prediction model includes an embedding layer, a decomposition module and a temporal dependency discovery module; the decomposition module includes a seasonal trend decomposition module and a frequency decomposition module; the temporal dependency discovery module includes frequency adaptive attention and aligned frequency attention; the encoder consists of a frequency decomposition module and an FAA; the input time series is first decomposed into high-frequency and low-frequency components by the frequency decomposition module; before the data enters the decoder, it will undergo seasonal trend decomposition to extract the trend and seasonal parts; the second half of the trend and seasonal parts are used as the input model to provide recent historical information; the decoder combines FAA, frequency decomposition module and AFA; these components extract low-frequency components and combine them with the trend part, and the high-frequency components that remove the influence of the low-frequency components are input into the AFA module together with the high-frequency components aligned in the encoder to capture the temporal dependency, and the final output of the prediction model is the superposition of low-frequency components and high-frequency components.

[0114] In some embodiments, the traffic prediction result at the current moment includes prediction results of multiple prediction windows at the current moment.

[0115] In some embodiments, the historical traffic load changes include the historical traffic load changes corresponding to the identifier of the service application and the service type identifier, and the historical traffic load changes of the entire system.

[0116] In some embodiments, computing power resources include resources within the system and resources outside the system. Resources outside the system include third-party cloud computing resources. When resources within the system cannot meet demand, external resources outside the system are called to supplement computing power.

[0117] The device provided in the embodiment of the present invention has the same implementation principle and technical effects as those of the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference may be made to the corresponding contents in the aforementioned method embodiment.

[0118] It should be noted that the specific numerical values ​​provided in the implementation of the present invention are only exemplary and are not limited here.

[0119] An embodiment of the present invention further provides an electronic device. Specifically, the electronic device includes a processor and a storage device. The storage device stores a computer program, and when the computer program is executed by the processor, it executes the method described in any one of the above implementation methods.

[0120] Figure 5 A structural diagram of an electronic device provided in an embodiment of the present invention, the electronic device 100 includes: a processor 50, a memory 51, a bus 52 and a communication interface 53, wherein the processor 50, the communication interface 53 and the memory 51 are connected via the bus 52; the processor 50 is used to execute an executable module stored in the memory 51, such as a computer program.

[0121] The memory 51 may include a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory. The communication connection between the system network element and at least one other network element is realized through at least one communication interface 53 (which may be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. may be used.

[0122] The bus 52 may be an ISA bus, a PCI bus, or an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 5 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0123] Among them, the memory 51 is used to store programs, and the processor 50 executes the program after receiving the execution instruction. The method executed by the device for flow process definition disclosed in any embodiment of the above-mentioned embodiment of the present invention can be applied to the processor 50 or implemented by the processor 50.

[0124] The processor 50 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 50. The above processor 50 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiments of the present invention can be directly embodied as a hardware decoding processor to be executed, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 51, and the processor 50 reads the information in the memory 51 and completes the steps of the above method in combination with its hardware.

[0125] The computer program product of the readable storage medium provided in the embodiment of the present invention includes a computer-readable storage medium storing program code, and the instructions included in the program code can be used to execute the methods described in the previous method embodiments. The specific implementation can be referred to the previous method embodiments, which will not be repeated here.

[0126] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc., which can store program codes.

[0127] Finally, it should be noted that the above-described embodiments are only specific implementations of the present invention, which are used to illustrate the technical solutions of the present invention, rather than to limit them. The protection scope of the present invention is not limited thereto. Although the present invention is described in detail with reference to the above-mentioned embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-mentioned embodiments within the technical scope disclosed by the present invention, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.

Claims

1. A computing power scheduling method, characterized in that: Applied to a computing power scheduling platform, the computing power scheduling platform is used to schedule computing power resources on the computing power supply side so as to provide computing power services for the computing power demand side, the method includes: Receive a computing power scheduling request from a computing power demand side, where the computing power scheduling request includes a demand for computing power resources, an identifier of a business application, and an identifier of a business type; Based on a predetermined matching rule, a target scheduling algorithm matching the computing power scheduling request is determined in the alternative scheduling algorithms, and the alternative scheduling algorithms include the following algorithms: user experience priority scheduling algorithm, resource utilization priority scheduling algorithm, distance priority scheduling algorithm, static allocation algorithm, and polling-based scheduling algorithm; Based on the predetermined matching rule, the target scheduling algorithm matching the computing power scheduling request in the alternative scheduling algorithms is determined to include: based on historical traffic load changes, multi-model adaptive traffic prediction is performed to obtain the traffic prediction result at the current moment; based on the traffic prediction result at the current moment and the matching rule, the target scheduling algorithm matching the computing power scheduling request is determined in the alternative scheduling algorithms; Scheduling the computing power resources of the computing power supply side based on the target scheduling algorithm and the computing power scheduling request; The user experience priority scheduling algorithm is applied to scenarios with high requirements on response time and service quality; the user experience priority scheduling algorithm is determined based on the following formula: Among them, Priority (R i ) indicates a request R i The priority of T(R i ) is the request R i The shorter the response time, the higher the priority, thus ensuring that key tasks receive a quick response; The resource utilization priority scheduling algorithm aims to maximize the efficiency of resource use and is suitable for scenarios that require balanced system resource allocation. The formula of the resource utilization priority scheduling algorithm is: Among them, U(N j ) is node N j Resource utilization, C(N j ) is the amount of resources allocated to the current node, T(N j ) is the total resource capacity of the node; U(N j ) The smallest node performs task scheduling to maximize resource utilization; The distance priority scheduling algorithm is based on the physical or network distance between the request task and the resource node. The algorithm is suitable for distributed network environments and can effectively reduce delays and improve service response speed. The formula of the distance priority scheduling algorithm is: Among them, D(R i ,N j ) indicates a request R i With node N j The smaller the distance, the higher the priority, ensuring that the task is assigned to the nearest available node; The matching rules include: when it is predicted that the traffic will increase significantly or reach a peak in a short period of time in the future, a resource utilization priority scheduling algorithm is selected; if the prediction shows that the traffic will remain relatively stable in the future, an algorithm that performs better under a stable workload is selected, including a static allocation algorithm or a polling-based scheduling algorithm; for different types of traffic, a scheduling algorithm that best suits the characteristics of this type of traffic is selected, and for traffic with high real-time requirements, a user experience priority scheduling algorithm is selected; for batch jobs, a resource utilization priority scheduling algorithm is selected; if the system resource utilization is low, a resource utilization priority scheduling algorithm is adopted; conversely, if the resources are close to full load, a distance priority scheduling algorithm is selected.

2. The method according to claim 1, characterized in that The multi-model adaptive traffic prediction is performed based on the historical traffic load changes to obtain the traffic prediction result at the current moment, including: Based on the pre-trained prediction model, multi-model adaptive traffic prediction is performed according to the historical traffic load changes to obtain the current traffic prediction results; Among them, the prediction model includes an embedding layer, a decomposition module and a temporal dependency discovery module; the decomposition module includes a seasonal trend decomposition module and a frequency decomposition module; the temporal dependency discovery module includes frequency adaptive attention and aligned frequency attention; the encoder consists of a frequency decomposition module and an FAA; the input time series is first decomposed into high-frequency and low-frequency components by the frequency decomposition module; before the data enters the decoder, it will undergo seasonal trend decomposition to extract the trend and seasonal parts; the second half of the trend and seasonal parts are used as the input model to provide recent historical information; the decoder combines FAA, frequency decomposition module and AFA; these components extract low-frequency components and combine them with the trend part, and the high-frequency components without the influence of the low-frequency components are input into the AFA module together with the high-frequency components aligned in the encoder to capture the temporal dependency, and the final output of the prediction model is the superposition of low-frequency components and high-frequency components.

3. The method according to claim 2, characterized in that The traffic prediction result at the current moment includes prediction results of multiple prediction windows at the current moment.

4. The method according to claim 1, characterized in that: The historical traffic load changes include the historical traffic load changes corresponding to the identifier of the service application and the service type identifier, and the historical traffic load changes of the entire system.

5. The method according to claim 1, characterized in that: The computing power resources include resources within the system and resources outside the system. The resources outside the system include third-party cloud computing resources. When the resources within the system cannot meet the demand, external resources outside the system are called to supplement the computing power.

6. A computing power scheduling device, characterized in that: Applied to a computing power scheduling platform, the computing power scheduling platform is used to schedule computing power resources on the computing power supply side so as to provide computing power services for the computing power demand side, the device includes: A receiving module, configured to receive a computing power scheduling request from a computing power demand side, wherein the computing power scheduling request includes a demand for computing power resources, an identifier of a business application, and an identifier of a business type; A matching module, used to determine a target scheduling algorithm that matches the computing power scheduling request from among the alternative scheduling algorithms based on a predetermined matching rule, wherein the alternative scheduling algorithms include the following algorithms: a user experience priority scheduling algorithm, a resource utilization priority scheduling algorithm, a distance priority scheduling algorithm, a static allocation algorithm, and a polling-based scheduling algorithm; the matching module is specifically used to: perform multi-model adaptive traffic prediction based on historical traffic load changes to obtain a traffic prediction result at the current moment; determine a target scheduling algorithm that matches the computing power scheduling request from among the alternative scheduling algorithms based on the traffic prediction result at the current moment and the matching rule; A scheduling module, used to schedule the computing power resources of the computing power supply side based on the target scheduling algorithm and the computing power scheduling request; The user experience priority scheduling algorithm is applied to scenarios with high requirements on response time and service quality; the user experience priority scheduling algorithm is determined based on the following formula: Among them, Priority (R i ) indicates a request R i The priority of T(R i ) is the request R i The shorter the response time, the higher the priority, thus ensuring that key tasks receive a quick response; The resource utilization priority scheduling algorithm aims to maximize the efficiency of resource use and is suitable for scenarios that require balanced system resource allocation. The formula of the resource utilization priority scheduling algorithm is: Among them, U(N j ) is node N j Resource utilization, C(N j ) is the amount of resources allocated to the current node, T(N j ) is the total resource capacity of the node; U(N j ) The smallest node performs task scheduling to maximize resource utilization; The distance priority scheduling algorithm is based on the physical or network distance between the request task and the resource node. The algorithm is suitable for distributed network environments and can effectively reduce delays and improve service response speed. The formula of the distance priority scheduling algorithm is: Among them, D(R i ,N j ) indicates a request R i With node N j The smaller the distance, the higher the priority, ensuring that the task is assigned to the nearest available node; The matching rules include: when it is predicted that the traffic will increase significantly or reach a peak in a short period of time in the future, a resource utilization priority scheduling algorithm is selected; if the prediction shows that the traffic will remain relatively stable in the future, an algorithm that performs better under a stable workload is selected, including a static allocation algorithm or a polling-based scheduling algorithm; for different types of traffic, a scheduling algorithm that best suits the characteristics of this type of traffic is selected, and for traffic with high real-time requirements, a user experience priority scheduling algorithm is selected; for batch jobs, a resource utilization priority scheduling algorithm is selected; if the system resource utilization is low, a resource utilization priority scheduling algorithm is adopted; conversely, if the resources are close to full load, a distance priority scheduling algorithm is selected.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores machine-executable instructions. When the machine-executable instructions are called and executed by a processor, the machine-executable instructions cause the processor to execute the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Flow scheduling system and method applied to data center

    CN118612156A