Resource scheduling method and device, equipment, and storage medium

By predicting business resource needs and performing hybrid scheduling in the edge computing environment, the problem of low resource utilization is solved, and cost optimization and service improvement under cloud-edge collaboration are achieved.

CN116827949BActive Publication Date: 2026-07-10CHINA MOBILE COMM LTD RES INST +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE COMM LTD RES INST
Filing Date
2022-03-21
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

In edge computing environments, a single computing platform is insufficient to meet the diverse and scenario-based requirements of data-intensive applications, resulting in low resource utilization. Furthermore, the collaborative deployment of cloud and edge nodes presents challenges in terms of real-time performance, reliability, and privacy.

Method used

By predicting the resource demands of services at different times, the scaling of processors is adjusted to achieve hybrid scheduling of the first and second services, improve resource utilization, and build cost-optimized intelligent services through cloud-edge collaboration.

Benefits of technology

While ensuring the service needs of the primary business are met, the operation of the secondary business is increased to improve the overall resource utilization rate and build a more cost-effective intelligent service.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116827949B_ABST
    Figure CN116827949B_ABST
Patent Text Reader

Abstract

The application provides a resource scheduling method and device, equipment and a storage medium. The method comprises the following steps: predicting the expected occupation amount of a first service to a first processor in a second time period according to the actual occupation amount of the first service to the first processor in a first time period; determining the expansion and contraction amount of the first service to the first processor in the second time period according to the actual occupation amount and the expected occupation amount; determining the invocable amount of the first processor according to the expansion and contraction amounts of a plurality of different first services to the first processor in the second time period; adjusting the occupation amount of the corresponding first service to the first processor in the second time period according to the expansion and contraction amount, and starting at least one second service in the second time period according to the invocable amount of the first processor. In this way, the operation of the second service is increased under the premise that the service demand of each first service can be met, so that the resource utilization of the equipment is improved as a whole.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to electronic technology, including but not limited to resource scheduling methods, apparatus, equipment, and storage media. Background Technology

[0002] With the rise of applications such as cloud gaming, virtual reality (VR) / augmented reality (AR), and autonomous driving, as well as the explosive growth of the Internet of Things, mobile applications, short videos, personal entertainment, and artificial intelligence, applications are becoming increasingly scenario-based and diversified. This also brings about the diversity of data (such as voice, text, images, and videos) and users' ever-increasing demands for application experience. Data-intensive applications need to efficiently handle massive amounts of concurrent data processing, and a single computing platform is difficult to adapt to the scenario-based and diversified requirements of business applications.

[0003] If the training and inference of artificial intelligence (AI) models for artificial intelligence scenarios are all done in the cloud, massive amounts of enterprise / industry data need to be uploaded from edge nodes to the cloud in real time, which brings challenges in terms of real-time performance, reliability, data privacy protection, and communication costs.

[0004] At the network edge, close to the source of objects or data, an open platform (architecture) integrating core capabilities of networking, computing, storage, and applications provides edge intelligence services locally, meeting the key needs of industry digitalization in areas such as agile connectivity, real-time business operations, data optimization, application intelligence, and security and privacy protection. Therefore, edge computing and cloud computing are defined as complementary and synergistic. Close collaboration between edge computing and cloud computing is essential to better meet the matching needs of various application scenarios and realize the application value of cloud-edge synergy.

[0005] Taking into account the core needs of industry scenarios, such as real-time analysis and processing, node self-activation, data security, remote deployment and automatic upgrades, and given limited bandwidth and computing resources, it is beneficial to build cost-effective intelligent solutions and services by rationally deploying the training and inference functions of artificial intelligence models in the cloud and edge nodes. Summary of the Invention

[0006] In view of this, the resource scheduling method, apparatus, equipment, and storage medium provided in this application, while ensuring that the service requirements of each first service are met, increase the operation of the second service, thereby improving the overall resource utilization of the equipment and facilitating the construction of a more cost-effective service.

[0007] According to one aspect of the embodiments of this application, a resource scheduling method is provided, comprising: predicting the expected usage of the first service on the first processor in a second period based on the actual usage of the first service on the first processor in a first period; determining the scaling amount of the first service on the first processor in the second period based at least on the actual usage and the expected usage; determining the available capacity of the first processor based on the scaling amounts of multiple different first services on the first processor in the second period; adjusting the usage of the corresponding first service on the first processor in the second period based on the scaling amount; and starting at least one second service in the second period based on the available capacity of the first processor.

[0008] In this way, the first and second services can be mixed and scheduled, thereby increasing the operation of the second service while ensuring that the service needs of each first service can be met. This improves the overall resource utilization of the first equipment and facilitates the construction of a more cost-effective intelligent service.

[0009] According to another aspect of the embodiments of this application, a resource scheduling apparatus is provided, comprising: a prediction module configured to predict the expected usage of the first service on the first processor in a second period based on the actual usage of the first service on the first processor in a first period; a first determination module configured to determine the scaling amount of the first service on the first processor in the second period based at least on the actual usage and the expected usage; a second determination module configured to determine the available usage of the first processor based on the scaling amounts of multiple different first services on the first processor in the second period; and a resource scheduling module configured to adjust the usage of the corresponding first service on the first processor in the second period based on the scaling amount, and to start at least one second service in the second period based on the available usage of the first processor.

[0010] According to another aspect of the embodiments of this application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program that can run on the processor, and the processor executes the program to implement the method described in the embodiments of this application.

[0011] According to another aspect of the embodiments of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the method described in the embodiments of this application.

[0012] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0013] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application. Obviously, the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0014] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0015] Figure 1 A schematic diagram illustrating the implementation flow of the resource scheduling method provided in this application embodiment;

[0016] Figure 2 A schematic diagram illustrating the implementation flow of another resource scheduling method provided in this application embodiment;

[0017] Figure 3 A statistical diagram illustrating the resource utilization rate of a certain AI capability over a period of one week, provided for an embodiment of this application;

[0018] Figure 4 This is a schematic diagram of the overall logical architecture for constructing an intelligent scheduling system provided in an embodiment of this application;

[0019] Figure 5 This is a schematic diagram of the cloud-edge service intelligent scheduling system provided in the embodiments of this application;

[0020] Figure 6 This is a schematic diagram of the structure of the resource scheduling device provided in the embodiments of this application;

[0021] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the specific technical solutions of this application will be further described in detail below with reference to the accompanying drawings of the embodiments of this application. The following embodiments are used to illustrate this application, but are not intended to limit the scope of this application.

[0023] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0024] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0025] This application provides a resource scheduling method. Figure 1 This is a schematic diagram illustrating the implementation flow of the resource scheduling method provided in the embodiments of this application, as shown below. Figure 1 As shown, the method may include the following steps 101 to 104:

[0026] Step 101: The first device predicts the expected usage of the first processor by the first service in the second period based on the actual usage of the first processor by the first service in the first period.

[0027] In the embodiments of this application, the first device can be a variety of devices with information processing capabilities. In some embodiments, the first device includes an edge-side device located near a person, object, or data source. For example, the first device includes a mobile phone, image acquisition device, tablet computer, robot, or television set, etc. Of course, in other embodiments, the first device can also be a network device.

[0028] The first service can be a variety of applications that meet user needs. In some embodiments, the first service includes AI services. Further, in some embodiments, the first service includes online AI services, which refer to services that require AI capabilities to be available in real time. For example, online AI services include facial recognition services, voice recognition services, etc., that can provide real-time online services.

[0029] In other embodiments, the first service includes high-priority services defined based on network latency and / or data security requirements.

[0030] Understandably, the first time period occurs before the second time period; for example, the first time period is the current time period, and the second time period is the next time period. In some embodiments, the first processor includes a Graphics Processing Unit (GPU). The actual utilization of the first processor refers to the amount of basic computing power resources of the first processor actually utilized. For example, if the first processor includes a GPU, then the actual utilization refers to the number of VGPUs actually utilized.

[0031] Step 102: The first device determines the scaling amount of the first service on the first processor during the second time period, based at least on the actual occupancy and the expected occupancy.

[0032] Suppose that the actual usage of a certain primary service (e.g., service A) on the primary processor is represented as A. NThe expected occupancy is represented as A′. N Then A N -A′ N >0 indicates that the service demand needs to be scaled down, meaning the resource demand on the first processor in the second time period is less than the resource demand on the first processor in the first time period; conversely, A N -A′ N <0 indicates that the service needs to be expanded, meaning that the resource demand of the first processor in the second time period is greater than that in the first time period.

[0033] The method of determining the expansion / retraction amount based at least on the actual occupancy and the projected occupancy includes two embodiments. In one embodiment, the expansion / retraction amount is determined based on the difference between the actual occupancy and the projected occupancy.

[0034] In another embodiment, step 102 can also be implemented as follows: determine the resource utilization level at time i in the first time period; determine the prediction error of the expected occupancy based on the resource utilization level and a preset upper limit of prediction error; determine the scaling amount of the first service on the first processor in the second time period according to the prediction error, the actual occupancy and the expected occupancy; thus, since the prediction error is determined by referring to the resource utilization level at time i in the first time period, the scaling amount can be evaluated more accurately, thereby improving resource utilization while ensuring the stable and reliable operation of each service.

[0035] Understandably, errors will exist after pod scaling up or down (i.e., resource scheduling), potentially resulting in over- or under-adjustment. Increasing the actual resource utilization level after the adjustment at time i in the previous period is equivalent to adding compensation for the fine-tuning. If the resource utilization level after the adjustment at time i was significantly lower, it indicates that scaling up was excessive or scaling down was insufficient. Therefore, after the fine-tuning at time i, an optimization term (i.e., prediction error) is added in the second time period.

[0036] Furthermore, in some embodiments, the resource utilization level at the i-th moment of the first time period can be determined through steps 202 and 203 as described in the following embodiments.

[0037] In the embodiments of this application, the i-th time can be any time in the first time period, or it can be a specific time in the time period, and there is no limitation on it.

[0038] Step 103: The first device determines the available callable amount of the first processor based on the scaling amount of the first processor for multiple different first services in the second time period.

[0039] Understandably, steps 101 and 102 describe how the scaling amount of the first processor in the second time period is determined for a first service. Based on this, in step 103, by combining the scaling amounts corresponding to each first service, the callable amount of the first processor, i.e., the total scalable amount, can be easily obtained.

[0040] Step 104: The first device adjusts the amount of the first service's usage on the first processor during the second time period according to the scaling amount, and starts at least one second service during the second time period according to the available resources of the first processor.

[0041] The second service can be a variety of applications that meet user needs, and it differs from the first service. For example, the first service includes online AI services, while the second service includes offline AI services. Offline AI services refer to those AI services that do not require invocation and are primarily processed and computed by backend services. For instance, offline AI services include speech-to-text services based on automatic speech recognition technology. In some application scenarios, this service is used to process, label, and anonymize streaming media files generated from daily calls or interviews, transcribing the speech into text, thus providing source data text for subsequent Natural Language Processing (NLP) modeling. This service operates in a continuous offline mode, thus allowing for intermittent processing.

[0042] For example, the first service includes high-priority services, while the second service includes low-priority services. The priority division can be defined based on network latency and / or data security requirements.

[0043] In this embodiment, based on the actual usage of the first service on the first processor in the first time period, the expected usage of the first service on the first processor in the second time period is predicted; the scaling amount of the first service on the first processor in the second time period is determined based at least on the actual usage and the expected usage; the available capacity of the first processor is determined based on the scaling amounts of multiple different first services on the first processor in the second time period; the usage amount of the corresponding first service on the first processor in the second time period is adjusted according to the scaling amount, and at least one second service is started in the second time period according to the available capacity of the first processor; thus, a hybrid scheduling of the first and second services is achieved, thereby increasing the operation of the second services while ensuring that the service needs of each first service can be met, so as to improve the overall resource utilization of the first device and facilitate the construction of a cost-effective intelligent service.

[0044] This application embodiment further provides a resource scheduling method. Figure 2 This is a schematic diagram illustrating the implementation flow of another resource scheduling method according to an embodiment of this application, such as... Figure 2 As shown, the method includes steps 201 to 207:

