CN117492929A - Scheduling method, scheduling device, scheduler and readable storage medium - Google Patents
Scheduling method, scheduling device, scheduler and readable storage medium Download PDFInfo
- Publication number
- CN117492929A CN117492929A CN202311560204.6A CN202311560204A CN117492929A CN 117492929 A CN117492929 A CN 117492929A CN 202311560204 A CN202311560204 A CN 202311560204A CN 117492929 A CN117492929 A CN 117492929A
- Authority
- CN
- China
- Prior art keywords
- pod
- node
- score
- nth
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention provides a scheduling method, a scheduling device, a scheduler and a readable storage medium, and relates to the technical field of cloud computing, wherein the scheduling method comprises the following steps: selecting Pod from a Pod scheduling queue of a container group to determine a Pod set, wherein the Pod in the Pod set belongs to the same controller; determining a first score of a first Pod in the Pod set in each node in a node cluster, and scheduling the first Pod to a node with the highest first score; determining second scores of N-th Pod in the Pod set in M nodes in the node cluster, updating the first scores based on the second scores, scheduling the N-th Pod to the node with the highest score in the updated first scores, wherein the M nodes are nodes to which the Pod of the Pod set is scheduled, N is an integer greater than 1, and M is a positive integer. The embodiment of the invention can improve the dispatching efficiency without affecting the accuracy of node scores.
Description
Technical Field
The present invention relates to the field of cloud computing technologies, and in particular, to a scheduling method, a device, a scheduler, and a readable storage medium.
Background
A container cluster management system (Kubernetes, k8 s) for managing containerized applications on multiple nodes in a cloud platform. The smallest management unit of k8s is called the container group (Pod), and the default scheduler in k8s is used to schedule Pod to the highest scoring node in the cloud platform. However, the default scheduler can only schedule one Pod at a time, and in order to improve the accuracy of scheduling, it takes a lot of time to repeatedly calculate node scores by re-traversing all nodes of k8s to collect various information for each Pod schedule. It can be seen that the scheduling efficiency of Pod is low in the prior art.
Disclosure of Invention
The embodiment of the invention provides a scheduling method, a scheduling device, a scheduler and a readable storage medium, which are used for solving the problem of low scheduling efficiency of Pod in the prior art.
In order to solve the technical problems, the invention is realized as follows:
in a first aspect, an embodiment of the present invention provides a scheduling method, where the method includes:
selecting Pod from a Pod scheduling queue of a container group to determine a Pod set, wherein the Pod in the Pod set belongs to the same controller;
determining a first score of a first Pod in the Pod set in each node in a node cluster, and scheduling the first Pod to a node with the highest first score;
Determining second scores of N-th Pod in the Pod set in M nodes in the node cluster, updating the first scores based on the second scores, scheduling the N-th Pod to the node with the highest score in the updated first scores, wherein the M nodes are nodes to which the Pod of the Pod set is scheduled, N is an integer greater than 1, and M is a positive integer.
Optionally, the determining the second score of the nth Pod in the Pod set in the M nodes in the node cluster includes:
determining a target time length of a mirror image required by a first node to pull the Nth Pod, and determining a third score of the Nth Pod on the first node based on the target time length, wherein the third score is inversely related to the target time length, and the first node is any node in the M nodes;
determining a fourth score of the Nth Pod at the first node according to the performance resource of the first node;
and determining a second score of the Nth Pod at the first node according to the third score and the fourth score of the Nth Pod at the first node.
Optionally, the determining the target duration of the mirror image required by the first node to pull the nth Pod includes:
And determining a target duration of the mirror image required by the first node for pulling the Nth Pod according to the residual bandwidth of the first node and the mirror image size required by the Nth Pod, wherein the residual bandwidth is inversely related to the target duration, and the mirror image size is positively related to the target duration.
Optionally, the determining the second score of the nth Pod at the first node according to the third score and the fourth score of the nth Pod at the first node includes:
and weighting the third score and the fourth score of the Nth Pod at the first node to obtain the score of the Nth Pod at the first node.
Optionally, before the weighting the third score and the fourth score of the nth Pod at the first node, the method further includes:
determining the weight of the third score according to the ratio of the first average value to the second average value, wherein the weight is a preset multiple of the ratio, and the preset multiple is smaller than 1 and larger than 0;
the first average value is an average value of fourth scores of the Nth Pod in each node in the node cluster, and the second average value is an average value of third scores of the Nth Pod in each node.
Optionally, the performance resource of the first node includes at least one of:
CPU resources of a central processing unit of the first node;
and the memory resource of the first node.
Optionally, after the determining the first score of the first Pod in the Pod set at each node in the node cluster, the method further includes:
ordering the nodes in the node cluster from high to low according to the first score to obtain a first node cluster;
the scheduling the first Pod to the node with the highest first score includes:
scheduling the first Pod to a node ordered first in the first set of nodes;
after updating the first score based on the second score, the method further comprises:
ordering the nodes in the node cluster from high to low according to the updated first score to obtain a second node set;
the scheduling the nth Pod to the node with the highest score in the updated first score comprises the following steps:
and scheduling the Nth Pod to the nodes ordered in the first position in the second node set.
In a second aspect, an embodiment of the present invention provides a scheduling apparatus, including:
The first determining module is used for selecting Pod from the Pod scheduling queue of the container group to determine a Pod set, wherein the Pod in the Pod set belongs to the same controller;
a second determining module, configured to determine a first score of a first Pod in the Pod set in each node in the node cluster, and schedule the first Pod to a node with a highest first score;
and a third determining module, configured to determine second scores of M nodes in the node cluster for an nth Pod in the Pod set, update the first score based on the second scores, schedule the nth Pod to a node with the highest score in the updated first score, where the M nodes are nodes to which the Pod of the Pod set has been scheduled, N is an integer greater than 1, and M is a positive integer.
Optionally, the third determining module is specifically configured to:
determining a target time length of a mirror image required by a first node to pull the Nth Pod, and determining a third score of the Nth Pod on the first node based on the target time length, wherein the third score is inversely related to the target time length, and the first node is any node in the M nodes;
determining a fourth score of the Nth Pod at the first node according to the performance resource of the first node;
And determining a second score of the Nth Pod at the first node according to the third score and the fourth score of the Nth Pod at the first node.
Optionally, the third determining module is specifically further configured to:
and determining a target duration of the mirror image required by the first node for pulling the Nth Pod according to the residual bandwidth of the first node and the mirror image size required by the Nth Pod, wherein the residual bandwidth is inversely related to the target duration, and the mirror image size is positively related to the target duration.
Optionally, the third determining module is specifically further configured to:
and weighting the third score and the fourth score of the Nth Pod at the first node to obtain the score of the Nth Pod at the first node.
Optionally, the third determining module is specifically further configured to:
determining the weight of the third score according to the ratio of the first average value to the second average value, wherein the weight is a preset multiple of the ratio, and the preset multiple is smaller than 1 and larger than 0;
the first average value is an average value of fourth scores of the Nth Pod in each node in the node cluster, and the second average value is an average value of third scores of the Nth Pod in each node.
Optionally, the performance resource of the first node includes at least one of:
CPU resources of a central processing unit of the first node;
and the memory resource of the first node.
Optionally, the apparatus further includes:
the first ordering module is used for ordering the nodes in the node cluster from high to low according to the first score to obtain a first node cluster;
the second determining module is specifically configured to schedule the first Pod to a node ordered in a first bit in the first node set;
optionally, the apparatus further includes:
the second ordering module is used for ordering the nodes in the node cluster from high to low according to the updated first score to obtain a second node set;
the third determining module is specifically configured to schedule the nth Pod to a node ordered in the first bit in the second node set.
In a third aspect, embodiments of the present invention also provide a scheduler, the scheduler comprising a transceiver and a processor,
the processor is used for selecting Pod from the Pod scheduling queue of the container group to determine a Pod set, wherein the Pod in the Pod set belongs to the same controller;
the processor is configured to determine a first score of a first Pod in the Pod set at each node in the node cluster, and schedule the first Pod to a node with a highest first score;
The processor is further configured to determine a second score of an nth Pod in the Pod set in M nodes in the node cluster, update the first score based on the second score, schedule the nth Pod to a node with a highest score in the updated first score, where the M nodes are nodes to which the Pod of the Pod set has been scheduled, N is an integer greater than 1, and M is a positive integer.
Optionally, the processor is specifically configured to:
determining a target time length of a mirror image required by a first node to pull the Nth Pod, and determining a third score of the Nth Pod on the first node based on the target time length, wherein the third score is inversely related to the target time length, and the first node is any node in the M nodes;
determining a fourth score of the Nth Pod at the first node according to the performance resource of the first node;
and determining a second score of the Nth Pod at the first node according to the third score and the fourth score of the Nth Pod at the first node.
Optionally, the processor is specifically configured to:
and determining a target duration of the mirror image required by the first node for pulling the Nth Pod according to the residual bandwidth of the first node and the mirror image size required by the Nth Pod, wherein the residual bandwidth is inversely related to the target duration, and the mirror image size is positively related to the target duration.
Optionally, the processor is specifically configured to:
and weighting the third score and the fourth score of the Nth Pod at the first node to obtain the score of the Nth Pod at the first node.
Optionally, the processor is specifically configured to:
determining the weight of the third score according to the ratio of the first average value to the second average value, wherein the weight is a preset multiple of the ratio, and the preset multiple is smaller than 1 and larger than 0;
the first average value is an average value of fourth scores of the Nth Pod in each node in the node cluster, and the second average value is an average value of third scores of the Nth Pod in each node.
Optionally, the performance resource of the first node includes at least one of:
CPU resources of a central processing unit of the first node;
and the memory resource of the first node.
Optionally, the processor is specifically configured to:
ordering the nodes in the node cluster from high to low according to the first score to obtain a first node cluster;
scheduling the first Pod to a node ordered first in the first set of nodes;
ordering the nodes in the node cluster from high to low according to the updated first score to obtain a second node set;
And scheduling the Nth Pod to the nodes ordered in the first position in the second node set.
In a fourth aspect, an embodiment of the present invention further provides a scheduler, including: a processor, a memory and a program stored on the memory and executable on the processor, which when executed by the processor implements the steps of the scheduling method as described in the first aspect.
In a fifth aspect, embodiments of the present invention also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the scheduling method according to the first aspect.
In the embodiment of the invention, the Pod is selected from the Pod scheduling queue to determine a Pod set, and the pods in the Pod set belong to the same controller. Since the Pod belonging to the same controller has the same mirror image, resource constraint, label, etc., the score of the first Pod in the Pod set at the node is also applicable to the scores of other pods in the Pod set at the node. Based on this, in the embodiment of the present invention, it is not necessary to repeatedly calculate the score on each node for each Pod, and after determining the first score of the first Pod in the Pod set on each node in the node cluster, only the second scores of the nth Pod in the M nodes in the node cluster need to be determined, where the M nodes are the nodes to which the Pod in the Pod set has been scheduled, and the states of the M nodes may be changed, so that the accuracy of the score is improved by calculating the scores of the M nodes again. According to the embodiment of the invention, the second scores of the M nodes in the node cluster of the Nth Pod are determined, and the first scores are updated based on the second scores, so that the dispatching efficiency can be improved while the accuracy of the node scores is not influenced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the description of the embodiments of the present invention will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort to a person of ordinary skill in the art.
FIG. 1 is a flowchart of a scheduling method according to an embodiment of the present invention;
FIG. 2 is a second flowchart of a scheduling method according to an embodiment of the present invention;
FIG. 3 is a flowchart of acquiring a Pod set according to an embodiment of the present invention;
FIG. 4 is a flow chart of determining a first score for a first Pod at each node provided by an embodiment of the present invention;
FIG. 5 is a flow chart of a node scheduling to the highest scoring provided by an embodiment of the present invention;
FIG. 6 is a schematic diagram of an application example provided by an embodiment of the present invention;
FIG. 7 is a diagram of an application instance schedule g provided by an embodiment of the present invention 1 Schematic illustration after;
FIG. 8 is a diagram of an application instance schedule g provided by an embodiment of the present invention 1 And g 2 Schematic illustration after;
fig. 9 is a schematic structural diagram of a scheduling apparatus according to an embodiment of the present invention;
Fig. 10 is a schematic structural diagram of a scheduler according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In order to facilitate understanding, some of the matters related to the embodiments of the present invention are described below.
With the rapid development of cloud computing, applications of various virtualization technologies, such as Virtual Machines (VMs), containers, and the like, are rapidly increasing. Among them, container technology is widely used in cloud native applications by virtue of its advantages of simple and rapid deployment, less overhead, higher computing resource utilization, and the like.
The Pod start-up time of the Pod group in the Pod cluster management system (Kubernetes, k8 s) is of particular concern because of the simplicity and rapidity of Pod deployment. Pod is the minimum management unit of k8s, and Pod start time generally includes Pod schedule time and container initialization start time. Referring to fig. 1, in the k8s default scheduling flow, the k8s default scheduler can only process one Pod at a time, namely, sequentially schedule pods (Pod-by-Sequence), and when calculating the optimal scheduling node of the current Pod, other pods can only wait, because only after the current Pod is scheduled, the cluster node load and various environmental parameters are not changed any more, and the accuracy of the next Pod scheduling can be ensured. In this case, the scheduler can schedule only one Pod at a time, the other pods will be placed in the queue to wait, and for each Pod schedule will re-traverse all nodes (nodes) of k8s to collect various information to repeatedly calculate the scores at the respective nodes, which requires a lot of time.
In addition, in addition to the K8s default scheduler described above, some complex and cumbersome deep learning algorithms are currently proposed for specific loads. In most cases, deep learning requires repeated cumbersome learning training and adjustments to gradually improve the algorithm, consuming a significant amount of time and resources. Meanwhile, the adjustment of the algorithms to the parameters depends on experience of operators, and the relation between the parameters and the optimization targets is complex, the process is complex, and the scheduling effect cannot be ensured.
Based on the above, in the embodiments of the present invention, a scheduling method, apparatus, scheduler, and readable storage medium are provided, which improve scheduling efficiency while not affecting accuracy of node score.
Referring to fig. 2, fig. 2 is one of flowcharts of a scheduling method according to an embodiment of the present invention, as shown in fig. 2, the method includes the following steps
Step 101, selecting Pod from a Pod scheduling queue of a container group to determine a Pod set, wherein the Pod in the Pod set belongs to the same controller;
step 102, determining a first score of a first Pod in the Pod set in each node in a node cluster, and scheduling the first Pod to a node with the highest first score;
Step 103, determining second scores of the nth Pod in the Pod set in M nodes in the node cluster, updating the first score based on the second scores, and dispatching the nth Pod to the node with the highest score in the updated first score, wherein the M nodes are nodes to which the Pod of the Pod set is dispatched, N is an integer greater than 1, and M is a positive integer.
The scheduling method in the embodiment of the invention can be applied to a scheduler and a scheduling device in a K8s cluster, and for convenience of understanding, the technical scheme of the embodiment of the invention is described by taking the scheduler as an example.
Referring to fig. 1, the embodiment of the present invention optimizes sequential scheduling Pod (Pod-by-Sequence) in a Kubernetes default scheduling procedure to parallel scheduling Pod (Pod-by-Concurrency). Specifically, pod is selected from a Pod scheduling queue of a container group to determine a Pod set, each Pod in the Pod set being scheduled in parallel. For example: in fig. 1, pod numbers 1, 2 and 3 under the same controller are regarded as dequeues in sequence with one Pod set, and scheduling calculation is performed at the same time. It should be noted that, in the embodiment of the present invention, the scheduling calculation is performed simultaneously, and instead of performing the scheduling operation simultaneously on each Pod in the same Pod set in a strict sense, each Pod in the same Pod set is scheduled, which is different from the scheduling object in the prior art that uses each Pod as an independent scheduling object, and sequentially schedules each Pod in the Pod scheduling queue.
For ease of understanding, an exemplary description of how the Pod set is obtained is described below in connection with fig. 3.
According to the flow in fig. 3, pod belonging to the same controller can be acquired from the Pod schedule queue. Where the input is the Pod schedule queue P to be scheduled and the output is the Pod set G (Pod group G) under the same controller. In fig. 3, the isSamePod (p, g_1) function is to determine whether two Pod belongs to the same controller, specifically, whether metadata. Ownerreferenes. Name fields in the Yaml file of Pod are the same, where the fields represent names of the controllers to which Pod belongs.
In step 102, a first score for a first Pod in the set of pods is determined for each node in the cluster of nodes and the first Pod is scheduled to the node with the highest first score. The node cluster may be a cluster formed by all nodes in K8s, or may be a cluster formed by some nodes in K8 s. For example, the resources of Pod in Pod set are limited to a memory remaining ratio of the node of no less than 60%. The scheduler of the embodiment of the invention can filter nodes with memory remaining ratio lower than 60% and add nodes with memory greater than or equal to 60% as node clusters in the pre-selection (predictes) stage.
For ease of understanding, how the first score for each node in the node cluster is determined is described below in connection with fig. 4.
Referring to fig. 4, the flow of fig. 4 is to calculate a first score s= { S for a first Pod in a Pod set (Pod group G) on each node W in a node cluster 1 ,…,s n (s is therein j Representing the score of the first Pod at the j-th node. Because all Pod in the Pod set G belong to the same controller, factors affecting scheduling in each Pod in G, such as mirroring, resource limitation, and labels, are the same, and based on this, the scoring condition of one Pod in the same controller at the node is also applicable to the scoring of other Pod in the same controller at the node. I.e. the score S of the first Pod at each node is equally applicable to other pods in G, i.e. the scores at each node are the same at the same time for all pods in G.
In step 103, second scores of the nth Pod in the Pod set in the M nodes in the node cluster are determined, and the first scores are updated based on the second scores, wherein the M nodes are nodes to which the Pod of the Pod set has been scheduled. As will be readily understood, in the case that there are Pod already scheduled to M nodes in the Pod set, the state information of the M nodes may change, and based on this, the embodiment of the present invention determines the second score of the nth Pod at the M nodes, so as to improve the accuracy of the score of the Pod at the M nodes. For other nodes except the M nodes in the node cluster, the score on the nth node can still use the first score calculated in the step 102 because the state information of the other nodes is not changed, and repeated calculation is not needed.
In the embodiment of the invention, the first score is updated based on the second score, and the scores of M nodes are mainly updated. As an example: if the node cluster comprises w 1 、w 2 、w 3 And w 4 The first Pod in the Pod set is at w 1 、w 2 、w 3 And w 4 The first scores on are s respectively 1 、s 2 、s 3 Sum s 4 The method comprises the steps of carrying out a first treatment on the surface of the When scheduling the nth node, there is a Pod in the Pod set that has been scheduled to w 1 And w 2 Thus w 1 And w 2 May have changed the status information of (c) and continue along s 1 ,s 2 Will result in inaccurate score, so the embodiment of the invention calculates the Nth node at w 1 And w 2 The second score of the above is s ' if the second scores are s ' respectively ' 1 And s' 2 Updating the first scores based on the second scores, wherein the updated first scores are respectively: s' 1 、s‘ 2 、s 3 Sum s 4 The scheduler schedules the nth node to s' 1 、s‘ 2 、s 3 Sum s 4 The node corresponding to the highest score in (a).
In the embodiment of the invention, the score on each node does not need to be repeatedly calculated for each Pod, after the first score of the first Pod in the Pod set in each node in the node cluster is determined, only the second scores of M nodes in the node cluster, which are nodes to which the Pod of the Pod set is scheduled, are determined, and the states of the M nodes can be changed, so that the accuracy of the score is improved by calculating the scores of the M nodes again. According to the embodiment of the invention, the second scores of the M nodes in the node cluster of the Nth Pod are determined, and the first scores are updated based on the second scores, so that the scheduling efficiency can be improved while the accuracy of the node scores is not influenced, and the scheduling effect is not influenced.
The Pod start-up time is affected by the mirror size in addition to the scheduling efficiency described above. Easily understood, after the Pod is dispatched to the node, the node needs to install the mirror image to start the Pod, if the node does not have the mirror image, the node needs to pull the mirror image according to the mirror image requirement of the Pod, and the time consumed for pulling the mirror image directly affects the start time of the Pod. In the related art, the K8s default scheduler only considers whether the mirror image exists on the nodes, and if the mirror image exists on some nodes, the score of the nodes is higher; for some nodes where no mirror exists, the nodes score consistently under the mirror factor. However, the time it takes to pull an image from a remote library may not be the same for each node that does not have an image, and thus the impact on Pod launch time is not the same. In the prior art, the time consumption of pulling the mirror image by the node is not considered, so that the starting time of the Pod can be adversely affected.
Considering the above-mentioned effect of pulling mirror time consumption on Pod initiation duration, in some embodiments, the determining the second score of the nth Pod in the Pod set in the M nodes in the node cluster includes:
determining a target time length of a mirror image required by a first node to pull the Nth Pod, and determining a third score of the Nth Pod on the first node based on the target time length, wherein the third score is inversely related to the target time length, and the first node is any node in the M nodes;
Determining a fourth score of the Nth Pod at the first node according to the performance resource of the first node;
and determining a second score of the Nth Pod at the first node according to the third score and the fourth score of the Nth Pod at the first node.
In the embodiment of the invention, the target time length of the mirror image required by the first node to pull the Nth Pod is determined, and the third score of the Nth Pod in the first node is determined based on the target time length, wherein the third score is inversely related to the target time length, namely, the longer the target time length of the mirror image required by the first node to pull the Nth Pod is, the lower the third score of the Nth Pod in the first node is, so that the N-th Pod can be conveniently scheduled to the node with shorter target time length, and the starting time of the Pod is reduced.
It should be noted that, if the image exists on the first node, the target duration of the first node pulling the image is "0".
Determining that the nth Pod is in the fourth score of the first node according to the performance resource of the first node, where the performance resource is as follows: central processing unit (Central Processing Unit, CPU) resources and/or Memory (Memory) resources, etc. Under the condition that the performance resources of the first node are better, the fourth score of the Nth Pod in the first node is higher, so that the scheduling of the Nth Pod to the node with good performance resources is facilitated, and the service processing effect of the Pod is facilitated to be improved.
And determining that the Nth Pod is in the second score of the first node according to the third score and the fourth score of the Nth Pod in the first node, wherein the second score is positively correlated with the third score and the fourth score.
In the embodiment of the invention, the mirror time length required by the node to pull the Pod and the performance of the node are comprehensively considered, so that the Pod is favorably scheduled to the node with the optimal comprehensive performance resource and mirror time consumption, the starting time of the Pod can be reduced, and the service processing effect of the Pod can be improved.
It should be noted that, the step of determining the second score of the nth Pod at the first node (i.e., determining the first score according to the third score and the fourth score at the node) in the embodiment of the present invention may be referred to as determining the first score of the first Pod at each node in the node cluster, which is not repeated herein.
Optionally, the determining the target duration of the mirror image required by the first node to pull the nth Pod includes:
and determining a target duration of the mirror image required by the first node for pulling the Nth Pod according to the residual bandwidth of the first node and the mirror image size required by the Nth Pod, wherein the residual bandwidth is inversely related to the target duration, and the mirror image size is positively related to the target duration.
In this embodiment, the residual bandwidth of the first node and the size of the mirror image required by the nth Pod are comprehensively considered to determine the target duration of the mirror image required by the nth Pod by the first node, which is beneficial to improving the reliability of the determined target duration.
For ease of understanding, the following description is given by way of example of how the target duration is determined and how the third score is determined in conjunction with the formulas.
a. Assuming that the score of the mth Pod on node n is currently calculated, the calculation formula of the time required to pull the mirror image in the Pod is as follows:
wherein I is m (image m ) The size of the mirror image required for the mth Pod, B n *(1-L n ) Is the remaining bandwidth of node n. Wherein B is n (bandwidth n ) Representing network bandwidth, L, of node n n (netloadrate n ) For the current network load rate of n nodes, k mn To influence the coefficients. If the image already exists on the n node, k mn =0, otherwise, the mirror image needs to be pulled from the remote bin, k mn =1。
b. For the network load factor in equation (1), it can be calculated by the following equation (2):
s in formula (2) in (stream in ) For the data flow into node n, S on (stream on ) For the data flow out of node n, T n (thruput n ) Network throughput for node n, and S in +S on ≤T n 。
c. In an ideal case, the actual network throughput is equal to the bandwidth, the network bandwidth in the formula (1) can be replaced by the network throughput, and the IPT can be obtained by combining the formula (2) mn And finally, calculating a formula:
d. the specific score of the node n under the index of pulling the large mirror image can be obtained by the formula:
Score mn =10-normalization(IPT mn )*10 (4)
the larger the network residual bandwidth in the above formula, the time IPT required for pulling a large mirror image mn The smaller the score is, the larger the score is, so that the Pod with the large mirror image can be guaranteed to be preferentially allocated to the node with the larger network bandwidth remaining, and the waiting time for pulling the large mirror image is further reduced.
The embodiment of the invention comprehensively considers the residual bandwidth of the first node and the mirror image size required by the Nth Pod to determine the target time length of the mirror image required by the first node for pulling the Nth Pod, thereby being beneficial to improving the reliability of the determined target time length.
Optionally, the determining the second score of the nth Pod at the first node according to the third score and the fourth score of the nth Pod at the first node includes:
and weighting the third score and the fourth score of the Nth Pod at the first node to obtain the score of the Nth Pod at the first node.
In this embodiment, weights of the third score and the fourth score may be set according to the requirement, so as to set which of the time consumption of pulling the mirror image and the node performance resource is the dominant factor of the node score, so that flexibility of the node score can be improved.
The start time of Pod is important, but the service processing effect on Pod is more important, based on this, the embodiment of the present invention considers that by adjusting the weight of the third score (the weight of the fourth score may be the default weight 1), the node performance resource is the dominant factor of the node score, which is specifically as follows:
in the following embodiment, before weighting the third score and the fourth score of the nth Pod at the first node, the method further includes:
determining the weight of the third score according to the ratio of the first average value to the second average value, wherein the weight is a preset multiple of the ratio, and the preset multiple is smaller than 1 and larger than 0;
the first average value is an average value of fourth scores of the Nth Pod in each node in the node cluster, and the second average value is an average value of third scores of the Nth Pod in each node.
In this embodiment, the weight of the third score is a preset multiple of the ratio of the first average value to the second average value, where the preset multiple is smaller than 1 and larger than 0, so that the average score of the index of mirror image time consumption is always smaller than the average score of the performance resource, which is favorable for avoiding the index of mirror image time consumption from becoming a dominant factor, and thus is favorable for improving the service processing effect on Pod.
As an example, the weight of the third score may be determined according to the following formula
Wherein average is an average IPT Average of scores of this indicator over all nodes for mirroring time consumption cpu And average memory The average of scores on all nodes is the CPU and memory index, respectively.
In the case where the performance resource includes multiple terms, the multiple performance resources may be averaged ((average) cpu +average memory )/2). By the weight formula, the average value of the score of the index of mirror time consumption can be always half of the average value of each performance resource score (such as the CPU and memory score in the formula 5), so that the index can be prevented from becoming a dominant factor.
Finally, the concrete score obtained by multiplying the index of time consumption by the weight is:
Score′ mn =Score mn *weight (6)
Score mn weight is determined according to the above equation 4 and weight is determined according to the above equation 5.
According to the embodiment of the invention, the score average value of the index of the mirror image time consumption is always smaller than the performance resource score average value, the index of the mirror image time consumption is prevented from becoming a dominant factor, and therefore the service processing effect on Pod is improved.
Optionally, the performance resource of the first node includes at least one of:
CPU resources of the first node;
and the memory resource of the first node.
In the embodiment, the CPU resource and the memory resource of the node can better reflect the performance of the node, and the performance resource of the node comprises at least one of the CPU resource and the memory resource, so that the reliability of the performance resource score of the node is improved.
Optionally, after the determining the first score of the first Pod in the Pod set at each node in the node cluster, the method further includes:
ordering the nodes in the node cluster from high to low according to the first score to obtain a first node cluster;
the scheduling the first Pod to the node with the highest first score includes:
scheduling the first Pod to a node ordered first in the first set of nodes;
after updating the first score based on the second score, the method further comprises:
ordering the nodes in the node cluster from high to low according to the updated first score to obtain a second node set;
the scheduling the nth Pod to the node with the highest score in the updated first score comprises the following steps:
and scheduling the Nth Pod to the nodes ordered in the first position in the second node set.
In this embodiment, the nodes in the node cluster may be ordered from high to low according to the first score to obtain a first node set, so that the node in the first position in the first node set is the node with the highest score, and the first Pod may be scheduled to the node in the first node set ordered in the first position; similarly, after updating the first score based on the second score, the nodes in the node cluster can be ranked from high to low according to the updated first score to obtain a second node set, the node ranked at the first position in the second node set is the node with the highest score, and the Nth Pod can be scheduled to the node ranked at the first position in the second node set.
For ease of understanding, the scheduling process is illustrated below in conjunction with FIG. 5.
Referring to fig. 5, each Pod in the Pod set G is cyclically scheduled, and the Pod is scheduled (bound) to one node. First, when i=1, it indicates the first Pod G in the binding G 1 Directly get g 1 Node W' 1 assigned to the highest score]. Then, when i+.1, it is assumed that the second Pod G is currently in binding G 2 Due to g 1 Has been assigned to W' [1 ]]W' 1 on the node]Node state has changed, requiring g to be recalculated 2 At W' [1 ]]Score on node, g 2 And g is equal to 1 The features of the mirror image, the resource limitation, the label and the like affecting the scheduling are the same, so g 2 The score may still follow the values in the starting score list S on other nodes without repeated calculations. Finally, use g 2 At W' [1 ]]Updating the S list by the newly calculated score value, sorting the nodes according to the new S list to obtain a new node list W', and selecting the node schedule g with the largest score value 2 Pod is the same for all Pods later in G.
The scheduling method of the present invention will be described again with a specific embodiment.
Referring to fig. 6, it is assumed that a Pod group g= { G is currently calculated by Algorithm 1 (Algorithm 1) shown in fig. 3 1 ,g 2 ,g 3 ,g 4 I.e. the 4 Pod belong to the same controller. Then, the score conditions S= { S of the 4 Pod at all nodes at the same time at present are obtained through Algorithm 2 calculation shown in fig. 4 1 ,s 2 ,s 3 ,s 4 ,s 5 -assuming there are currently 5 nodes), where s i Representing the score of Pod on the ith node.
After passing through Algorithm 3 shown in fig. 5, the score list S is sorted from large to small, and the sorted score list is converted into a node list W' = { W 3 ,w 1 ,w 4 ,w 2 ,w 5 W at this time 3 The node with the greatest score is represented. When the first Pod G in the schedule G 1 When w is 3 Highest node score, g 1 Will be scheduled to w 3 After scheduling, the scheduling is as shown in fig. 7.
When scheduling g 2 In Pod, g 2 And g is equal to 1 The features of the mirror image, the resource limitation, the label and the like affecting the scheduling are the same, only w 3 Node state changes, only g needs to be recalculated 2 At w 3 The score is updated again, S, and a new node ordered list W' is obtained, and the changed W is obtained 3 The score may be placed anywhere in the W' list. Assume a new W' = { W 1 ,w 4 ,w 3 ,w 2 ,w 5 G at this time 2 Will be scheduled to w 1 After scheduling, as shown in fig. 8.
Subsequent g 3 And g 4 Scheduling is all equal to g 2 Similarly, only nodes whose state changes, i.e. the previous Pod g, are updated 1 And g 2 The scheduled nodes avoid repeatedly calculating all node score values, and compared with the default scheduler which calculates all node score values for each Pod scheduling, the algorithm greatly shortens the scheduling time, especially under the condition that the cluster has a plurality of nodes.
Referring to fig. 9, fig. 9 is a schematic structural diagram of a scheduling apparatus according to an embodiment of the present invention, as shown in fig. 9, the apparatus 200 includes:
a first determining module 201, configured to select Pod from a Pod scheduling queue of a container group to determine a Pod set, where pods in the Pod set belong to the same controller;
A second determining module 202, configured to determine a first score of a first Pod in the Pod set at each node in the node cluster, and schedule the first Pod to a node with a highest first score;
a third determining module 203, configured to determine second scores of M nodes in the node cluster for an nth Pod in the Pod set, update the first score based on the second scores, schedule the nth Pod to a node with a highest score in the updated first score, where the M nodes are nodes to which the Pod of the Pod set has been scheduled, N is an integer greater than 1, and M is a positive integer.
Optionally, the third determining module 203 is specifically configured to:
determining a target time length of a mirror image required by a first node to pull the Nth Pod, and determining a third score of the Nth Pod on the first node based on the target time length, wherein the third score is inversely related to the target time length, and the first node is any node in the M nodes;
determining a fourth score of the Nth Pod at the first node according to the performance resource of the first node;
and determining a second score of the Nth Pod at the first node according to the third score and the fourth score of the Nth Pod at the first node.
Optionally, the third determining module 203 is specifically further configured to:
and determining a target duration of the mirror image required by the first node for pulling the Nth Pod according to the residual bandwidth of the first node and the mirror image size required by the Nth Pod, wherein the residual bandwidth is inversely related to the target duration, and the mirror image size is positively related to the target duration.
Optionally, the third determining module 203 is specifically further configured to:
and weighting the third score and the fourth score of the Nth Pod at the first node to obtain the score of the Nth Pod at the first node.
Optionally, the third determining module 203 is specifically further configured to:
determining the weight of the third score according to the ratio of the first average value to the second average value, wherein the weight is a preset multiple of the ratio, and the preset multiple is smaller than 1 and larger than 0;
the first average value is an average value of fourth scores of the Nth Pod in each node in the node cluster, and the second average value is an average value of third scores of the Nth Pod in each node.
Optionally, the performance resource of the first node includes at least one of:
CPU resources of a central processing unit of the first node;
and the memory resource of the first node.
Optionally, the apparatus 200 further includes:
the first ordering module is used for ordering the nodes in the node cluster from high to low according to the first score to obtain a first node cluster;
the second determining module 202 is specifically configured to schedule the first Pod to a node ordered in a first bit in the first node set;
optionally, the apparatus 200 further includes:
the second ordering module is used for ordering the nodes in the node cluster from high to low according to the updated first score to obtain a second node set;
the third determining module 203 is specifically configured to schedule the nth Pod to a node ordered in the first bit in the second node set.
The apparatus 200 can implement the respective processes implemented in the method embodiment shown in fig. 2 and achieve the same beneficial effects, and in order to avoid repetition, a detailed description is omitted here.
The embodiment of the invention also provides a scheduler, which comprises: the scheduling method comprises a processor, a memory and a program stored in the memory and capable of running on the processor, wherein the program realizes the processes of the scheduling method embodiment when being executed by the processor, and can achieve the same technical effect, and the repetition is avoided, and the description is omitted here.
Specifically, referring to fig. 10, the embodiment of the present invention further provides a scheduler, which includes a bus 301, a transceiver 302, an antenna 303, a bus interface 304, a processor 305, and a memory 306.
The processor 305 is configured to select Pod from a Pod scheduling queue of the container group to determine a Pod set, where the Pod in the Pod set belongs to the same controller;
the processor 305 is configured to determine a first score of a first Pod in the Pod set for each node in the node cluster, and schedule the first Pod to a node with the highest first score;
the processor 305 is further configured to determine a second score of an nth Pod in the Pod set in M nodes in the node cluster, update the first score based on the second score, schedule the nth Pod to a node with a highest score in the updated first score, where the M nodes are nodes to which the Pod of the Pod set has been scheduled, N is an integer greater than 1, and M is a positive integer.
Optionally, the processor 305 is specifically configured to:
determining a target time length of a mirror image required by a first node to pull the Nth Pod, and determining a third score of the Nth Pod on the first node based on the target time length, wherein the third score is inversely related to the target time length, and the first node is any node in the M nodes;
Determining a fourth score of the Nth Pod at the first node according to the performance resource of the first node;
and determining a second score of the Nth Pod at the first node according to the third score and the fourth score of the Nth Pod at the first node.
Optionally, the processor 305 is specifically configured to:
and determining a target duration of the mirror image required by the first node for pulling the Nth Pod according to the residual bandwidth of the first node and the mirror image size required by the Nth Pod, wherein the residual bandwidth is inversely related to the target duration, and the mirror image size is positively related to the target duration.
Optionally, the processor 305 is specifically configured to:
and weighting the third score and the fourth score of the Nth Pod at the first node to obtain the score of the Nth Pod at the first node.
Optionally, the processor 305 is specifically configured to:
determining the weight of the third score according to the ratio of the first average value to the second average value, wherein the weight is a preset multiple of the ratio, and the preset multiple is smaller than 1 and larger than 0;
the first average value is an average value of fourth scores of the Nth Pod in each node in the node cluster, and the second average value is an average value of third scores of the Nth Pod in each node.
Optionally, the performance resource of the first node includes at least one of:
CPU resources of a central processing unit of the first node;
and the memory resource of the first node.
Optionally, the processor 305 is specifically configured to:
ordering the nodes in the node cluster from high to low according to the first score to obtain a first node cluster;
scheduling the first Pod to a node ordered first in the first set of nodes;
ordering the nodes in the node cluster from high to low according to the updated first score to obtain a second node set;
and scheduling the Nth Pod to the nodes ordered in the first position in the second node set.
In fig. 10, a bus architecture (represented by bus 301), the bus 301 may comprise any number of interconnected buses and bridges, with the bus 301 linking together various circuits, including one or more processors, represented by processor 305, and memory, represented by memory 306. The bus 301 may also link together various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are well known in the art and, therefore, will not be described further herein. Bus interface 304 provides an interface between bus 301 and transceiver 302. The transceiver 302 may be one element or may be a plurality of elements, such as a plurality of receivers and transmitters, providing a means for communicating with various other apparatus over a transmission medium. The data processed by the processor 305 is transmitted over a wireless medium via the antenna 303, and further, the antenna 303 receives the data and transmits the data to the processor 305.
The processor 305 is responsible for managing the bus 301 and general processing and may also provide various functions including timing, peripheral interfaces, voltage regulation, power management, and other control functions. And memory 306 may be used to store data used by processor 305 in performing operations.
Alternatively, the processor 305 may be CPU, ASIC, FPGA or a CPLD.
The embodiment of the invention also provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements the processes of the above-mentioned scheduling method embodiment, and can achieve the same technical effects, and in order to avoid repetition, the description is omitted here. Wherein the computer readable storage medium is selected from Read-Only Memory (ROM), random access Memory (Random Access Memory, RAM), magnetic disk or optical disk.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) comprising instructions for causing a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the method according to the embodiments of the present invention.
The embodiments of the present invention have been described above with reference to the accompanying drawings, but the present invention is not limited to the above-described embodiments, which are merely illustrative and not restrictive, and many forms may be made by those having ordinary skill in the art without departing from the spirit of the present invention and the scope of the claims, which are to be protected by the present invention.
Claims (10)
1. A scheduling method, the method comprising:
selecting Pod from a Pod scheduling queue of a container group to determine a Pod set, wherein the Pod in the Pod set belongs to the same controller;
determining a first score of a first Pod in the Pod set in each node in a node cluster, and scheduling the first Pod to a node with the highest first score;
determining second scores of N-th Pod in the Pod set in M nodes in the node cluster, updating the first scores based on the second scores, scheduling the N-th Pod to the node with the highest score in the updated first scores, wherein the M nodes are nodes to which the Pod of the Pod set is scheduled, N is an integer greater than 1, and M is a positive integer.
2. The method of claim 1, wherein the determining a second score for an nth Pod of the set of pods at M nodes of the cluster of nodes comprises:
determining a target time length of a mirror image required by a first node to pull the Nth Pod, and determining a third score of the Nth Pod on the first node based on the target time length, wherein the third score is inversely related to the target time length, and the first node is any node in the M nodes;
Determining a fourth score of the Nth Pod at the first node according to the performance resource of the first node;
and determining a second score of the Nth Pod at the first node according to the third score and the fourth score of the Nth Pod at the first node.
3. The method of claim 2, wherein determining the target length of time for the first node to pull the mirror image of the nth Pod comprises:
and determining a target duration of the mirror image required by the first node for pulling the Nth Pod according to the residual bandwidth of the first node and the mirror image size required by the Nth Pod, wherein the residual bandwidth is inversely related to the target duration, and the mirror image size is positively related to the target duration.
4. The method of claim 2, wherein the determining the second score of the nth Pod at the first node based on the third score and the fourth score of the nth Pod at the first node comprises:
and weighting the third score and the fourth score of the Nth Pod at the first node to obtain the score of the Nth Pod at the first node.
5. The method of claim 4, wherein the weighting the nth Pod before the third score and the fourth score of the first node, the method further comprising:
Determining the weight of the third score according to the ratio of the first average value to the second average value, wherein the weight is a preset multiple of the ratio, and the preset multiple is smaller than 1 and larger than 0;
the first average value is an average value of fourth scores of the Nth Pod in each node in the node cluster, and the second average value is an average value of third scores of the Nth Pod in each node.
6. The method of claim 1, wherein the determining a first Pod in the set of pods is followed by a first score for each node in a cluster of nodes, the method further comprising:
ordering the nodes in the node cluster from high to low according to the first score to obtain a first node cluster;
the scheduling the first Pod to the node with the highest first score includes:
scheduling the first Pod to a node ordered first in the first set of nodes;
after updating the first score based on the second score, the method further comprises:
ordering the nodes in the node cluster from high to low according to the updated first score to obtain a second node set;
The scheduling the nth Pod to the node with the highest score in the updated first score comprises the following steps:
and scheduling the Nth Pod to the nodes ordered in the first position in the second node set.
7. A scheduling apparatus, comprising:
the first determining module is used for selecting Pod from the Pod scheduling queue of the container group to determine a Pod set, wherein the Pod in the Pod set belongs to the same controller;
a second determining module, configured to determine a first score of a first Pod in the Pod set in each node in the node cluster, and schedule the first Pod to a node with a highest first score;
and a third determining module, configured to determine second scores of M nodes in the node cluster for an nth Pod in the Pod set, update the first score based on the second scores, schedule the nth Pod to a node with the highest score in the updated first score, where the M nodes are nodes to which the Pod of the Pod set has been scheduled, N is an integer greater than 1, and M is a positive integer.
8. A scheduler, characterized in that the scheduler comprises a transceiver and a processor,
the processor is used for selecting Pod from the Pod scheduling queue of the container group to determine a Pod set, wherein the Pod in the Pod set belongs to the same controller;
The processor is configured to determine a first score of a first Pod in the Pod set at each node in the node cluster, and schedule the first Pod to a node with a highest first score;
the processor is further configured to determine a second score of an nth Pod in the Pod set in M nodes in the node cluster, update the first score based on the second score, schedule the nth Pod to a node with a highest score in the updated first score, where the M nodes are nodes to which the Pod of the Pod set has been scheduled, N is an integer greater than 1, and M is a positive integer.
9. A scheduler, comprising: a processor, a memory and a program stored on the memory and executable on the processor, which when executed by the processor implements the steps of the scheduling method according to any one of claims 1 to 6.
10. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon a computer program which, when executed by a processor, implements the steps of the scheduling method according to any of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311560204.6A CN117492929A (en) | 2023-11-22 | 2023-11-22 | Scheduling method, scheduling device, scheduler and readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311560204.6A CN117492929A (en) | 2023-11-22 | 2023-11-22 | Scheduling method, scheduling device, scheduler and readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117492929A true CN117492929A (en) | 2024-02-02 |
Family
ID=89676285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311560204.6A Pending CN117492929A (en) | 2023-11-22 | 2023-11-22 | Scheduling method, scheduling device, scheduler and readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117492929A (en) |
-
2023
- 2023-11-22 CN CN202311560204.6A patent/CN117492929A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400022A (en) | Resource scheduling method and device and electronic equipment | |
CN104168318B (en) | A kind of Resource service system and its resource allocation methods | |
CN109561148A (en) | Distributed task dispatching method in edge calculations network based on directed acyclic graph | |
CN103309738B (en) | User job dispatching method and device | |
CN109617826B (en) | Storm dynamic load balancing method based on cuckoo search | |
CN109960585A (en) | A kind of resource regulating method based on kubernetes | |
CN113190351B (en) | Efficient resource distribution system for distributed deep learning training task | |
WO2023124947A1 (en) | Task processing method and apparatus, and related device | |
CN112817728B (en) | Task scheduling method, network device and storage medium | |
US20220116479A1 (en) | Systems and methods for managing an automotive edge computing environment | |
CN114610474A (en) | Multi-strategy job scheduling method and system in heterogeneous supercomputing environment | |
CN111143036A (en) | Virtual machine resource scheduling method based on reinforcement learning | |
CN110262897A (en) | A kind of Hadoop calculating task primary distribution method based on load estimation | |
CN102184124B (en) | Task scheduling method and system | |
CN116932198A (en) | Resource scheduling method, device, electronic equipment and readable storage medium | |
CN114691372A (en) | Group intelligent control method of multimedia end edge cloud system | |
CN116610422A (en) | Task scheduling method, device and system | |
CN114090239A (en) | Model-based reinforcement learning edge resource scheduling method and device | |
CN113535387A (en) | Heterogeneous sensing GPU resource allocation and scheduling method and system | |
CN117492929A (en) | Scheduling method, scheduling device, scheduler and readable storage medium | |
Berten et al. | Brokering strategies in computational grids using stochastic prediction models | |
CN117453360A (en) | Resource scheduling method and device for computing task | |
CN110851245A (en) | Distributed asynchronous task scheduling method and electronic equipment | |
CN116915869A (en) | Cloud edge cooperation-based time delay sensitive intelligent service quick response method | |
CN112698911B (en) | Cloud job scheduling method based on deep reinforcement learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |