Calculation power scheduling method and device
By implementing the computing power scheduling method of cluster federation on the control node, the problem of uneven utilization of computing power resources in multi-cluster computing scenarios is solved, and task scheduling and resource load balancing across clusters is realized.
Patent Information
- Application Number
- CN202311560059.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-21
- Publication Date
- 2025-05-23
AI Technical Summary
In multi-cluster computing scenarios, uneven utilization of computing power resources leads to insufficient computing power resources in a single cluster and idle resources in other clusters, making it impossible to achieve cross-cluster and cross-domain resource scheduling.
By implementing the computing power scheduling method of the cluster federated on the control node, after receiving the task request, the optimal match between the task request and the computing power node is determined based on the computing power resource parameters and task demand parameters of each member cluster, and task scheduling across the cluster is realized.
It improves the utilization rate of computing power resources, solves the problem of insufficient computing power resources in single clusters under high concurrency, and realizes load balancing and full utilization of resources.
Smart Images

Figure CN120029747A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a computing power scheduling method and device. Background Art
[0002] Currently, computing resources based on containers can be migrated and scaled in the same cluster, and all node resources in the container cluster can be fully utilized. However, computing resources cannot be migrated across clusters in multiple data centers. Businesses are often not static, and business access will change over time within a day, a month, or even a year. This change is ideally understood as a sine law, and some businesses may show a cosine law. When the business is at its peak, the demand for computing resources is relatively large, and the demand for computing resources is relatively small at the trough. If most of the businesses distributed in the same cluster are cosine-law businesses or sine-law businesses, then at the same time of the peak, the utilization rate of computing resources exceeds the range that the cluster can bear, which will cause business failures. However, other clusters may have a relatively low utilization rate of computing resources at this time, resulting in a large number of idle computing resources. Despite this, idle computing resources cannot be supplied to clusters with scarce computing power. To this end, it is necessary to break through the current technical barriers and find a suitable technical framework to improve the current phenomenon of uneven utilization of computing resources. Summary of the invention
[0003] The purpose of the embodiments of the present invention is to provide a computing power scheduling method and device to achieve cross-cluster and cross-domain scheduling and improve the utilization rate of computing power resources. The specific technical solution is as follows:
[0004] In a first aspect, an embodiment of the present invention provides a computing power scheduling method, which is applied to a control node, including:
[0005] Receive task requests to be scheduled;
[0006] Based on the computing power resource parameters of the computing power nodes in each member cluster of the cluster federation and the resource requirement parameters of the task request, the task request is scheduled to the computing power nodes in each member cluster; the computing power nodes include satellite-borne computing power nodes.
[0007] Optionally, the scheduling of the task request to the computing nodes in each member cluster based on the computing resource parameters of the computing nodes in each member cluster of the cluster federation and the resource requirement parameters of the task request specifically includes:
[0008] Taking minimizing the total target value when scheduling the task request to the computing nodes in each member cluster as the optimization goal, based on the computing resource parameters and the resource demand parameters, determine the optimal match between the task request and the computing node, and schedule the task request based on the optimal match; the target value when scheduling the first task request to the first computing node is determined based on the load proportion of the first task request on the first computing node, and / or the processing time when the first task request is scheduled to the first computing node.
[0009] Optionally, the load ratio of the first task request on the first computing power node includes: the computing resource occupancy rate of the first task request on the first computing power node, and the storage resource occupancy rate of the first task request on the first computing power node; the processing time when the first task request is scheduled to the first computing power node includes: the transmission time of the first task request from the access node to the first computing power node, and the computing time of the first task request on the first computing power node.
[0010] Optionally, the computing resource parameter includes a first parameter corresponding to the load proportion and a second parameter corresponding to the processing duration, and the resource demand parameter includes a third parameter corresponding to the load proportion and a fourth parameter corresponding to the processing duration;
[0011] Among them, the first parameter includes: the size of computing resources and storage resources that the computing power node can provide, the second parameter includes: computing power, network transmission capacity between itself and other computing power nodes, the third parameter includes: computing resource demand, storage resource demand, and the fourth parameter includes: computing task volume, transmission task volume, and access node.
[0012] Optionally, the optimizing target is to minimize the total target value when scheduling the task request to the computing nodes in each member cluster, and determine the optimal match between the task request and the computing node based on the computing resource parameter and the resource requirement parameter, specifically including:
[0013] The optimization goal is to minimize the total target value when scheduling the task request to the computing power nodes in each member cluster, and based on the computing power resource parameters and the resource demand parameters, determine the optimal match between the task request and the computing power node under scheduling constraints.
[0014] Optionally, the scheduling constraint includes one or more of the following:
[0015] The sum of the computing resource requirements of the task requests scheduled to one of the computing power nodes does not exceed the computing resource size that the computing power node can provide;
[0016] The sum of the storage resource requirements of the task requests scheduled to one of the computing power nodes does not exceed the storage resource size that the computing power node can provide;
[0017] The sum of energy consumption of the task requests dispatched to one of the computing power nodes does not exceed the upper limit of energy consumption that the computing power node can provide;
[0018] The processing time of the task request being scheduled to the computing power node does not exceed the maximum processing time allowed for the task request;
[0019] One of the task requests is only scheduled to one of the computing power nodes.
[0020] Optionally, the target value when scheduling the first task request to the first computing power node is specifically the weighted sum of the load proportion of the first task request on the first computing power node and the processing time when the first task request is scheduled to the first computing power node.
[0021] Optionally, before receiving the task request to be scheduled, the method further includes:
[0022] The computing power resource parameters of the computing power nodes in each member cluster of the cluster federation are obtained in advance.
[0023] Optionally, the scheduling of the task request to the computing nodes in each member cluster based on the computing resource parameters of the computing nodes in each member cluster of the cluster federation and the resource requirement parameters of the task request specifically includes:
[0024] Based on the first order of the computing nodes in each member cluster, the task requests to be scheduled are scheduled in sequence, and the first order is the order of the idle time of the computing nodes from early to late and / or the load degree from small to large; wherein the idle time represents the earliest time when the computing node can start processing the task request, and the load degree represents the computing resource occupancy rate and / or storage resource occupancy rate of the computing node.
[0025] Optionally, the sequentially scheduling the task requests to be scheduled based on the first order of the computing nodes in each member cluster includes:
[0026] Determine a task request among the task requests to be scheduled;
[0027] Determine the current first order based on the idle time and / or load level of the computing nodes in each member cluster, and schedule the task request to the first computing node in the first order;
[0028] Update the idle time and / or load level of the computing power node, and return to the step of determining a task request from the task requests to be scheduled until all the task requests are scheduled.
[0029] Optionally, before determining a task request among the task requests to be scheduled, the method further includes:
[0030] Sorting the task requests to be scheduled in descending order of computing task amount and / or resource requirement; the resource requirement includes computing resource requirement and / or storage resource requirement;
[0031] The step of determining a task request from the task requests to be scheduled includes:
[0032] The first task request to be scheduled is determined among the sorted task requests.
[0033] Optionally, after determining a task request in the task requests to be scheduled, determining the current first order based on the idle time and / or load level of the computing power node includes:
[0034] Computing nodes that meet the resource requirement conditions of the task request are selected from the computing nodes of the member clusters, and the first order of the selected computing nodes is determined based on the idle time and / or load level of the computing nodes.
[0035] Optionally, the resource requirement condition includes one or more of the following:
[0036] The remaining computing resources of the computing power node are not less than the computing resource requirements of the task request;
[0037] The remaining storage resource size of the computing power node is not less than the storage resource requirement of the task request;
[0038] The upper limit of the remaining energy consumption of the computing power node is not less than the energy consumption requested by the task;
[0039] The processing time for the task request to be scheduled to the computing power node shall not exceed the maximum processing time allowed for the task request.
[0040] In a second aspect, an embodiment of the present invention provides a computing power scheduling method, which is applied to a computing power node in a cluster federation, wherein the computing power node includes a satellite computing power node, and the method includes:
[0041] Report the resource requirement parameters of the task request issued by the access user to the control node;
[0042] Receive the transmission instruction sent by the control node in response to the task request, and transmit the task request to the target computing node indicated by the transmission instruction for processing; the target computing node corresponding to the task request is determined by the control node based on the resource requirement parameters of the task request reported by the computing nodes in each member cluster of the cluster federation, and the computing resource parameters of the computing nodes in each member cluster.
[0043] In a third aspect, an embodiment of the present invention provides a computing power scheduling device, which is applied to a control node, including:
[0044] The supervision module is used to obtain the computing resource parameters of the computing nodes in each computing cluster of the cluster federation;
[0045] An algorithm module, used to determine a task offloading scheme for the task request on the computing nodes in each computing cluster based on the resource requirement parameters of the task request to be scheduled and the computing resource parameters acquired by the supervision module;
[0046] The control plane is used to schedule the task request to the computing power nodes in each member cluster based on the task offloading scheme.
[0047] Optionally, the computing power node includes a satellite-borne computing power node.
[0048] Optionally, the control plane includes a scheduler, and the scheduler is used to schedule the task request to the computing power node in each of the member clusters according to the scheduling policy pre-configured in the scheduler;
[0049] The device also includes:
[0050] The policy management module is used to define or update the scheduling policy configured in the scheduler based on the task offloading solution determined by the algorithm module.
[0051] Optionally, the algorithm module is specifically used to determine the task offloading scheme of the task request on the computing nodes in each computing cluster based on the computing resource parameters and the resource demand parameters, with the total target value when scheduling the task request to the computing nodes in each member cluster as the optimization goal.
[0052] In a fourth aspect, an embodiment of the present invention provides a computing power scheduling device, which is applied to a computing power node in a cluster federation, wherein the computing power node includes a satellite computing power node, including:
[0053] A reporting module, used to report the resource requirement parameters of the task request issued by the access user to the control node;
[0054] The transmission module is used to receive the transmission instruction sent by the control node for the task request, and transmit the task request to the target computing node indicated by the transmission instruction for processing; the target computing node corresponding to the task request is determined by the control node based on the resource requirement parameters of the task request reported by the computing nodes in each member cluster of the cluster federation, and the computing resource parameters of the computing nodes in each member cluster.
[0055] In a fifth aspect, an embodiment of the present invention provides an electronic device, including a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus;
[0056] Memory, used to store computer programs;
[0057] The processor is used to implement any of the above-mentioned computing power scheduling methods when executing the program stored in the memory.
[0058] In a sixth aspect, an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any of the above-mentioned computing power scheduling methods is implemented.
[0059] An embodiment of the present invention also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any of the computing power scheduling methods described above.
[0060] Beneficial effects of the embodiments of the present invention:
[0061] The computing power scheduling method and device provided by the embodiment of the present invention, when scheduling task requests, globally consider the computing power resource parameters of the computing power nodes in each member cluster and the resource requirement parameters of the task request, and schedule the task request to the computing power nodes in each member cluster on this basis. When the computing power resources of a single cluster cannot meet the task requirements, cross-cluster and cross-domain scheduling can be achieved through the confirmation mechanism of this global scheduling scheme, thereby solving the problem of insufficient computing power resources in a single cluster and insufficient computing power resources in other clusters that cannot be replenished in time under high concurrency conditions, thereby improving the utilization rate of computing power resources. When the computing power node is specifically a satellite-borne computing power node, it can effectively ensure that the resource utilization rate of each satellite-borne computing power node in the entire network can be guaranteed.
[0062] Of course, it is not necessary to achieve all of the advantages described above at the same time to implement any product or method of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other embodiments can also be obtained based on these drawings.
[0064] Figure 1 is a schematic diagram of the Karmada framework in the related art;
[0065] Figure 2 It is a flow chart of a computing power scheduling method applied to a control node provided by an embodiment of the present invention;
[0066] Figure 3 It is another flow chart of a computing power scheduling method applied to a control node provided by an embodiment of the present invention;
[0067] Figure 4 It is a flowchart of a computing power scheduling process provided by an embodiment of the present invention;
[0068] Figure 5 is another flowchart of the computing power scheduling process provided by an embodiment of the present invention;
[0069] Figure 6 It is a flowchart of a computing power scheduling method applied to a computing power node provided by an embodiment of the present invention;
[0070] Figure 7 It is a schematic diagram of a computing power scheduling device applied to a control node provided by an embodiment of the present invention;
[0071] Figure 8 is another schematic diagram of a computing power scheduling device applied to a control node provided by an embodiment of the present invention;
[0072] Fig. 9 It is a structural schematic diagram of a computing power scheduling device applied to a computing power node provided by an embodiment of the present invention;
[0073] Fig.10 is a schematic structural diagram of an electronic device provided by an embodiment of the present invention;
[0074] Fig.11 It is a schematic diagram of the structure of another electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0075] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field based on this application belong to the scope of protection of the present invention.
[0076] The embodiment of the present invention provides a computing power scheduling method to solve the problem of uneven computing power resource utilization in the current multi-cluster computing scenario. Figure 1 , taking the Karmada (a multi-cloud management platform) architecture as an example, the cluster federation architecture involved in the embodiment of the present invention is exemplarily explained.
[0077] Karmada is a computing power scheduling framework developed mainly on the basis of Cluster Federation V2. It manages multi-cloud and hybrid cloud multi-cluster environments including two types of clusters:
[0078] Host cluster: A cluster composed of the Karmada control plane that accepts application deployment requirements submitted by users, synchronizes them to member clusters, and synchronizes the subsequent operation of applications from member clusters.
[0079] Member cluster: It consists of one or more k8s (Kubernetes, a cluster management platform) clusters and is responsible for running applications submitted by users.
[0080] See also Figure 1 , Karmada’s control plane can specifically include the following components:
[0081] The API server is the front end of the control plane and exposes the API (Application Programming Interface) to the outside world. In actual applications, users can interact with the API server through the command line.
[0082] The scheduler is responsible for scheduling native API resource objects to member clusters.
[0083] The storage component is used as the backend database of Karmada.
[0084] The controller is used to monitor the karmada object and communicate with the API server on the member cluster side to create Kubernetes resources. Depending on the object, it can include cluster controllers, policy controllers, binding controllers, and execution controllers.
[0085] Figure 1Cluster A, cluster B, and other clusters shown in the figure are specifically member clusters, and the member clusters can be deployed with their own API servers and agents.
[0086] Regarding the resource utilization problem of multi-cluster computing power in the cluster federation architecture, the current resource scheduling solution can only meet the scheduling of computing power resources within a single cluster and the dynamic migration of computing power resources. It is unable to perform cross-cluster and cross-domain scheduling. When the computing power resources of a single cluster are insufficient, dynamic migration and horizontal expansion cannot be achieved. This will result in insufficient computing power utilization or "drought and flood" phenomena in resources, making it difficult to meet the peaks and troughs of multiple businesses concurrently.
[0087] In order to solve this problem, the computing power scheduling method applied to the control node provided in the embodiment of the present invention specifically includes: Figure 2 The following steps are shown:
[0088] Step S201: receiving a task request to be scheduled.
[0089] The task request in this step may specifically include all task requests issued to the entire cluster federation. As an example, if the task request is received at a time slot granularity, all task requests within the current time slot interval may be specifically obtained.
[0090] Step S202: Based on the computing power resource parameters of the computing power nodes in each member cluster of the cluster federation and the resource requirement parameters of the task request, the task request is scheduled to the computing power nodes in each member cluster.
[0091] The computing power nodes include satellite computing power nodes. Specifically, when the computing power scheduling method provided in the embodiment of the present invention is applied, computing resources can be deployed on the satellite, and each satellite computing power node can be connected to the network through the cluster federation mechanism, so that when the task is subsequently scheduled, the resource utilization rate of each satellite computing power node in the entire network can be guaranteed.
[0092] Cluster federation is a mechanism for unified management of different clusters, which can include multiple member clusters, and each member cluster consists of a certain number of computing nodes.
[0093] In the embodiment of the present invention, the computing power resource parameters of each computing power node in each member cluster of the cluster federation, or the computing power resource parameters of all computing power nodes in the cluster federation, can be obtained, and combined with the resource requirement parameters of the task request in step S201, to determine to which computing power node each task request is specifically scheduled, and to execute the scheduling of the task request. In this process, based on the resource requirement parameters of the task request and the computing power resource parameters of the computing power node, the computing power node whose corresponding computing power resources can meet the task requirements can be determined.
[0094] Since in this process, the embodiment of the present invention takes into account the computing resource parameters of each computing node in the cluster federation globally, the task request may actually be scheduled to the computing node in any member cluster. As an example, if a certain service is initially opened in cluster A, as the task volume increases, when the service requests computing resources later, the computing nodes in cluster B are more able to meet the resource needs of the service, then it is possible to expand the POD (container group) of the service to cluster B, and realize load sharing between clusters A and B.
[0095] In this process, the computing power resource parameters and resource requirement parameters of the specific application can be selected based on actual needs. The embodiments of the present invention do not specifically limit this. As an example, the computing power resource parameters may include parameters used to characterize the computing performance, storage performance and other functions of the computing power node, and the resource requirement parameters are parameters used to characterize the specific requirements of the task request for computing performance, storage performance, etc.
[0096] When the computing power scheduling method provided by the embodiment of the present invention is applied to Figure 1 In the cluster federation architecture shown, for the tasks to be scheduled in the architecture, the computing resource parameters of the computing nodes in cluster A, cluster B and all other member clusters can be considered globally, and the task requests can be scheduled to the specific computing nodes in each member cluster.
[0097] The computing power scheduling method provided by the embodiment of the present invention, when scheduling task requests, globally considers the computing power resource parameters of the computing power nodes in each member cluster and the resource requirement parameters of the task request, and schedules the task request to the computing power nodes in each member cluster on this basis. When the computing power resources of a single cluster cannot meet the task requirements, cross-cluster and cross-domain scheduling can be achieved through the confirmation mechanism of this global scheduling scheme, thereby solving the problem of insufficient computing power resources in a single cluster and insufficient computing power resources in other clusters that cannot be replenished in time under high concurrency conditions, thereby improving the utilization rate of computing power resources. When the computing power node is specifically a satellite-borne computing power node, it can effectively ensure that the resource utilization rate of each satellite-borne computing power node in the entire network can be guaranteed.
[0098] In addition, for the current application of cloud computing, if cloud computing is introduced into satellite Internet, it can effectively support image preprocessing, water extraction, target identification and other data processing intensive services for space-based and air-based users. Whether it is the satellite-borne computing resources, the aerial computing resources of the high-altitude segment, or the computing resources of the ground segment, relevant application services will be deployed accordingly. For this scenario, there are also problems of insufficient resources and idle resources between the node computing resources of different segments.
[0099] Therefore, in order to improve the resource utilization in this scenario, when applying the computing power scheduling method provided in the embodiment of the present invention, the satellite nodes can be used as sub-cluster nodes, combined with Figure 1 The example cluster federation architecture connects and unifies the computing resources of multiple clusters and opens them to users as a service, so that the computing resource parameters of satellite resources, ground cloud resources, etc. can be considered globally, and task requests can be globally scheduled, so as to fully utilize the computing resources of computing nodes in different segments.
[0100] In one embodiment of the present invention, before receiving the task request to be scheduled, the method further includes:
[0101] Pre-acquire the computing power resource parameters of the computing power nodes in each member cluster of the cluster federation.
[0102] Specifically, the computing resource parameters of the computing nodes in each member cluster can be obtained in advance before receiving the task request of each time slot interval, thereby improving the scheduling efficiency.
[0103] In one embodiment of the present invention, in order to fully utilize computing resources as much as possible, the problem of offloading computing tasks can be modeled as an optimization problem. In this embodiment, the aforementioned step S202 specifically includes:
[0104] The optimization goal is to minimize the total target value when scheduling task requests to computing nodes in each member cluster, determine the optimal match between task requests and computing nodes based on computing resource parameters and resource demand parameters, and schedule task requests based on the optimal match; the target value when scheduling the first task request to the first computing node is determined based on the load ratio of the first task request on the first computing node, and / or the processing time when the first task request is scheduled to the first computing node.
[0105] As an example, if there are N computing nodes registered and managed by the cluster federation members, and there are M user task requests in a single time slot interval, in an embodiment of the present invention, the corresponding target value can be determined based on the load proportion of the i-th task request on the j-th computing node when the i-th task request is scheduled to the j-th computing node, and / or the processing time when the i-th task request is scheduled to the j-th computing node. For example, the target value can be recorded as A i,j .
[0106] On this basis, the total target value can be Modeling is performed to determine the optimal match between task requests and computing nodes through optimization solutions. The combination of (m,n) when the minimum value can be obtained, and then the task request is scheduled according to the optimal match. This ensures that the scheduling result can ensure that the task request is completed as soon as possible and achieve load balancing of computing resources.
[0107] In one embodiment of the present invention, the load ratio of the first task request on the first computing node includes: the computing resource occupancy rate of the first task request on the first computing node, and the storage resource occupancy rate of the first task request on the first computing node; the processing time when the first task request is scheduled to the first computing node includes: the transmission time of the first task request from the access node to the first computing node, and the computing time of the first task request on the first computing node.
[0108] In an embodiment of the present invention, the load share is determined by comprehensively considering the computing resource occupancy rate and storage resource occupancy rate of the task request on the computing power node, and the processing time is determined by comprehensively considering the transmission time and calculation time of the task request. The calculated target value is more accurate, so that when the scheduling is subsequently performed based on the optimal match between the solved task request and the computing power node, it can further ensure that the task request is completed as soon as possible and the load balancing of the computing power resources is achieved.
[0109] In one embodiment of the present invention, the computing power resource parameter includes a first parameter corresponding to the load ratio and a second parameter corresponding to the processing time, and the resource demand parameter includes a third parameter corresponding to the load ratio and a fourth parameter corresponding to the processing time;
[0110] Among them, the first parameter includes: the size of computing resources and storage resources that the computing power node can provide; the second parameter includes: computing power and network transmission capacity between itself and other computing power nodes; the third parameter includes: computing resource demand and storage resource demand; the fourth parameter includes: computing task volume, transmission task volume and access node.
[0111] In the embodiment of the present invention, the task can be completed as early as possible, and / or the load balance between different computing nodes in the cluster federation is specifically aimed at, and the optimization modeling in the computing power scheduling process is performed to determine the optimal match between the task request and the computing power node. The modeling process is exemplarily described below with reference to a specific example:
[0112] When determining the optimal match between a task request and a computing power node, it is necessary to first perform a modeling process for computing power scheduling based on the computing power resource parameters of the computing power node and the resource requirement parameters of the task request.
[0113] As an example, if there are N computing nodes registered and managed by the cluster federation members, the set of computing nodes can be specifically expressed as: V = {V 1 ,V 2 ,...,VN},V n ∈V represents the nth computing power node in the set, and the computing power node can be specifically expressed as: V n = {VC n ,VR n ,VF n ,VE n}.
[0114] Among them, VC n Represents the computing power node V n The size of available computing resources, which may include the number of CPU (Central Processing Unit) cores of the computing power node; VR n Represents the computing power node V n The available storage resource size, which may include the memory capacity and external storage capacity of the computing power node; VF n Represents the computing power node V n The computing power that can be provided can be specifically the computing speed of the computing power node when executing tasks; VE n Represents the computing power node V n The upper limit of available energy consumption. In addition, E={E i,j ∶i,j=1,2,...,N} to represent the network connection between computing nodes, E i,j ∈E is specifically the computing power node V i and V j The network transmission capacity between computing nodes, and the network transmission capacity can specifically refer to the bandwidth between computing power nodes.
[0115] Correspondingly, if there are M users' task requests in a single time slot, the set of task requests can be expressed as: U = {U 1 ,U 2 ,...,U M},U m ∈U represents the mth task request, and the task request can be specifically expressed as: U m ={UV m ,UC m ,UR m ,UF m ,UP m ,UE m ,UD m}.
[0116] Among them, UV m Represents the task request U m The initial access computing node, or access node; UC m Represents the task request U m The computing resource requirements of URm Represents the task request U m Storage resource requirements of UF m Represents the task request U m The amount of computing tasks; UP m Represents the task request U m The transmission task volume of UE m Represents the task request U m Energy consumption; UD m Represents the task request U m The latest completion time allowed can be specifically understood as the maximum duration allowed from the issuance of the task request to the completion of the processing. In one or more subsequent embodiments of the present invention, it is referred to as the maximum processing duration allowed for the task request.
[0117] After determining the above computing resource parameters and resource demand parameters, the target value for scheduling the first task request (any task request to be scheduled) to the first computing node (any computing node in the cluster federation) can be determined. In an embodiment of the present invention, the load proportion of the first task request on the first computing node and / or the processing time of the first task request can be used as the target value in combination with actual needs.
[0118] The following task request U m Scheduled to computing node V n For example, the target values involved in the embodiments of the present invention are specifically described.
[0119] Among them, the task request U m In the computing power node V n The load ratio on B m,n Specifically, it can be based on the first parameter (VC n 、VR n ) and the third parameter (UC m , UR m ) is determined, which can be specifically expressed as follows:
[0120]
[0121] in, It can be understood as a task request U m In the computing power node V n The computing resource utilization rate on It can be understood as the task request U m In the computing power node V n The storage resource usage on the server.
[0122] In order to reduce the computational complexity in determining the optimal solution, B m,n Perform normalization to obtain the normalized load ratio NBm,n :
[0123]
[0124] Among them, min B represents all load levels B m,n The minimum value in the max B represents all load levels B m,n The maximum value in .
[0125] Task Request m Scheduled to computing node V n The processing time T m,n Then we can use the second parameter (VF n , E) and the fourth parameter (UF m UP m 、UV m ) is determined, which can be specifically expressed as follows:
[0126]
[0127] in, Characterize the computing power node V n and task request U m Access node UV m The network transmission capacity between It can be understood as a task request U m In the computing power node V n The calculation time on It can be understood as a task request U m The relevant data is accessed by the node UV m Transmit to computing power node V n The transmission time.
[0128] With B m,n The normalization process is similar, and the normalized processing time is NT m,n Specifically, it can be expressed as follows:
[0129]
[0130] Among them, min T represents the total processing time T m,n The minimum value in, max T represents the total processing time T m,n The maximum value in .
[0131] Combined with the above content, if x m,n ∈{0, 1}, To indicate the specific scheduling result, x m,n =1 indicates that the task request U m Dispatched to computing power node V n Up, xm,n = 0 means that the task request U is not sent m Dispatched to computing power node V n Specifically, the scheduling problem can be established as an integer programming model. The total load ratio when scheduling task requests to the computing nodes in each member cluster can be specifically expressed as The total processing time can be specifically expressed as On this basis, we can combine the actual needs and and To confirm the total target value, minimize the total target value to optimize the goal, solve x m,n , determine the optimal match between task requests and computing power nodes based on the solution results.
[0132] In one embodiment of the present invention, in order to facilitate the determination of the corresponding optimal match in combination with the different emphasis on the earliest completion time of the task request and the load balancing degree between the computing nodes in the actual application, the target value when the first task request is scheduled to the first computing node is specifically the weighted sum of the load proportion of the first task request on the first computing node and the processing time of the first task request. Continuing from the previous example, the objective function of the integer programming model can be specifically expressed as:
[0133]
[0134] Among them, ω 1 is the weight of the load proportion in the target value, ω 2 is the weight of the processing time in the target value. To simplify the calculation, we can specify ω 1 With ω 2 The sum of is 1. Among them, ω 1 With ω 2 The value of can be set based on actual needs. As an example, if you are more concerned about completing the task as soon as possible, you can set ω 2 Set to a larger value, ω 1 Set to a smaller value; if there is no emphasis on the earliest completion time or the degree of load balancing, you can set ω 1 With ω 2 Both are set to 0.5.
[0135] In an embodiment of the present invention, the optimal match between task requests and computing nodes is determined by minimizing the total target value when scheduling task requests to computing nodes in each member cluster as an optimization target, and the target value when scheduling the first task request to the first computing node is determined based on the load proportion of the first task request on the first computing node and / or the processing time of the first task request. The global scheduling solution is solved based on the optimization model, so that the scheduling result can ensure that the task request is completed as soon as possible and the load balancing of computing resources is achieved.
[0136] In one embodiment of the present invention, in order to ensure the effectiveness of the global scheduling solution obtained by optimizing the integer programming model, corresponding constraints may be specified, so that the aforementioned step S202 specifically includes:
[0137] The optimization goal is to minimize the total target value when scheduling task requests to the computing nodes in each member cluster. Based on the computing resource parameters and resource demand parameters, the optimal match between task requests and computing nodes is determined under scheduling constraints.
[0138] In an embodiment of the present invention, the scheduling constraints can be specifically limited in combination with actual needs. For example, a task request should be scheduled to a computing power node that can meet the resource requirements of the task request, and the optimal match between the task request and the computing power node can be solved under the constraints, thereby improving the computing efficiency and the accuracy of the solution results.
[0139] In one embodiment of the present invention, the scheduling constraints include one or more of the following:
[0140] (1) The sum of the computing resource requirements of the tasks requested by a computing node shall not exceed the computing resources that the computing node can provide.
[0141] Continuing from the previous example, this constraint can be specifically expressed as:
[0142]
[0143] (2) The sum of the storage resource requirements of the tasks requested by a computing node shall not exceed the storage resource size that the computing node can provide.
[0144] Continuing from the previous example, this constraint can be specifically expressed as:
[0145]
[0146] (3) The sum of the energy consumption of the task requests scheduled to a computing node shall not exceed the upper limit of the energy consumption that the computing node can provide.
[0147] Continuing from the previous example, this constraint can be specifically expressed as:
[0148]
[0149] (4) The processing time of the task request being scheduled to the computing node shall not exceed the maximum processing time allowed for the task request.
[0150] Continuing from the previous example, this constraint can be specifically expressed as:
[0151]
[0152] (5) A task request is only scheduled to one computing node.
[0153] Continuing from the previous example, this constraint can be specifically expressed as:
[0154]
[0155] In an embodiment of the present invention, the integer programming model is optimized and solved based on the above-mentioned constraints, which can ensure that when scheduling is performed based on the solved optimal matching solution, the corresponding computing power nodes can meet the task requirements and ensure the validity of the solution results.
[0156] It should be understood that the computing power scheduling method provided by the embodiment of the present invention takes into account all computing power nodes in the cluster federation and all task requests within the time slot interval. If an accurate numerical algorithm is used to optimize the above integer programming model, it will take a long time. Therefore, based on the idea of approximate solution, the embodiment of the present invention provides a scheduling method that can quickly solve the optimal match between task requests and computing power nodes on the basis of ensuring that tasks are completed as soon as possible and computing power resources are load balanced. See Figure 3 , the method may specifically include the following steps:
[0157] Step S301: Based on the first order of the computing nodes in each member cluster, the task requests to be scheduled are scheduled in sequence, and the first order is the order of the idle time of the computing nodes from early to late and / or the load degree from small to large; wherein the idle time represents the earliest time when the computing node can start processing the task request, and the load degree represents the computing resource occupancy rate and / or storage resource occupancy rate of the computing node.
[0158] Specifically, since a computing node may need to complete processing of a scheduled task request before processing the next task request, different computing nodes may have different idle times. In practical applications, the idle time of a computing node can be determined based on the amount of computing tasks of the task request to be processed by the computing node and the computing power of the computing node.
[0159] In addition, based on the current computing resource utilization and storage resource utilization of the computing power node, the current load level of the computing power node can also be determined.
[0160] In order to determine which computing node to schedule the task request to be scheduled to, the computing nodes can be sorted in order of their idle time from early to late and / or load degree from small to large, and then the task request is scheduled based on the sorting result.
[0161] As an example, in order to prioritize the task request to be completed as soon as possible and achieve load balancing on this basis, the computing power nodes can be sorted in order of idle time from early to late. For the computing power nodes with the same idle time, they can be sorted in order of load degree from small to large.
[0162] In an embodiment of the present invention, the computing nodes in each member cluster are sorted in the order of idle time from early to late and / or load degree from small to large, which is equivalent to determining the scheduling priority between each computing node. Therefore, when the task requests are scheduled in sequence, each task request can be preferentially scheduled to the computing node with the earliest idle time and / or the smallest load degree, thereby ensuring the earliest completion time of the task and the load balance between the computing nodes.
[0163] In one embodiment of the present invention, the aforementioned step S301 specifically includes the following sub-steps:
[0164] Step A: Determine a task request among the task requests to be scheduled.
[0165] As mentioned above, multiple task requests may be received within the same time slot interval. In the embodiment of the present invention, the optimal global scheduling is achieved by scheduling these task requests in sequence.
[0166] Furthermore, before scheduling the task request for each time slot interval, the computing resource parameters of the computing node at the current moment and the resource requirement parameters of the task request may be initialized.
[0167] Step B: Based on the idle time and / or load level of the computing nodes in each member cluster, determine the current first order, and schedule the task request to the first computing node in the first order.
[0168] It should be understood that each time a task request is scheduled, the idle time and load level of the corresponding computing node will change. Therefore, before scheduling the next task request, the current first order needs to be re-determined.
[0169] Since the first order specifically sorts the computing nodes in order of idle time from early to late and load degree from small to large, the task request is scheduled to the first computing node after sorting, which can specifically schedule the task request to the computing node that can start processing the task request earliest and has the smallest load degree.
[0170] Step C: Update the idle time and / or load level of the computing power node, and return to the step of determining a task request from the task requests to be scheduled until all task requests are scheduled.
[0171] After scheduling a task request to be scheduled to a computing node, the idle time and / or load level of the computing node can be updated based on the scheduling result. If there are still task requests that have not been scheduled, return to step A and schedule the next task request to be scheduled based on steps AB. If all task requests are scheduled, the scheduling result at the current moment can be output.
[0172] In an embodiment of the present invention, task requests to be scheduled are specifically scheduled in sequence, and when each task request is scheduled, the computing nodes are specifically sorted based on the current idle time and / or load level of each computing node, and then the task request is scheduled to the first computing node after the sorting. Compared with greedy algorithms such as first-come-first-served, it can ensure the early completion of the task and the balance of resource load, and can obtain a better solution in a very short time, with high scheduling efficiency.
[0173] In one embodiment of the present invention, before determining a task request in the task requests to be scheduled, the method further includes:
[0174] Sort the task requests to be scheduled in descending order of computing task volume and / or resource demand; the resource demand includes computing resource demand and / or storage resource demand;
[0175] Accordingly, the aforementioned determining a task request from the task requests to be scheduled includes:
[0176] The first task request to be scheduled is determined among the sorted task requests.
[0177] As mentioned above, when applying the above steps AC to perform computing power scheduling, the task requests to be scheduled will be specifically scheduled in sequence. In the embodiment of the present invention, in order to ensure that task requests with high computing tasks and large resource requirements are processed as soon as possible, to avoid the task requests with high computing tasks not being processed in time and prolonging the global processing time, and to prioritize scheduling of a large number of task requests with small resource requirements to each computing power node, which may lead to the fragmentation of computing resources and the waste of small-scale computing resources, the task requests to be scheduled can be specifically sorted in order from large to small in terms of computing tasks and / or resource requirements. When scheduling task requests, the sorted task requests can be specifically taken out in order, and these task requests can be scheduled in sequence based on the above steps AC.
[0178] As an example, the task requests may be specifically sorted in order of computing task amounts from large to small, and task requests with the same computing task amounts may be sorted in order of resource requirements from large to small.
[0179] In the embodiment of the present invention, in the process of sequentially scheduling task requests, the scheduling order is determined based on the computing task amount and / or resource demand of the task request, which can further ensure that the task is processed and completed as soon as possible and avoid resource fragmentation and waste of computing resources. The time complexity of this process of determining the scheduling scheme is only O(Mlog 2 N), compared to the exponential time complexity O(2 MN ) can obtain a better solution in a short time.
[0180] In actual applications, for a task request to be scheduled, the computing resources of some computing nodes may not be sufficient to meet the needs of the task request. If these computing nodes are also sorted, the amount of calculation in the process of determining the scheduling solution may increase. Therefore, in one embodiment of the present invention, after a task request is determined in the task request to be scheduled, the current first order is determined based on the idle time and / or load level of the computing nodes, including:
[0181] Computing nodes that meet the resource requirement conditions of the task request are selected from the computing nodes of each member cluster, and the first order of the selected computing nodes is determined based on the idle time and / or load level of the computing nodes.
[0182] In an embodiment of the present invention, for a task request to be scheduled, before sorting the computing power nodes to determine the corresponding computing power nodes, the computing power nodes that meet the resource requirement conditions of the task request are first screened, and then the screened computing power nodes are sorted, which can further reduce the computational complexity in the process of determining the scheduling plan.
[0183] In one embodiment of the present invention, the resource requirement condition includes one or more of the following:
[0184] The remaining computing resources of the computing power node are not less than the computing resource requirements of the task request;
[0185] The remaining storage resource size of the computing power node is not less than the storage resource requirement of the task request;
[0186] The upper limit of the remaining energy consumption of the computing power node is not less than the energy consumption requested by the task;
[0187] The processing time of the task request being scheduled to the computing power node shall not exceed the maximum processing time allowed for the task request.
[0188] For each extracted task request to be scheduled, after selecting the computing nodes that meet the requirements of the task request from the cluster federation based on the above resource requirement conditions, the selected computing nodes can be sorted based on the above step B, and the task request can be scheduled to the first computing node after sorting. This ensures that after the task request is scheduled to the corresponding computing node, the computing node can smoothly execute the processing process for the task request.
[0189] Figure 4 This is a flow chart of the computing power scheduling process provided by an embodiment of the present invention. For ease of understanding, the following is a flowchart of the computing power scheduling process provided by an embodiment of the present invention. Figure 4 When the computing power scheduling method provided by any of the foregoing embodiments of the present invention is applied to the Karmada framework, the specific process of computing power scheduling is exemplarily described, and this process may specifically include the following steps:
[0190] Step S401: Pre-acquire computing resource information of federation member nodes.
[0191] That is, obtain the computing power resource information of each computing power node in the cluster federation. For specific content, please refer to the description of computing power resource parameters in the previous article.
[0192] Step S402: Receive a task request from a user within a single time slot, and split the user's computing resource data based on the task.
[0193] That is, receiving the task request and obtaining the resource requirement parameters of the task request.
[0194] Step S403: Determine the optimal offloading strategy for the task based on the user's task request information and the federated computing resource information.
[0195] That is, the optimal global scheduling solution is determined with the earliest completion time of the task and the load balance of computing resources as the goal. Specifically, the process of determining the optimal offloading strategy, or the optimal global scheduling solution, includes: Figure 5 Several sub-steps are shown:
[0196] Step S4031: Perform information modeling on the user task computing power requests and cloud-edge computing power resources received within a single time slot.
[0197] Step S4032: Establish an integer programming optimization problem based on the demand and resource model.
[0198] Step S4033: The optimal scheduling solution is obtained by solving the computing power scheduling algorithm based on the earliest task completion time and resource load balancing.
[0199] The above steps S4031-S4033 may refer to the above description for details, that is, based on the task request U m Dispatched to computing power node Vn The target value on the task request U m The processing time and / or task request U m In the computing power node V n The total target value when scheduling task requests to the computing nodes in each member cluster is determined by the load proportion on the cluster, and the optimal global scheduling solution is solved by minimizing the total target value, that is, the optimal match between task requests and computing nodes in the previous article.
[0200] Step S404: Based on the cloud-edge computing resources determined by the task offloading strategy, a service service is created to complete the establishment of a mutually trusted Internet network between nodes.
[0201] That is, after determining the optimal global scheduling plan, the network between computing nodes is established with the help of the service of the Karmada framework to facilitate the transmission of task request-related data according to the global scheduling plan.
[0202] Step S405: forwarding and processing the user task, and returning the processing result of the user task.
[0203] That is, according to the determined global scheduling plan, the task request is scheduled to the corresponding computing power node, and the computing power node executes the processing and returns the processing result.
[0204] Step S406: Complete the synchronization of the overall resource information and status of the computing power nodes based on the federation mechanism of Karmada.
[0205] After completing the scheduling of the task request for the current time slot interval, the computing power resource parameters of the computing power node can be updated based on Karmada's federal mechanism, and the task request for the next time slot interval can be scheduled based on the same principle.
[0206] Accordingly, the embodiment of the present invention further provides a computing power scheduling method for computing power nodes in a cluster federation, wherein the computing power nodes include satellite-borne computing power nodes, see Figure 6 , the method comprising:
[0207] Step S601: reporting resource requirement parameters of the task request issued by the access user to the control node;
[0208] Step S602: Receive the transmission instruction sent by the control node for the task request, and transmit the task request to the target computing node indicated by the transmission instruction for processing; the target computing node corresponding to the task request is determined by the control node based on the resource requirement parameters of the task request reported by the computing nodes in each member cluster of the cluster federation, and the computing resource parameters of the computing nodes in each member cluster.
[0209] In an embodiment of the present invention, the computing power node will report the required resource parameters of the task request of the access user to the control node, so that the control node can specifically globally consider the computing power resource parameters of the computing power nodes in each member cluster and the resource requirement parameters of the task request in the entire cluster federation, thereby determining the target computing power node corresponding to each task request in the computing power nodes of each member cluster, and scheduling the task request. This can solve the problem of insufficient computing power resources in a single cluster under high concurrency conditions, while other clusters have excess computing power resources but cannot be replenished in time, thereby improving the utilization rate of computing power resources.
[0210] In addition, in order to realize the specific application of the above computing power scheduling method in the Karmada framework, the embodiment of the present invention also carries out secondary development and capability integration based on Karmada, integrates the above computing power scheduling method into Karmada, realizes Karmada+, and provides a computing power scheduling device. Figure 7 , an exemplary description is given of a computing power scheduling device provided in an embodiment of the present invention, and the device specifically includes:
[0211] The supervision module is used to obtain the computing resource parameters of the computing nodes in each member cluster of the cluster federation;
[0212] An algorithm module is used to determine a task offloading scheme for the task request on the computing nodes in each member cluster based on the resource requirement parameters of the task request to be scheduled and the computing resource parameters obtained by the supervision module;
[0213] The control plane is used to schedule task requests to computing nodes in each member cluster based on the task offloading solution.
[0214] Specifically, in the current cluster federation architecture, the control plane only has an execution function, but not a decision-making function. That is to say, when the control plane schedules a task request to a specific computing node, it can only schedule the task request based on a pre-designed scheduling strategy (for example, a binding relationship between a task request of a certain application and a specific member cluster is pre-defined), but cannot make specific decisions on the scheduling plan based on the actual status of each computing node. This also leads to the problem of unbalanced load among different clusters in the current cluster federation architecture.
[0215] In the embodiment of the present invention, in order to implement scheduling decisions in the cluster federation architecture, the global computing resource parameters are sensed through the supervision module, and the specific scheduling decisions are made through the algorithm module.
[0216] Among them, the supervision module is used to perceive the computing resource parameters of the computing nodes in each computing cluster, so that before making a scheduling decision, the computing resource parameters of the computing nodes in different member clusters in the cluster federation architecture can be integrated. Figure 7 For example, the supervision module can specifically perceive the computing resource parameters of the computing nodes in cluster A, cluster B, and other clusters.
[0217] Specifically, the supervision module can perceive complete computing resource parameters such as load, status monitoring, and fault monitoring.
[0218] The algorithm module can obtain the computing resource parameters perceived by the supervision module, and determine the task offloading scheme for the task request on the computing nodes in each member cluster in combination with the various task requests received by the cluster federation architecture. Based on the task offloading scheme determined by the algorithm module, the scheduling execution process can be intervened based on the task offloading scheme, instructing the control plane to execute the scheduling of the task request based on the task offloading scheme given by the algorithm module.
[0219] In an embodiment of the present invention, the computing power resource parameters of the computing power nodes in different member clusters in the cluster federation architecture are integrated through the supervision module, and when making scheduling decisions, the algorithm module can globally consider the computing power resource parameters of the computing power nodes in each member cluster and the resource requirement parameters of the task request to determine the task offloading plan, and perform scheduling through the control plane based on the task offloading plan obtained by the algorithm module, thereby realizing automatic scheduling in the cluster federation mechanism, and can solve the problem of insufficient computing power resources of a single cluster in high concurrency situations, while other clusters have excess computing power resources but cannot be replenished in time, thereby improving the utilization rate of computing power resources.
[0220] In one embodiment of the present invention, the control plane includes a scheduler, and the scheduler is used to schedule task requests to computing nodes in each member cluster according to a scheduling policy preconfigured in the scheduler;
[0221] The device also includes:
[0222] The policy management module is used to define or update the scheduling policy configured in the scheduler based on the task offloading plan determined by the algorithm module.
[0223] Specifically, the control plane schedules task requests through the controller, and the scheduler can specifically apply its internally configured scheduling strategy to perform scheduling. As mentioned above, the control plane only has an execution function, but not a decision-making function. In an embodiment of the present invention, in order to effectively intervene in the execution process of the scheduler so that the scheduler can perform scheduling according to the task offloading scheme obtained by the algorithm module, a policy management module is configured in the computing power scheduling device, and the policy management module defines or updates the scheduling strategy configured in the scheduler based on the algorithm module, so that when the scheduler implements its execution function based on the scheduling strategy, it can specifically perform scheduling based on the task offloading scheme obtained by the algorithm module, so that the scheduling result meets expectations.
[0224] As an example, in order to facilitate the management of scheduling policies, a policy management module may be designed to implement the definition, deletion, and viewing functions of scheduling policies.
[0225] In one embodiment of the present invention, the algorithm module is specifically used to determine the task offloading scheme of the task request on the computing nodes in each computing cluster based on the computing resource parameters and the resource demand parameters, with the total target value when minimizing the task request when scheduling the task request to the computing nodes in each member cluster as the optimization goal.
[0226] Specifically, the algorithm module is used to implement scheduling decisions, that is, to determine the task offloading solution. Therefore, the algorithm module can actually determine the task offloading solution, or the optimal match between the task request and the computing power node, based on the computing power scheduling method provided in any of the aforementioned embodiments of the present invention. For the specific process of determining the task offloading solution, reference can be made to the description in any of the aforementioned embodiments of the present invention.
[0227] In the implementation of the present invention, in order to ensure that when scheduling is performed based on the final determined task offloading scheme, the task request can be processed and completed as soon as possible and the load is balanced between the member clusters, the computing power node specifically determines the task offloading scheme by minimizing the total target value when scheduling the task request to the computing power nodes in each member cluster as the optimization goal. Therefore, the process of determining the task offloading scheme is actually an optimization problem, and the optimization solution algorithm adopted by the algorithm module can be selected based on actual needs.
[0228] As an example, in order to ensure the effectiveness of the algorithm module in solving the task offloading solution, the algorithm module can also be used to implement the learning of the perception data of the supervision module, the training of the algorithm, the prediction of the model, etc., which are related to solving the task offloading solution.
[0229] In an embodiment of the present invention, the algorithm module specifically takes minimizing the total target value when scheduling task requests to computing nodes in each member cluster as the optimization goal, and determines the task offloading plan, so that the final scheduling result can ensure that the task request is completed as soon as possible and achieve load balancing of computing resources.
[0230] In one embodiment of the present invention, the computing power node specifically includes a satellite-borne computing power node.
[0231] Specifically, by implementing the grid connection of satellite computing nodes through cluster federation and applying the computing device provided by the embodiment of the present invention to schedule task requests between various satellite computing nodes, it is possible to effectively ensure the resource utilization rate of various satellite computing nodes in the entire network.
[0232] It should be understood that other functional modules can be further integrated on the basis of the above computing power scheduling device. Figure 8 For further description of the computing power scheduling device provided in the embodiment of the present invention, see Figure 8 The Karmada+ provided in the embodiment of the present invention is specifically Figure 1 The Karmada framework shown integrates the supervision module, algorithm module, policy management module, operation management module, and deployment control module.
[0233] The above framework mainly realizes the aggregation of multiple sub-clusters into a unified cluster, realizes the aggregation and networking of multiple computing power clusters, completes the aggregation of computing power resources and status of all clusters, and realizes the management of multi-domain computing power and the unification of relevant strategies of the traffic ingress controller.
[0234] Among them, the functions of the supervision module, the algorithm module, and the policy management module can refer to the description in the aforementioned embodiments of the present invention.
[0235] The operation management module is mainly used to complete the deployment of platform applications, specifically, the deployment of applications in each member cluster.
[0236] The deployment control module is mainly used to complete the unified management of code versions and standardize the release process, so as to achieve the management of the entire life cycle of applications from deployment to extinction.
[0237] On this basis, Figure 8 The specific workflow of the framework shown is as follows:
[0238] Step 1: Register and connect the computing power clusters of the user segment, ground segment, and high-altitude segment to the grid, allowing Karmada to manage the entire cluster, allowing the cluster to join the federal organization and form a federal entity.
[0239] Step 2: The supervision module monitors the computing power status and load information of the member cluster as indicators to perceive the computing power resource information status. Figure 8 The computing resource parameters of cluster A, cluster B, and other clusters are shown in FIG.
[0240] Step 3: The algorithm module calculates and outputs the corresponding computing power distribution thermal data based on the information data perceived by the supervision module and the computing power scheduling method provided in the aforementioned embodiment of the present invention, based on the earliest completion time of the task request and the load balancing degree of the computing power resources, and derives the optimal global scheduling plan (i.e., the aforementioned task unloading plan) based on the thermal data distribution.
[0241] Step 4: When users accept computing power products / services on the front-end self-service portal, the Karmada framework obtains the computing power resource parameters of the user's task, selects strategies and confirms the activation location based on the computing power resource distribution thermal data provided by the algorithm module.
[0242] Step 5: If the computing resources that have been opened fail or are insufficient, the scheduling strategy will be triggered to migrate and expand the computing resources. For example, the computing power of application A is initially opened in cluster A, and application B is also opened in cluster A. Because both A and B businesses will have access peaks during a certain period of time, the overall pressure on computing resources is relatively large. At this time, both A and B will start scheduling and expand the POD to cluster B based on the task offloading solution given by the algorithm module, or A will start scheduling first and B will remain unchanged, or B will start scheduling first and A will remain unchanged (A or B starts first mainly depending on who triggers the scheduling strategy first) until the pressure on cluster A is relieved and the overall dynamic scheduling of computing power is completed.
[0243] Based on the above content, it can be seen that the computing power scheduling device provided by the embodiment of the present invention can realize the online dynamic migration of computing power resources and can be smoothly carried out between multiple federal member groups, which greatly improves the utilization rate of computing power resources and allows computing power resources to play a great supporting role in service assurance.
[0244] In addition, when the computing power clusters of the user segment, ground segment, and high-altitude segment are connected to the grid based on the above-mentioned architecture, a multi-domain computing power scheduling architecture for the satellite field is formed by combining the cross-cluster scheduling and intelligent online scheduling algorithms, realizing the integrated coordination of computing power resources.
[0245] Correspondingly, the embodiment of the present invention further provides a computing power scheduling device, which is applied to computing power nodes in a cluster federation, wherein the computing power nodes include satellite-borne computing power nodes, see Fig. 9 , the device comprises:
[0246] The reporting module 901 is used to report the resource requirement parameters of the task request issued by the access user to the control node;
[0247] The transmission module 902 is used to receive the transmission instruction sent by the control node for the task request, and transmit the task request to the target computing power node indicated by the transmission instruction for processing; the target computing power node corresponding to the task request is determined by the control node based on the resource requirement parameters of the task request reported by the computing power nodes in each member cluster of the cluster federation, and the computing power resource parameters of the computing power nodes in each member cluster.
[0248] In an embodiment of the present invention, the computing power node will report the required resource parameters of the task request of the accessed user to the control node, so that the control node can specifically globally consider the computing power resource parameters of the computing power nodes in each member cluster and the resource requirement parameters of the task request in the entire cluster federation, thereby scheduling the task request. This can solve the problem of insufficient computing power resources in a single cluster under high concurrency conditions, while other clusters have excess computing power resources but cannot be replenished in time, thereby improving the utilization rate of computing power resources.
[0249] The embodiment of the present invention further provides an electronic device, which is applied to a control node, such as Fig.10 As shown, it includes a processor 1001, a communication interface 1002, a memory 1003 and a communication bus 1004, wherein the processor 1001, the communication interface 1002, and the memory 1003 communicate with each other through the communication bus 1004.
[0250] Memory 1003, used for storing computer programs;
[0251] The processor 1001 is used to execute the program stored in the memory 1003, and implements the following steps:
[0252] Receive task requests to be scheduled;
[0253] Based on the computing power resource parameters of the computing power nodes in each member cluster of the cluster federation and the resource requirement parameters of the task request, the task request is scheduled to the computing power nodes in each member cluster; the computing power nodes include satellite-borne computing power nodes.
[0254] The embodiment of the present invention also provides another electronic device, which is applied to a computing node, such as Fig.11 As shown, it includes a processor 1101, a communication interface 1102, a memory 1103 and a communication bus 1104, wherein the processor 1101, the communication interface 1102, and the memory 1103 communicate with each other through the communication bus 1104.
[0255] Memory 1103, used for storing computer programs;
[0256] The processor 1101 is used to implement the following steps when executing the program stored in the memory 1103:
[0257] Report the resource requirement parameters of the task request issued by the access user to the control node;
[0258] The control node receives the transmission instruction sent by the control node for the task request, and transmits the task request to the target computing node indicated by the transmission instruction for processing; the target computing node corresponding to the task request is determined by the control node based on the resource requirement parameters of the task request reported by the computing nodes in each member cluster of the cluster federation, and the computing resource parameters of the computing nodes in each member cluster.
[0259] The communication bus mentioned in the above electronic device can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0260] The communication interface is used for communication between the above electronic device and other devices.
[0261] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0262] The above-mentioned processor 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 gate or transistor logic devices, discrete hardware components.
[0263] In another embodiment of the present invention, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned computing power scheduling methods are implemented.
[0264] In another embodiment provided by the present invention, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any computing power scheduling method in the above embodiments.
[0265] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk Solid State Disk (SSD)), etc.
[0266] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0267] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the computing power scheduling device, electronic device, and readable storage medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0268] The above description is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.
Claims
1. A computing power scheduling method, It is characterized in that Applied to a control node, the method comprises: Receive task requests to be scheduled; Based on the computing power resource parameters of the computing power nodes in each member cluster of the cluster federation and the resource requirement parameters of the task request, the task request is scheduled to the computing power nodes in each member cluster; the computing power nodes include satellite-borne computing power nodes.
2. The method according to claim 1, It is characterized in that The task request is dispatched to the computing nodes in each member cluster based on the computing resource parameters of the computing nodes in each member cluster of the cluster federation and the resource requirement parameters of the task request, specifically including: Taking minimizing the total target value when scheduling the task request to the computing nodes in each member cluster as the optimization goal, based on the computing resource parameters and the resource demand parameters, determine the optimal match between the task request and the computing node, and schedule the task request based on the optimal match; the target value when scheduling the first task request to the first computing node is determined based on the load proportion of the first task request on the first computing node, and / or the processing time when the first task request is scheduled to the first computing node.
3. The method according to claim 2, It is characterized in that The load ratio of the first task request on the first computing power node includes: the computing resource occupancy rate of the first task request on the first computing power node, and the storage resource occupancy rate of the first task request on the first computing power node; the processing time when the first task request is scheduled to the first computing power node includes: the transmission time of the first task request from the access node to the first computing power node, and the computing time of the first task request on the first computing power node.
4. The method according to claim 3, It is characterized in that The computing resource parameter includes a first parameter corresponding to the load ratio and a second parameter corresponding to the processing time, and the resource demand parameter includes a third parameter corresponding to the load ratio and a fourth parameter corresponding to the processing time; Among them, the first parameter includes: the size of computing resources and storage resources that the computing power node can provide, the second parameter includes: computing power, network transmission capacity between itself and other computing power nodes, the third parameter includes: computing resource demand, storage resource demand, and the fourth parameter includes: computing task volume, transmission task volume, and access node.
5. The method according to claim 2, It is characterized in that The optimization goal is to minimize the total target value when scheduling the task request to the computing nodes in each member cluster, and determine the optimal match between the task request and the computing node based on the computing resource parameter and the resource requirement parameter, specifically including: The optimization goal is to minimize the total target value when scheduling the task request to the computing power nodes in each member cluster, and based on the computing power resource parameters and the resource demand parameters, determine the optimal match between the task request and the computing power node under scheduling constraints.
6. The method according to claim 5, It is characterized in that The scheduling constraints include one or more of the following: The sum of the computing resource requirements of the task requests scheduled to one of the computing power nodes does not exceed the computing resource size that the computing power node can provide; The sum of the storage resource requirements of the task requests scheduled to one of the computing power nodes does not exceed the storage resource size that the computing power node can provide; The sum of energy consumption of the task requests dispatched to one of the computing power nodes does not exceed the upper limit of energy consumption that the computing power node can provide; The processing time of the task request being scheduled to the computing power node does not exceed the maximum processing time allowed for the task request; One of the task requests is only scheduled to one of the computing power nodes.
7. The method according to claim 2, It is characterized in that The target value when scheduling the first task request to the first computing node is specifically a weighted sum of the load proportion of the first task request on the first computing node and the processing time when the first task request is scheduled to the first computing node.
8. The method according to claim 1 or 2, It is characterized in that Before receiving the task request to be scheduled, the method further includes: The computing power resource parameters of the computing power nodes in each member cluster of the cluster federation are obtained in advance.
9. The method according to claim 1, It is characterized in that The task request is dispatched to the computing nodes in each member cluster based on the computing resource parameters of the computing nodes in each member cluster of the cluster federation and the resource requirement parameters of the task request, specifically including: Based on the first order of the computing nodes in each member cluster, the task requests to be scheduled are scheduled in sequence, and the first order is the order of the idle time of the computing nodes from early to late and / or the load degree from small to large; wherein the idle time represents the earliest time when the computing node can start processing the task request, and the load degree represents the computing resource occupancy rate and / or storage resource occupancy rate of the computing node.
10. The method according to claim 9, It is characterized in that The scheduling of the task requests to be scheduled based on the first order of the computing nodes in each member cluster includes: Determine a task request among the task requests to be scheduled; Determine the current first order based on the idle time and / or load level of the computing nodes in each member cluster, and schedule the task request to the first computing node in the first order; Update the idle time and / or load level of the computing power node, and return to the step of determining a task request from the task requests to be scheduled until all the task requests are scheduled.
11. The method according to claim 10, It is characterized in that Before determining a task request among the task requests to be scheduled, the method further includes: Sorting the task requests to be scheduled in descending order of computing task amount and / or resource requirement; the resource requirement includes computing resource requirement and / or storage resource requirement; The step of determining a task request from the task requests to be scheduled includes: The first task request to be scheduled is determined among the sorted task requests.
12. The method according to claim 10, It is characterized in that After determining a task request among the task requests to be scheduled, determining the current first order based on the idle time and / or load level of the computing power node includes: Computing nodes that meet the resource requirement conditions of the task request are selected from the computing nodes of the member clusters, and the first order of the selected computing nodes is determined based on the idle time and / or load level of the computing nodes.
13. The method according to claim 12, It is characterized in that The resource requirement conditions include one or more of the following: The remaining computing resources of the computing power node are not less than the computing resource requirements of the task request; The remaining storage resource size of the computing power node is not less than the storage resource requirement of the task request; The upper limit of the remaining energy consumption of the computing power node is not less than the energy consumption requested by the task; The processing time for the task request to be scheduled to the computing power node shall not exceed the maximum processing time allowed for the task request.
14. A computing power scheduling method, It is characterized in that Applied to a computing node in a cluster federation, the computing node includes a satellite computing node, and the method includes: Report the resource requirement parameters of the task request issued by the access user to the control node; Receive the transmission instruction sent by the control node in response to the task request, and transmit the task request to the target computing node indicated by the transmission instruction for processing; the target computing node corresponding to the task request is determined by the control node based on the resource requirement parameters of the task request reported by the computing nodes in each member cluster of the cluster federation, and the computing resource parameters of the computing nodes in each member cluster.
15. A computing power scheduling device, It is characterized in that Applied to control nodes, including: The supervision module is used to obtain the computing resource parameters of the computing nodes in each member cluster of the cluster federation; An algorithm module, used to determine a task offloading scheme for the task request on the computing nodes in each member cluster based on the resource requirement parameters of the task request to be scheduled and the computing resource parameters acquired by the supervision module; The control plane is used to schedule the task request to the computing power nodes in each member cluster based on the task offloading scheme.
16. The device according to claim 15, It is characterized in that The computing power nodes include satellite-borne computing power nodes.
17. The device according to claim 15, It is characterized in that The control plane includes a scheduler, and the scheduler is used to schedule the task request to the computing power node in each member cluster according to the scheduling strategy pre-configured in the scheduler; The device also includes: The policy management module is used to define or update the scheduling policy configured in the scheduler based on the task offloading solution determined by the algorithm module.
18. The device according to claim 15, It is characterized in that The algorithm module is specifically used to determine the task offloading scheme of the task request on the computing nodes in each computing cluster based on the computing resource parameters and the resource demand parameters, with the total target value when scheduling the task request to the computing nodes in each member cluster as the optimization goal.
19. A computing power scheduling device, It is characterized in that Applied to computing nodes in cluster federation, computing nodes include satellite computing nodes, including: A reporting module, used to report the resource requirement parameters of the task request issued by the access user to the control node; The transmission module is used to receive the transmission instruction sent by the control node in response to the task request, and transmit the task request to the target computing node indicated by the transmission instruction for processing; the target computing node corresponding to the task request is determined by the control node based on the resource requirement parameters of the task request reported by the computing nodes in each member cluster of the cluster federation, and the computing resource parameters of the computing nodes in each member cluster.
20. An electronic device, It is characterized in that It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, for implementing the method steps described in any one of claims 1-13 or 14 when executing a program stored in a memory.
21. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps of any one of claims 1-13 or 14 are implemented.
Citation Information
Cited By
Resource scheduling optimization method and system combined with cloud edge collaboration
CN120321304A
Computing power resource virtualization isolation and multi-level scheduling method and system in containerized environment
CN120704888A