[0045] Step 201: The first device inputs the actual usage of the first processor by the first service in the first time period and the first time period into a predetermined time series prediction model to obtain the expected usage; wherein, the time series prediction model is obtained by fitting the actual usage of the first processor by the first service in multiple different historical time periods.

[0046] Understandably, certain primary business operations often exhibit time-series characteristics, resulting in peak and trough demand for resources. Take real-time online facial recognition services as an example: 8:00-9:00 and 17:30-18:30 are the most concentrated periods for clocking in and out, thus the calls and accesses are concentrated during these times. Therefore, sufficient resources are needed during these periods to ensure the reliability, stability, and low latency of the recognition service.

[0047] Based on this, a time-series-based prediction model, i.e., a time-series prediction model, can be pre-constructed. The construction method is not limited to machine learning algorithms or deep learning algorithms. For example, in some embodiments, firstly, for each first service, a time-resource matrix relationship can be obtained based on the monitored resource occupancy, as shown in Table 1 below. The resource occupancy based on the time dimension recorded in this matrix relationship provides a decision-making basis for the resource scheduling of the first device.

[0048] Table 1. Matrix Relationship between Time and Resources

[0049]

[0050] In the matrix above, 0 indicates that the GPU card is idle during that time period, and 1 indicates that the GPU card is occupied during that time period. VGPU 0x This indicates the VGPU card number after the original card (number 0) is virtually split. A single AI all-in-one machine is usually equipped with 8 original cards. If each original card is split into 8 parts, a single AI all-in-one machine can provide 64 VGPU resources.

[0051] By establishing a time-resource matrix relationship, the available time and quantity of GPU card resources can be clearly determined, providing a basis for decision-making in scheduling offline services.

[0052] Furthermore, in some embodiments, the time-series algorithm Prophet can be used, and the model parameters of Prophet can be obtained by fitting the content of Table 1 above:

[0053] y(t)=g(t)+s(t)+h(t)+ε tWhere g(t) represents the trend term, indicating the trend of the time series on a non-periodic scale; s(t) represents the periodic term, which can be expressed in days or weeks; h(t) represents the holiday term; and ε t This represents the error term, also known as the residual term.

[0054] Trend term model g(t): g(t) = (k + a(t)δ)·t + (m + a(t)) T γ) Based on a piecewise linear function model, k represents the growth rate, σ represents the change in the growth rate, and m represents the offset parameter.

[0055] Periodic model s(t): Where P is a periodic sequence.

[0056] Holiday model h(t): Where, k ~ Normal(0, v 2 ).

[0057] Therefore, the model can be adapted to AI-oriented online business scenarios relatively accurately. In this model, g(t) is used as the unit of days with P=1 to construct the basic trend data of daily GPU card resource usage; s(t) is used to construct the sequence pattern within the period based on the periodicity of daily days; and h(t) is used as the moderating effect of statutory holidays, including weekends and other statutory holidays.

[0058] Taking existing business monitoring as an example, such as Figure 3 As shown, this diagram illustrates the resource utilization statistics for a specific AI capability over a weekly period. The resource utilization rate over days g(t) exhibits typical peak-valley characteristics over time, while the s(t) model reflects the daily cyclical characteristics of resource demand. The area within the rectangle represents the typical characteristics of the holiday model h(t), where resource demand is significantly lower than on weekdays by approximately 20%. The arrow points to singularities, indicating short-term spikes in resource demand caused by other factors. These singularities will be iterated upon in the cyclical trend prediction.

[0059] Step 202: The first device determines the resource utilization level based on the first basic utilization rate of the first service on the second processor and the second basic utilization rate of the first service on memory (MEM) obtained by pre-testing, the first actual utilization rate of the first service on the second processor at the i-th time of the first time period, the second actual utilization rate of the first service on MEM at the i-th time, and the third actual utilization rate of the first service on the first processor at the i-th time; wherein, the i-th time is any time.

[0060] Further, in some embodiments, the resource utilization level can be determined as follows: a first device determines a first ratio of the first actual utilization rate to the first basic utilization rate; determines a second ratio of the second actual utilization rate to the second basic utilization rate; and performs a weighted average of the first ratio, the second ratio, and the third actual utilization rate based on a first configuration weight corresponding to the first ratio, a second configuration weight corresponding to the second ratio, and a third configuration weight corresponding to the third actual utilization rate to obtain the resource utilization level; wherein, the first configuration weight represents the degree of demand of the first service on the second processor, and the second configuration weight represents the degree of demand of the first service on the MEM; thus, since the first configuration weight and the second configuration weight are configured according to the degree of demand of the first service on each resource, the final predicted occupancy is more in line with the actual business needs of the first service, thereby improving resource utilization while ensuring better satisfaction of the first service needs. In some embodiments, the second processor includes a CPU.

[0061] Step 203: The first device determines the prediction error of the expected occupancy based on the resource utilization level and the preset prediction error upper limit.

[0062] Step 204: The first device determines the scaling amount of the first service on the first processor during the second time period based on the prediction error, the actual occupancy, and the expected occupancy.

[0063] Understandably, when determining the scaling amount of the first service to the first processing in the second time period, not only the difference between the actual usage and the expected usage are considered, but also the prediction error of the expected usage. In this way, the determined scaling amount can be more accurate, thereby allocating resources to the second service without affecting the service demand of the first service.

[0064] To facilitate understanding of steps 202 to 204 above, for example, assume that the actual usage of the first service is represented as A. N The projected occupancy of the first service is represented as A′. N Let the prediction error be θ. Then, the formula for calculating the scaling Δ of the first service on the first processor in the second time period is as follows:

[0065] Δ=[(A N -A′ N )+θ] (1);

[0066] Among them, [(A N -A′ N )+θ] represents rounding down or up. The formula for calculating the prediction error θ is shown in equation (2) below:

[0067] θ=(0.5-ξ)*2 (2);

[0068] Wherein, parameter 0.5 is the preset upper limit of prediction error, θ∈[-0.5, 0.5]; ξ is the resource utilization level, and its calculation formula is shown in the following formula (3):

[0069]

[0070] Wherein, the weighting coefficient ω1+ω2+ω3=1; Ai1 represents the first actual utilization rate of the first service on the second processor at time i in the first time period, A31 represents the first basic utilization rate of the first service on the second processor (e.g., CPU) at 100% load, Ai2 represents the second actual utilization rate of the first service on the MEM at time i in the first time period, A32 represents the second basic utilization rate of the first service on the MEM at 100% load, G gpu i represents the third actual utilization rate of the first service on the first processor (e.g., GPU) at the i-th time.

[0071] The so-called baseline utilization rate refers to the test value obtained by conducting benchmark stress tests on the services of the primary business. AI capabilities oriented towards GPU resources (including but not limited to image, video, NLP, and speech) are typically container-orchestrated services with dedicated GPU cards, and their resource requirements grow approximately linearly with the user base. Therefore, benchmark stress tests need to be conducted for each primary business service, including TPS values ​​at 25%, 50%, and 100% load points; monitoring of CPU, MEM, GPU, and NET utilization is also included to obtain the baseline resource values ​​for AI applications. Taking business A as an example, its baseline unit performance values ​​are shown in Table 2 below:

[0072] Table 2A Basic Resource Values ​​per Unit Performance of Services

[0073]

[0074] The above unit service performance verification is based on N*VPGU, where N is usually 1 by default and can be adjusted to an integer multiple as needed. Similarly, the above performance relationships will also be obtained from the basic performance tests of other services such as B, C, and D.

[0075] Step 205: The first device determines the available callable amount of the first processor based on the scaling amount of the first processor for multiple different first services in the second time period;

[0076] Step 206: The first device adjusts the amount of the first service's usage on the first processor during the second time period according to the expansion amount;

[0077] Step 207: The first device initiates at least one second service in the second time period based on the callable amount of the first processor.

[0078] The first device may have the following characteristics: limited computing resources and insufficient elastic scaling. It is limited to supporting edge-oriented scenarios and scenarios with high data security requirements. Therefore, a protection scheme needs to be designed to back up the shortcomings of the first device and ensure the stability and reliability of services. This necessitates the construction of a cloud-edge collaborative scheduling mechanism.

[0079] Based on this, in some embodiments, the method further includes: the first device stopping the running first service whose priority meets the low priority condition, thereby releasing the resources occupied by the first service whose priority meets the low priority condition; thus, the stability and reliability of the operation of the high priority first service can be ensured, thereby ensuring the service quality of the high priority service.

[0080] In this embodiment, low-priority conditions are not restricted and can be predefined. For example, low-priority conditions include the lowest priority; similarly, priority conditions include priorities lower than the fifth threshold.

[0081] To ensure the quality of service for services with stringent requirements for network latency and data security, in some embodiments, the priority of the first service is predefined based on the application scenario's requirements for network latency, data security, and / or network bandwidth. Thus, this solution is applicable to service scenarios with stringent requirements for network latency and data security, ensuring the reliability and stability of high-priority first services.

[0082] Furthermore, in some embodiments, the first device stops a running first service whose priority meets the low-priority condition based on determining that the current scenario meets the scheduling conditions; wherein, the scheduling conditions include at least one of the following: the utilization rate of the first processor of any first service is greater than a first threshold, the utilization rate of the second processor is greater than a second threshold, the number of stopped second services is greater than or equal to a third threshold, and the number of expanded pods is greater than or equal to a fourth threshold; thus, on the one hand, the low-priority first service is stopped only when the current scenario meets the above scheduling conditions, thereby ensuring the service quality of the low-priority first service; on the other hand, when the current scenario meets the above scheduling conditions, the low-priority first service is stopped, thereby freeing up more resources for the high-priority first service, ensuring the stability and reliability of the high-priority first service.

[0083] It should be noted that the first to fourth thresholds can be pre-configured according to actual performance requirements; for example, the first and second thresholds can both be 80%. The third threshold is the number of all second services on the first device. The fourth threshold is the total number of all pods, i.e., the pods on the VGPU card that have been expanded are fully loaded.

[0084] In some embodiments, the discontinued second services are migrated to run on the second device.

[0085] In other embodiments, the first device not only stops the running first service that meets the low priority condition, but also sends a first instruction message to the second device. The first instruction message is used to instruct the second device to run the first service that meets the low priority condition. In this way, the low-priority first service is run in the second device, thereby ensuring the availability of the low-priority first service and the continuity of the service of the low-priority first service.

[0086] In some other embodiments, the method further includes: the first device determining the target service to be prohibited from operation based on the level corresponding to its own fault; the first device sending second indication information to the second device, the second indication information being used to instruct the second device to start at least one of the target services; thus ensuring the reliability of the service.

[0087] For example, if the first device detects a CPU core failure, memory failure, and / or K8S basic cluster platform failure, it determines that the level of its own failure is a critical alarm. At this time, the target services that are prohibited from running include all services, and the second device starts all services at 100%. In addition, if the first device detects that a network request for a certain service is unreachable, the cloud side starts 100% of the resources for that service and takes over the service through load balancing.

[0088] If the first device detects a power module failure, hard drive failure, and / or network card failure, it determines that the level of its own failure is a medium alarm. At this time, the target services that are prohibited from running include 30%-50% of all services. The second device then starts these services accordingly.

[0089] If the first device detects that the partition is fully utilized and / or network latency jitter, it determines that the level of its own fault is a general alarm. At this time, the target services that are prohibited from running include 0%-30% of the specified services of all services, and the second device starts these services accordingly.

[0090] Edge AI all-in-one machines (an example of the first type of device) primarily use GPU servers as their main carrier, carrying application-oriented management platforms or application software, deploying dedicated AI capability services, and accessing and calling them via the network to achieve application-specific solutions. Typically, GPUs provide basic computing power resources in whole cards or as VGPUs (Virtual GPUs). Taking the NVIDIA GPU V100 card as an example, it can be soft-split into 1 card, 1 / 2 card, 1 / 4 card, and 1 / 8 card to achieve logical isolation between VGPU cards, allowing different services to exclusively use card resources without affecting each other.

[0091] Edge Computing Open Platform: Enables edge computing, extends containerized application orchestration capabilities to edge nodes and devices, is built on Kubernetes, and provides infrastructure support for network, application deployment, and metadata synchronization between the cloud and the edge.

[0092] In some embodiments, the provided edge scenario hyperconverged appliance solution can be adapted to a certain type of application scenario, which can be a physical machine, a container, or a virtualization cluster, and can be equipped with a certain machine learning algorithm or deep learning algorithm to meet the needs of edge scenarios.

[0093] In other embodiments, a cloud-edge collaborative scheduling solution is provided, where the cloud side primarily trains the AI ​​model, while the edge side primarily handles inference tasks. The cloud and edge collaborate and interact to build an automated training and deployment process. Alternatively, the edge-side AI cluster has a task awareness and scheduling process, or the edge side preprocesses and integrates the data, and then sends the integrated results to the cloud for further processing.

[0094] However, providing all-in-one hardware devices and application software tailored to a specific scenario lacks versatility and compatibility; for multi-scenario task modes, there is a lack of unified scheduling and low resource utilization. The absence of cloud-side safeguards reduces the overall reliability of edge-side services.

[0095] The systems and scheduling management systems that provide cloud and edge computing capabilities lack business evaluation, intelligent scheduling of GPU resources, or QoE task-aware scheduling for virtualized clusters, and are not geared towards AI application scenarios.

[0096] The technical problems to be solved in the following embodiments are: First, to propose a hybrid scheduling solution for edge-side AI all-in-one machines, which can be adapted to general AI business scenarios and can achieve hybrid scheduling based on the characteristics of online and offline businesses to improve resource utilization; Second, to propose a cloud-edge collaborative solution, which can implement a cloud-side backup reliability service approach based on business priority or network priority, thereby realizing a cloud-edge collaborative intelligent scheduling process.

[0097] The detailed description of this technical solution is as follows:

[0098] 1. Key characteristics of the baseline resource requirements for businesses that extract AI capabilities.

[0099] AI capabilities utilizing GPU resources (including but not limited to image, video, NLP, and speech processing) are typically container-orchestrated services, exclusively using GPU cards. Resource requirements grow approximately linearly with user scale. Baseline stress tests are required for each deployed application, including TPS values ​​at 25%, 50%, and 100% load points. Monitoring CPU, MEM, GPU, and NET utilization is also necessary to determine the baseline resource requirements for the AI ​​application. For example, the baseline performance values ​​per unit of service A are shown in Table 3 below.

[0100] Table 3A Basic Resource Values ​​per Unit Performance of Service

[0101]

[0102] The above unit service performance verification is based on N*VPGU, where N is usually 1 by default and can be adjusted to an integer multiple as needed. Similarly, the above performance relationships will also be obtained from the basic performance tests of other services such as B, C, and D.

[0103] Based on the above relationships, the key-value relationship chain for business performance is constructed as follows, where level is defined according to the business level.

[0104] {name:A,GPU:N,NET:A34,TPS:A35,Level:highA}

[0105] {name:B,GPU:N,NET:B34,TPS:B35,Level:highB}

[0106] {name:C,GPU:N,NET:C34,TPS:C35,Level:lowC}

[0107] {......}

[0108] The meanings of the above parameters are as follows:

[0109] Name is the service name, N is the number of baseline cards for the service corresponding to the GPU, NET is the network bandwidth requirement, TPS is the service volume carried by the baseline card, and Level is the service priority.

[0110] Businesses targeting edge AI all-in-one machines have the following characteristics and requirements: low latency, high bandwidth, data security, fast response time, and flexible business adaptation. Precisely because of these factors, a preliminary scale assessment is necessary before implementing edge AI all-in-one machine services.

[0111] Therefore, the prerequisite for online services, as shown in equation (4), is to ensure that all online services can provide stable services simultaneously and maintain full load:

[0112] GPU total >=[A total / A TPS +B total / B TPS +C total / C TPS +....+Z total / Z TPS (4);

[0113] Among them, Z total / Z TPS The estimated total volume of a certain service / the service volume carried by the baseline card is rounded up to the nearest integer.

[0114] 2. Based on time series machine learning algorithms, online resource demand prediction is achieved.

[0115] AI applications oriented towards the edge can generally be divided into online and offline services. Online services require AI capabilities to be available in real time, while offline services do not need to be invoked and are mainly processed and computed by backend services.

[0116] Typical application scenarios often exhibit time-series characteristics, resulting in peak and trough resource demands. Due to the peak-trough nature of resource demands in online services, time-series-based prediction models can be built, not limited to machine learning or deep learning methods. Offline services, on the other hand, have consistently stable resource demands, allowing for dynamic adjustments based on the scale of application resources.

[0117] Based on Kubernetes-centric container cloud orchestration and scheduling, GPU cards connected to the AI ​​appliance offer advantages in flexible scheduling and elastic scaling, enabling smooth resource release and allocation for stateless services supporting AI applications. The key characteristics of GPU card applications are full-card occupancy, non-preemption, and dedicated service access, allowing for scaling and adjustment in integer multiples of the card size. For example, if the average utilization of a single redundant pod's resources exceeds 75%, HPA (Hyper-Package Optimization) is triggered to add one pod; if the average utilization of a single redundant pod's resources is below 35%, HPA is triggered to decrement one pod.

[0118] Therefore, by establishing a time-resource matrix relationship for each online service, a time series forecasting model is built based on this. In this way, the resource occupancy over time, represented by this matrix relationship, provides a basis for scheduling decisions for the intelligent scheduling system.

[0119] 3. Intelligent scheduling system, which enables hybrid scheduling of online and offline services.

[0120] By forecasting demand for services with time-series characteristics, a time-resource matrix for online services can be derived, enabling hybrid scheduling of online and offline services. Based on the scheduling of Kubernetes-based pods and the exclusive GPU card access of pods, the HPA elastic scaling function of container clouds can be flexibly applied to AI capability scenarios without affecting the business logic.

[0121] The intelligent scheduling system triggers a scheduling process once per unit of time. The data it relies on is the current GPU card usage for each type of service {A}. N B N C N ...Z N The prediction system for the next time period, based on historical data modeling, provides the expected demand {A'}. N B' N C' N ...Z' N The trigger values ​​for scaling up or down business pods in each time period are:

[0122] {Vpod A Vpod B Vpod C Vpod Z}={[(A N -A' N )+θ A ],[(B N -B' N )+θ B ],[(C N -C' N )+θ C],[(Z N -Z' N )+θ Z ]}, where {Vpod A Vpod B Vpod C Vpod Z}∈R,Vpod N >=1.

[0123] If A N -A' N If A > 0, it indicates that the business requirement needs to be scaled down; if A N -A' N If <0, it indicates that the business needs to be expanded; where θ is a dynamic adjustment parameter, θ∈[-0.5, 0.5], used for fine-tuning the prediction error feedback term within a certain period; where θ=(0.5-ξ)*2,θ∈[-0.5, 0.5]; Where the weighting coefficients ω1+ω2+ω3=1;

[0124] Where i represents the monitoring data points for a historical time period after the resource scaling out / down scheduling is triggered, and G... gpu Let 'i' represent the GPU card utilization rate for a specific service. In summary: Extract the cumulative actual utilization rate of service resources at time 'i', including CPU, memory, and GPU. Then, calculate a weighted average utilization rate based on the service type and its respective benchmark values. Calculate the estimated value of 'θ' using a linear calculation relationship. If θ > 0, it indicates sufficient reserved resources in the prediction model after scaling down, allowing for appropriate fine-tuning and scaling up. If θ < 0, it indicates a high load on reserved resources in the prediction model after scaling down, allowing for appropriate fine-tuning and scaling up.

[0125] like Figure 4 The diagram shows the overall logical architecture of the intelligent scheduling system. The system includes business baseline value extraction, online business resource analysis, time-series prediction of online business resource requirements, intervention and interference, and intelligent scheduling system resource scheduling for online and offline businesses based on time-series prediction. Intervention and interference include, but are not limited to, alarms and faults of AI all-in-one machines, as well as custom resource requirement values ​​for temporary business expansion and online changes.

[0126] 4. Cloud-edge collaborative system: Constructing a protection solution with edge-side services and cloud-based backup.

[0127] AI all-in-one machines for edge computing have the following characteristics: limited computing resources, inability to scale up elastically on a large scale, and limitation to supporting edge-facing scenarios and scenarios with high data security requirements. Therefore, a protection scheme needs to be designed to back up the shortcomings of AI all-in-one machines and ensure the stability and reliability of services. This necessitates the construction of a cloud-edge collaborative scheduling mechanism.

[0128] The deployment method for AI capabilities on the cloud side is consistent with that of the edge-tested AI appliance, referred to here as the preheating state. This state is characterized by a default pod count of 0, meaning it does not consume actual GPU or CPU resources, while service configurations, images, network interfaces, and storage are already allocated normally. The cloud-edge collaboration system will trigger the start of cloud-side services based on conditional processes, transitioning from the preheating state to the service state.

[0129] The triggering conditions for the cloud-edge collaborative system are as follows:

[0130] 1. High-load business scenario: All offline services have been removed, online services have expanded their VGPU cards to full capacity, and the GPU card utilization and CPU utilization of a certain service have exceeded 80%.

[0131] Two scheduling decisions are designed: a. Service importance priority scheduling; b. Network priority scheduling; among which,

[0132] a. Service priority scheduling: In the first step of the process service benchmark test, the service priorities are defined as high, middle, and low, and each level can be further defined as a sub-level.

[0133] Prioritize removing lower-level services from the AI ​​all-in-one machine, expand resources such as vGPUs for higher-level services, and simultaneously start the lower-level services in the cloud to ensure service availability. This application scenario is for business scenarios with strict requirements on network latency and data security.

[0134] b. Network Priority Scheduling: In the first step of the process service benchmark test, the NET value of the service under the benchmark unit was measured. The NET demand was prioritized to implement a cloud-edge collaborative scheduling strategy. This scenario primarily targets video and image-related services with high bandwidth requirements. Services with low bandwidth requirements are prioritized to evict VGPU resources, ensuring high-bandwidth services are processed locally first. This maintains the stability and reliability of the services.

[0135] 2. Customizable alarm scenarios for AI all-in-one machines: such as... Figure 5 As shown, cloud-side services are triggered based on the alarm severity level. For critical alarms (such as CPU core failure, memory failure, Kubernetes basic cluster platform failure, etc.), all corresponding cloud-side services will start at 100% capacity. If the system detects that a network request for a certain service is unreachable, the corresponding cloud-side service will start at 100% capacity, and the service will be taken over by load balancing. For medium-level alarms (such as power module failure, hard drive failure, network card failure, etc.), all have redundancy design modes, and the corresponding cloud-side services will use a custom configuration startup strategy of 30-50%. For general alarms (such as partition full utilization, network latency jitter, etc.), the corresponding cloud-side services will use a custom configuration startup strategy of 0%-30%.

[0136] In this embodiment, firstly, for AI-enabled applications, baseline performance characteristics based on GPU cards are extracted. These characteristics will be used as base data for hybrid intelligent scheduling and cloud-edge coordinated scheduling. Secondly, the relationship between online and offline services is defined. Based on the temporal characteristics of online services, the Prophet machine learning algorithm is used to predict service resource requirements, constructing a peak-valley time-resource matrix relationship diagram for online services. The applicability of this algorithm to AI application prediction is illustrated using practical use cases. This prediction data provides a decision-making basis for hybrid scheduling. Constraints and scheduling conditions for the elastic scaling of hybrid scheduling are defined, and a method for calculating dynamically adjusted parameters is proposed. Finally, cloud-edge coordinated scheduling is implemented, which can be based on service priority or network priority scheduling methods to ultimately ensure service availability and reliability, providing a clear logical structure diagram.

[0137] 1. Extract key values ​​for benchmark performance testing of the business and analyze the GPU resource management and scheduling characteristics for AI business scenarios. Utilize the characteristics of the Prophet time-series algorithm to establish a business volume prediction model. Based on the prediction results, a hybrid scheduling method for offline and online businesses is proposed, along with a dynamic parameter calculation method to achieve flexible and elastic resource scaling, maximizing resource utilization, and establishing a redundancy fine-tuning mechanism.

[0138] 2. Design a cloud-edge collaborative scheduling solution for edge services in AI scenarios. Through scheduling definitions such as service priority or network priority, it can achieve internal eviction of edge services, elastic scaling management of resources, and smooth migration of services to the cloud based on changing scenario requirements, thereby ensuring the overall feasibility and reliability of services.

[0139] This solution starts with a more precise solution for AI all-in-one machines, analyzes the scenario requirements of edge services and the application characteristics of data security, network bandwidth, response time, network latency and GPU card resources, and then proposes a peak-valley characteristic for edge services, provides a method for time series model prediction, and constructs a service time-resource demand relationship matrix to provide decision support for the hybrid scheduling of offline and online services.

[0140] Based on the limited resources and insufficient reliability of edge services, a cloud-edge collaborative scheduling solution is proposed, and a custom scheduling scheme with service priority and network priority is given. This enables elastic scaling of services on the edge and smooth scheduling on the cloud, thereby realizing cloud-edge collaborative service capabilities.

[0141] It should be noted that although the steps of the method in this application are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps; or steps from different embodiments may be combined into a new technical solution.

[0142] Based on the foregoing embodiments, this application provides a resource scheduling device. Figure 6 This is a schematic diagram of the resource scheduling device according to an embodiment of this application, as shown below. Figure 6 As shown, the resource scheduling device 60 includes:

[0143] The prediction module 601 is configured to predict the expected usage of the first service on the first processor in the second period based on the actual usage of the first service on the first processor in the first period.

[0144] The first determining module 602 is configured to determine the scaling amount of the first service on the first processor during the second time period based at least on the actual occupancy and the expected occupancy.

[0145] The second determining module 603 is configured to determine the available callable amount of the first processor based on the scaling amount of multiple different first services on the first processor in the second time period.

[0146] The resource scheduling module 604 is configured to adjust the amount of the first service occupying the first processor in the second time period according to the scaling amount, and to start at least one second service in the second time period according to the callable amount of the first processor.

[0147] In some embodiments, the first determining module 602 includes: a first determining unit configured to determine the resource utilization level at time i in the first time period; a second determining unit configured to determine the prediction error of the expected occupancy based on the resource utilization level and a preset upper limit value for prediction error; and a third determining unit configured to determine the scaling amount of the first service on the first processor in the second time period based on the prediction error, the actual occupancy, and the expected occupancy.

[0148] In some embodiments, the first determining unit is configured to determine the resource utilization level based on a first basic utilization rate of the first service on the second processor and a second basic utilization rate on the MEM obtained from pre-testing, a first actual utilization rate of the first service on the second processor at time i in the first time period, a second actual utilization rate on the MEM, and a third actual utilization rate of the first processor.

[0149] Further, in some embodiments, the first determining unit is configured to: determine a first ratio of the first actual utilization rate to the first basic utilization rate; determine a second ratio of the second actual utilization rate to the second basic utilization rate; and perform a weighted average of the first ratio, the second ratio, and the third actual utilization rate according to a first configuration weight corresponding to the first ratio, a second configuration weight corresponding to the second ratio, and a third configuration weight corresponding to the third actual utilization rate to obtain the resource utilization level; wherein, the first configuration weight represents the degree of demand of the first service for the second processor, and the second configuration weight represents the degree of demand of the first service for the MEM.

[0150] In some embodiments, the prediction module 601 is configured to: input the actual occupancy and the first time period into a predetermined time series prediction model to obtain the expected occupancy; wherein the time series prediction model is obtained by fitting the actual occupancy of the first processor by the first service in multiple different historical time periods.

[0151] In some embodiments, the resource scheduling device 60 is applied to a first device, and the resource scheduling device further includes a release module and / or a sending module; wherein, the release module is configured to stop the currently running lowest priority first service, thereby releasing the resources occupied by the lowest priority first service; the sending module is configured to the first device send first indication information to the second device, the first indication information being used to instruct the second device to run the lowest priority first service.

[0152] Furthermore, in some embodiments, the release module is configured to stop the lowest priority first service that is currently running based on determining that the current scenario meets the scheduling conditions; wherein the scheduling conditions include at least one of the following: the utilization rate of the first processor of any first service is greater than a first threshold, the utilization rate of the second processor is greater than a second threshold, the number of second services that have stopped running is greater than or equal to a third threshold, and the number of pods that have been expanded is greater than or equal to a fourth threshold.

[0153] In some embodiments, the resource scheduling device 60 is applied to a first device. The resource scheduling device includes a third determining module and a sending module. The third determining module is configured to determine a target service to be prohibited from operation based on the level of the fault of the first device. The sending module is configured to send second indication information to a second device, the second indication information being used to instruct the second device to start at least one of the target services.

[0154] The descriptions of the above device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0155] It should be noted that the module division of the resource scheduling device in this embodiment is illustrative and only represents a logical functional division; in actual implementation, there may be other division methods. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, exist as separate physical units, or have two or more units integrated into one unit. The integrated units can be implemented in hardware, as software functional units, or a combination of software and hardware.

[0156] It should be noted that, in the embodiments of this application, if the above-described methods are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an electronic device to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.

[0157] This application provides an electronic device. Figure 7 This is a schematic diagram of the hardware entity of the electronic device according to an embodiment of this application, such as... Figure 7 As shown, the electronic device 70 includes a memory 701 and a processor 702. The memory 701 stores a computer program that can run on the processor 702. When the processor 702 executes the program, it implements the steps in the method provided in the above embodiments.

[0158] It should be noted that the memory 701 is configured to store instructions and applications executable by the processor 702, and can also cache data to be processed or already processed (e.g., image data, audio data, voice communication data and video communication data) in the processor 702 and various modules in the electronic device 70. It can be implemented by flash memory or random access memory (RAM).

[0159] This application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method provided in the above embodiments.

[0160] This application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps in the method provided in the above-described method embodiments.

[0161] It should be noted that the descriptions of the storage medium and device embodiments above are similar to the descriptions of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the storage medium, storage medium, and device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0162] It should be understood that the phrases "one embodiment," "an embodiment," or "some embodiments" mentioned throughout the specification mean that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment," "in one embodiment," or "in some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments are merely for descriptive purposes and do not represent the superiority or inferiority of the embodiments. The descriptions of the various embodiments above tend to emphasize the differences between the various embodiments; their similarities or commonalities can be referred to mutually, and for the sake of brevity, they will not be repeated here.

[0163] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three kinds of relationships. For example, object A and / or object B can represent three situations: object A exists alone, object A and object B exist simultaneously, and object B exists alone.

[0164] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0165] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple modules or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or modules can be electrical, mechanical, or other forms.

[0166] The modules described above as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules. They may be located in one place or distributed across multiple network units. Some or all of the modules may be selected to achieve the purpose of this embodiment according to actual needs.

[0167] In addition, each functional module in the various embodiments of this application can be integrated into one processing unit, or each module can be a separate unit, or two or more modules can be integrated into one unit; the integrated modules can be implemented in hardware or in the form of hardware plus software functional units.

[0168] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.

[0169] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an electronic device to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0170] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0171] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0172] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.

[0173] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A resource scheduling method, characterized in that, The method includes: Based on the actual usage of the first processor by the first service in the first time period, predict the expected usage of the first processor by the first service in the second time period. The scaling amount of the first service on the first processor during the second time period is determined based at least on the actual occupancy and the expected occupancy. The available callable quantity of the first processor is determined based on the scaling of the first processor by multiple different first services during the second time period. Based on the scaling amount, adjust the amount of the first service's usage on the first processor in the second time period, and start at least one second service in the second time period based on the callable amount of the first processor; The method is applied to a first device, and the method further includes: stopping a running first service whose priority meets the low priority condition, thereby releasing the resources occupied by the first service whose priority meets the low priority condition; the first device sends a first instruction message to a second device, the first instruction message being used to instruct the second device to run the first service whose priority meets the low priority condition.

2. The method according to claim 1, characterized in that, Determining the scaling amount of the first service on the first processor during the second time period, based at least on the actual occupancy and the expected occupancy, includes: Determine the resource utilization level at time i in the first time period; Based on the resource utilization level and the preset upper limit of prediction error, the prediction error of the expected occupancy is determined; Based on the prediction error, the actual occupancy, and the expected occupancy, the scaling amount of the first service on the first processor during the second time period is determined.

3. The method according to claim 2, characterized in that, Determining the resource utilization level at time i in the first time period includes: The resource utilization level is determined based on the first basic utilization rate of the first service on the second processor and the second basic utilization rate on the MEM obtained from the pre-test, the first actual utilization rate of the first service on the second processor at the i-th time, the second actual utilization rate of the first service on the MEM at the i-th time, and the third actual utilization rate of the first service on the first processor.

4. The method according to claim 3, characterized in that, The step of determining the resource utilization level based on the first basic utilization rate of the first service on the second processor and the second basic utilization rate on the MEM obtained from pre-testing, the first actual utilization rate of the first service on the second processor at time i, the second actual utilization rate of the first service on the MEM at time i, and the third actual utilization rate of the first processor, includes: Determine a first ratio between the first actual utilization rate and the first basic utilization rate; Determine a second ratio between the second actual utilization rate and the second basic utilization rate; The resource utilization level is obtained by weighting the first ratio, the second ratio, and the third actual utilization rate according to the first configuration weight corresponding to the first ratio, the second ratio, and the third actual utilization rate. Wherein, the first configuration weight represents the degree of demand of the first service for the second processor, and the second configuration weight represents the degree of demand of the first service for the MEM.

5. The method according to claim 1, characterized in that, The step of predicting the expected usage of the first service on the first processor in the second period based on the actual usage of the first service on the first processor in the first period includes: The actual occupancy and the first time period are input into a predetermined time series prediction model to obtain the expected occupancy; wherein, the time series prediction model is obtained by fitting the actual occupancy of the first processor to the first service in multiple different historical time periods.

6. The method according to claim 1, characterized in that, The method further includes: Stop the currently running first service whose priority meets the low-priority condition, thereby releasing the resources occupied by the first service whose priority meets the low-priority condition; and / or The method is applied to a first device, which sends a first instruction message to a second device. The first instruction message is used to instruct the second device to run a first service whose priority meets the low priority condition.

7. The method according to claim 6, characterized in that, The termination of the first service that is currently running and whose priority meets the low-priority condition includes: Based on the determination that the current scenario meets the scheduling conditions, the first service that is running and whose priority meets the low priority condition is stopped; wherein, the scheduling conditions include at least one of the following: the utilization rate of the first processor of any first service is greater than a first threshold, the utilization rate of the second processor is greater than a second threshold, the number of second services that have stopped running is greater than or equal to a third threshold, and the number of pods that have been expanded is greater than or equal to a fourth threshold.

8. The method according to claim 1, characterized in that, The method is applied to a first device, and the method further includes: Based on the fault level corresponding to the first device, the target services that should be prohibited from operation are determined; Send a second instruction message to the second device, the second instruction message being used to instruct the second device to start at least one of the target services.

9. A resource scheduling device, characterized in that, include: The prediction module is configured to predict the expected usage of the first service on the first processor in the second period based on the actual usage of the first service on the first processor in the first period. The first determining module is configured to determine the scaling amount of the first service on the first processor during the second time period based at least on the actual occupancy and the expected occupancy. The second determining module is configured to determine the available callable amount of the first processor based on the scaling amount of multiple different first services on the first processor in the second time period. The resource scheduling module is configured to adjust the amount of the first service occupying the first processor in the second time period according to the scaling amount, and to start at least one second service in the second time period according to the callable amount of the first processor. The resource scheduling device is applied to the first device, and the resource scheduling device also includes a release module and a transmission module; wherein, the release module is configured to stop the running lowest priority first service, thereby releasing the resources occupied by the lowest priority first service; The sending module is configured to send first indication information to the second device, wherein the first indication information is used to instruct the second device to run the first service with the lowest priority.

10. An electronic device comprising a memory and a processor, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the program, it implements the method according to any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 8.