CN110908791A - Scheduling method, scheduling device and scheduling system - Google Patents
Scheduling method, scheduling device and scheduling system Download PDFInfo
- Publication number
- CN110908791A CN110908791A CN201811075453.5A CN201811075453A CN110908791A CN 110908791 A CN110908791 A CN 110908791A CN 201811075453 A CN201811075453 A CN 201811075453A CN 110908791 A CN110908791 A CN 110908791A
- Authority
- CN
- China
- Prior art keywords
- list
- node
- scheduling
- node information
- scheduler
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000008901 benefit Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The embodiment of the invention provides a scheduling method, which comprises the following steps: a plurality of first class schedulers in parallel, the plurality of first class schedulers generating a plurality of first lists; and adopting a second type scheduler, wherein the second type scheduler obtains a second list based on the plurality of first lists and allocates nodes based on the second list. The embodiment of the invention adopts a pre-scheduling mode, improves the performance of the scheduler by increasing the scheduling parallelism, and uses the second type scheduler to perform actual scheduling after pre-scheduling, thereby reducing information conflict and ensuring the scheduling accuracy. The embodiment of the invention also provides a scheduling device and a scheduling system.
Description
Technical Field
The invention relates to the technical field of computers, in particular to a scheduling method, a scheduling device and a scheduling system.
Background
Scheduling is a way to allocate workloads to processing resources. In a large-scale container cluster, after a container is created, a suitable node needs to be selected for scheduling, so that the container is created on a certain node. The scheduling needs to consider the situation of containers and resources already allocated on the nodes and the situation of remaining resources, so that a suitable node is selected from a plurality of nodes in the cluster to allocate the containers.
The currently mainstream scheduling method is a single scheduler using kubernets as a typical scheduling method. The monolithic scheduler is a single process entity, performs scheduling decisions and completes container deployment that needs to be scheduled. For the decision of scheduling task, the general workflow of the monolithic scheduler is:
1. acquiring a container to be scheduled 101;
2. acquiring resource information of each node, and observing the availability (such as CPU, memory and the like) of each node resource in the cluster;
3. screening nodes meeting the resource requirement of the container to obtain a node list 103 after primary selection;
4. scoring and sorting each node from the screened nodes to obtain a list 104 after the nodes are sorted;
5. scheduling a container according to the sorting result, i.e. scheduling the container to the node 105;
6. the available resources of the node information center 106 are updated.
The advantage of the monolithic scheduler is that resource information collision is effectively prevented. Because only one scheduler is working, all that the scheduler obtains is accurate and effective resource information. And if multiple schedulers are operating simultaneously, it may happen that scheduler a schedules a container onto node M. The scheduler B does not know this information in time, and therefore it is mistaken that there are more resources for the node M. However, the monolithic schedulers can only be executed one at a time, limiting system performance and task throughput. Since there is only a single instance of the process, when there are a large number of containers waiting to be scheduled at the same time, the average scheduling time for scheduling is extended. Assume containers a1, a2, a3 … an. And creating and waiting to be scheduled, wherein the time of each schedule is t, the scheduling time of a1 is t, the scheduling time of a2 is 2 × t because the scheduling of a1 needs to be finished, the scheduling of a3 is 3 × t, and so on, the scheduling time of an is n × t. I.e. the time required for all containers to be completely scheduled is n x t. And as the number n of containers waiting to be scheduled at the same time increases, the average scheduling time increases. Since all nodes need to be computed per schedule, the scheduling time is longer as the number of nodes in the cluster increases.
Disclosure of Invention
In view of this, embodiments of the present invention provide a scheduling method, a scheduling apparatus, and a scheduling system, which first use a plurality of first-type schedulers to perform pre-scheduling in parallel, and then use a second-type scheduler to perform aggregation and actual scheduling, so as to improve scheduling performance and task throughput.
According to a first aspect of the present invention, there is provided a scheduling method, comprising:
the method comprises the following steps that a plurality of first-class schedulers are arranged in parallel, each first-class scheduler carries out pre-scheduling on a container to be scheduled according to a scheduling algorithm, and a first list is generated according to a pre-scheduling result;
a second type scheduler is employed which allocates nodes to the containers to be scheduled based on the plurality of first lists.
Preferably, each scheduler of the first type comprises the steps of:
acquiring a container to be scheduled and current node information; and
acquiring a primary selection node list for the container to be scheduled according to the current node information to serve as the first list;
preferably, each scheduler of the first type further comprises:
and scoring the nodes in the initially selected node list to obtain the first list.
Preferably, the second type scheduler comprises the steps of:
acquiring latest node information;
judging whether the latest node information is consistent with the node information contained in the first list or not, and placing the node information with consistent information in a second list and the node information with inconsistent information in a third list;
carrying out initial selection on the node information in the third list to obtain a fourth list;
and carrying out node distribution according to the second list and the fourth list.
Preferably, the node allocating according to the second list and the fourth list comprises:
scoring the nodes in the fourth list, and recording scoring results in the fourth list;
sorting the second list and the fourth list according to a scoring result; and
and carrying out node distribution according to the sequencing result.
Preferably, the second type scheduler acquires a plurality of first lists, and repeats, for each first list, the steps from the acquisition of the latest node information to the node allocation according to the sorting result.
Preferably, the method further comprises the following steps: global storage node information.
Preferably, the information of each node includes a node ID, a node version, and a node resource usage.
Preferably, the second type scheduler further comprises: and after the node distribution is carried out, updating the node information of the corresponding node.
Preferably, the updating the node information of the corresponding node includes:
the node version of the corresponding node information is increased by 1.
Preferably, the determining whether the latest node information is consistent with the node information included in the first list includes:
and judging whether the latest node information is consistent with the node information contained in the first list or not by judging whether the node version in the node information of the corresponding node is changed or not.
According to a second aspect of the embodiments of the present invention, there is provided a scheduling apparatus, including:
each first type scheduler executes pre-scheduling for the container to be scheduled according to a scheduling algorithm and generates a first list according to a pre-scheduling result;
and the second type scheduler obtains a second list based on the plurality of first lists and allocates nodes for the containers to be scheduled based on the second list.
Preferably, each scheduler of the first type comprises the steps of:
acquiring a container to be scheduled and current node information;
acquiring a primary node list for the container to be scheduled according to the current node information;
and scoring the nodes in the initially selected node list to obtain the first list, wherein the first list comprises the current node information.
Preferably, the second type scheduler comprises the steps of:
acquiring latest node information;
judging whether the latest node information is consistent with the node information contained in the first list or not, and placing the node information with consistent information in a second list and the node information with inconsistent information in a third list;
carrying out initial selection on the node information in the third list to obtain a fourth list;
scoring the nodes in the fourth list, and recording scoring results in the fourth list;
sorting the second list and the fourth list according to a scoring result; and
and carrying out node distribution according to the sequencing result.
Preferably, the second type scheduler further comprises: and after the node distribution is carried out, updating the node information of the corresponding node.
According to a third aspect of the embodiments of the present invention, there is provided a scheduling system, including:
a plurality of prescheduling nodes, each prescheduling node being deployed with one of the schedulers of the first type,
and the summarizing node is provided with one scheduler of the second type.
Preferably, the method further comprises the following steps: and the storage node is used for storing node information of all the nodes.
According to a fourth aspect of the embodiments of the present invention, there is provided a computer-readable storage medium storing computer instructions which, when executed, implement the scheduling method described above.
According to a fifth aspect of the embodiments of the present invention, there is provided a scheduling apparatus, including:
a memory for storing computer instructions;
a processor coupled to the memory, the processor configured to perform the scheduling method described above based on computer instructions stored by the memory.
One embodiment of the present invention has the following advantages or beneficial effects: the method adopts a pre-scheduling mode, improves the performance of the scheduler by increasing the scheduling parallelism, and uses the second type scheduler to perform actual scheduling after pre-scheduling, thereby reducing information conflict and ensuring the scheduling accuracy.
The preferred embodiments of the present invention have the following advantages or benefits: the initial selection and the grading step of the scheduling algorithm are executed in the pre-scheduling, and the real scheduling is realized in the second type of scheduler, so that the parts which can be executed in parallel in the scheduling algorithm are all executed in parallel, and the performance of the scheduler can be improved to the maximum extent.
The preferred embodiments of the present invention have the following advantages or benefits: the self-increasing version number is adopted in the node information center to record the updating times of the node information, so that the judgment of updating the node information is simplified, and the processing efficiency of the scheduler is improved.
Drawings
The above and other objects, features and advantages of the present invention will become more apparent by describing embodiments of the present invention with reference to the following drawings, in which:
FIG. 1 is a flow diagram of a monolithic scheduler in the prior art;
FIG. 2 is a flow chart of a scheduling method of the first embodiment of the present invention;
FIG. 3 is a flow chart of a scheduling method of a second embodiment of the present invention;
FIG. 4 is a flow chart of a scheduling system of a third embodiment of the present invention;
fig. 5 is a structural diagram of a scheduling apparatus according to an embodiment of the present invention.
Detailed Description
The present invention will be described below based on examples, but the present invention is not limited to only these examples. In the following detailed description of the present invention, certain specific details are set forth. It will be apparent to one skilled in the art that the present invention may be practiced without these specific details. Well-known methods, procedures, and procedures have not been described in detail so as not to obscure the present invention. The figures are not necessarily drawn to scale. Additionally, the first, second, … … are used herein only to indicate a difference, and not to indicate a difference in importance and/or priority.
Fig. 2 is a flowchart of a scheduling method according to a first embodiment of the present invention. The method specifically comprises the following steps.
In step S201, a plurality of first-class schedulers are connected in parallel, each first-class scheduler performs pre-scheduling for a container to be scheduled according to a scheduling algorithm, and generates a first list according to a pre-scheduling result.
In step S202, a second type scheduler is used, and the second type scheduler allocates nodes for the containers to be scheduled based on the plurality of first lists.
In order to solve the defects of poor performance and low throughput of a single scheduler in the background art during scheduling, in an embodiment of the present invention, a scheduling method is provided, where the scheduling method involves a plurality of first-class schedulers and a second-class scheduler, each first-class scheduler receives a container to be scheduled, performs pre-scheduling on the container to be scheduled according to a scheduling algorithm, where the pre-scheduling performs node screening, and forms a first list with at least one selected node, and transmits the first list to the second-class scheduler. And the second type scheduler executes actual scheduling and actually distributes nodes for the containers to be scheduled according to the plurality of first lists.
In the embodiment of the invention, the step of preliminarily screening the nodes is carried out in the first type scheduler by paralleling a plurality of first type schedulers, thereby providing the performance of overall scheduling, and the second type scheduler is used for carrying out actual scheduling after pre-scheduling, thereby ensuring the accuracy of scheduling.
Fig. 3 is a flowchart of a scheduling method according to a second embodiment of the present invention. Specifically, the scheduling method involves a plurality of first-type schedulers 100, one second-type scheduler 200, and a node information center 300.
The node information center 300 stores node information of a plurality of nodes. The node information center 300 is, for example, a global independent database, node information is stored in the form of a data table, and other nodes can log in and access the node information therein by using a user name and a password.
The first schedulers 100 respectively receive the container 400 to be scheduled, obtain the real-time node information from the node information center 300, pre-schedule the received container to be scheduled according to the real-time node information and the scheduling algorithm, and generate a first list according to the pre-scheduling result.
In one embodiment, as shown, the first type scheduler includes steps S31-S35.
In step S31, the container 400 to be scheduled is received.
In step S32, node information is acquired from the node information center 300.
In step S33, a node meeting the resource requirement of the container is screened out according to the node information, and the node list 101 after the initial selection is obtained.
In step S34, the nodes that have passed the initial selection are scored, and the scored nodes are obtained in the list 102.
In step S35, the node-scored list 102 is transferred to the second-type scheduler 200.
The resource requirement of the container to be scheduled requires that the node is a 2-core processor, the idle memory is at least 2G, no more than 3 containers are deployed on the node, and the like. In this embodiment, each time a container to be scheduled is received, all nodes are preliminarily screened according to the resource requirements of the container to be scheduled to obtain a node list 101 meeting the resource requirements, each node in the node list 101 is scored according to the degree of satisfaction of the resource, the score is recorded in an output node-scored list 102, and the list 102 is transmitted to the second type scheduler 200.
In one embodiment, as shown, the second type of scheduler includes steps S36-S41.
In step S36, the scored node list and the latest node information are acquired.
In step S37, the nodes in the list that match the latest node information are placed in the second list and those that do not match are placed in the third list, based on the latest node information.
In step S38, a node in the third list is initially selected, and a node passing through the initial selection is entered into the fourth list.
In step S39, the nodes in the fourth list are scored and the scores are recorded in the fourth list.
In step S40, the nodes in the fourth list and the second list are sorted according to the score.
In step S41, a scheduling node is selected according to the sorting result and scheduling is performed.
In this embodiment, the second scheduler acquires the latest node information, processes each received list one by one, compares the node information in the list with the latest node information one by one, places the same node information in the second list, places different node information in the third list, re-screens the nodes placed in the third list based on the resource requirements of the container, places the screened node information in the fourth list, re-scores each node in the fourth list to obtain a scored fourth list, sorts the nodes in the fourth list and the second list according to the scores, and schedules the nodes based on the sorting result. For example, if node3, node1, and node2 are included in the fourth list, then performing scheduling includes: the container to be dispatched is first attempted to be allocated on node3, and if it fails, it is attempted to be allocated on node1, and if it fails, it is attempted to be allocated on node 2. And so on. If one container fails to be allocated on all the nodes in the fourth list, the container is recorded into the list of the containers to be scheduled again, and nodes are waited to be reallocated.
In one embodiment, after the step S41 is performed, the step S42 of updating the node information of the corresponding node is further included. For example, for a list containing three node information of node3, node1, and node2, if a container is finally successfully allocated onto node1, the node information of node1 on node information center 300 is updated.
It should be appreciated that the scheduling algorithm for assigning nodes to containers to be scheduled mainly comprises two parts,
the method comprises the steps of node initial selection and node scoring, wherein the node initial selection is to select a node list meeting the resource requirement of a container to be scheduled from all nodes, and the node scoring is to score each node in the node list. Screening and scoring a large number of nodes in scheduling can be extremely time consuming. Therefore, the invention puts the steps of node initial selection and node scoring into the first type scheduler for parallel realization, thereby improving the system performance and the data throughput. In the second type of scheduler, only a small amount of node screening and scoring needs to be recalculated, and the scheduling speed and the scheduling parallelism are greatly increased.
Assume containers a1, a2, a3 … an. And meanwhile, creating and waiting to be scheduled. And the pre-scheduled time for each container is t. The monomer is scheduled for a time r. The first type of scheduler has n.
Then for a1 the schedule time is t + r. For a2, the time is t +2 × r. The scheduling time for an is t + n r. The time required for scheduling all the n containers is t + n r. Since the amount of computation required for the second type of scheduler is relatively small, the required scheduling time r is much shorter than the pre-scheduled time t.
In an actual project, for example, 100 containers to be scheduled enter a scheduling queue at the same time, and the original single scheduler is used for a single container scheduling time of 200ms, 100 × 200 to 20000ms is required for completing all scheduling. And similarly, 100 containers to be scheduled enter the scheduling queue at the same time, and if the method is used, the number of the first type of schedulers is 100, the pre-scheduling time of a single container to be scheduled is 200ms, and the aggregated scheduling time of the single container to be scheduled is 50ms, 200+50 × 100 is 5200ms required for all the 100 containers to be scheduled. (if there is no conflict in the aggregated schedule, the schedule time will be within 5 ms). Along with the increase of the number of the containers entering the system at the same time, the dispatching efficiency is improved more obviously after the method is used.
Therefore, the above embodiments can effectively improve the overall performance and throughput of the scheduler. And as the number of schedulers of the first type increases, the overall performance of the scheduling also increases. The number of schedulers of the first type is at most the number of containers to be scheduled created at the same time.
Of course, the first type scheduler may only include node initiations, and node scoring may be performed in the second type scheduler, or the second type scheduler may only summarize the received lists and not perform scoring.
In one embodiment, the list of the plurality of first type scheduler outputs is stored in a first-in-first-out message queue. Thus, the second type of scheduler reads a list sequentially from the message queue and performs processing based on the above-described embodiment.
In one embodiment, each node information included in the first to fourth lists referred to in the above embodiments is described using the following structure, see table 1.
Table 1
Wherein Version is a self increment. Therefore, after the second type scheduler modifies the corresponding node, the value of Version is added with 1, and the second type scheduler can judge whether the node information is changed or not by judging the value of Version. For example, if the first type scheduler reads node information of node10 and obtains a version of 10, and the second type scheduler reads the latest node information and obtains a version of node10 and 12, it can be determined that node information of node10 has been modified twice in this period, that is, there are two times of scheduling on node10 in this period. Therefore, the embodiment of the invention adopts the self-increased version number in the node information center to record the updating times of the node information, judges whether the node information is updated or not based on the version number, can simplify the judging step and improve the processing efficiency of the scheduler.
Fig. 4 is a structural diagram of a scheduling system of a third embodiment of the present invention. Specifically, the system comprises a plurality of prescheduling nodes 402 and a summarizing node 401. The prescheduling node 402 and the summarizing node 402 are connected through a local area network or the internet.
A scheduler of the first type is deployed on each prescheduling node 402. The first type of scheduler receives a container to be scheduled from the outside, obtains real-time node information, and performs pre-scheduling on the received container to be scheduled according to the real-time node information.
A second type scheduler is deployed on the aggregation node 401. And the second type scheduler receives a pre-scheduling result from the first type scheduler and realizes real node scheduling according to the pre-scheduling result.
In one embodiment, each scheduler 402 of the first type comprises the following steps: acquiring a container to be scheduled and current node information; acquiring a primary node list for a container to be scheduled according to the current node information; and scoring the nodes in the initially selected node list to obtain a first list, wherein the first list comprises the current node information.
In one embodiment, the second type scheduler 401 comprises the following steps: acquiring latest node information; judging whether the latest node information is consistent with the node information contained in the first list or not, and placing the node information with consistent information in a second list and the node information with inconsistent information in a third list; carrying out primary selection on the node information in the third list to obtain a fourth list; scoring the nodes in the fourth list, and recording scoring results in the fourth list; sorting the second list and the fourth list according to a scoring result; and carrying out node distribution according to the sequencing result.
In one embodiment, the scheduling system further comprises a node information center for storing node information of all nodes.
In one embodiment, the second type scheduler further comprises: and after the node distribution is carried out, updating the node information of the corresponding node.
Fig. 5 is a structural diagram of a scheduling simulation apparatus according to an embodiment of the present invention. The apparatus shown in fig. 5 is only an example and should not limit the functionality and scope of use of embodiments of the present invention in any way.
Referring to fig. 5, the apparatus includes a processor 501, a memory 502, and an input-output device 503, which are connected by a bus. Memory 502 includes Read Only Memory (ROM) and Random Access Memory (RAM), with various computer instructions and data required to perform system functions being stored in memory 502, and with various computer instructions being read by processor 501 from memory 502 to perform various appropriate actions and processes. An input/output device including an input portion of a keyboard, a mouse, and the like; an output section including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section including a hard disk and the like; and a communication section including a network interface card such as a LAN card, a modem, or the like. The memory 502 also stores the following computer instructions to perform the operations specified by the apparatus of an embodiment of the invention: the method comprises the following steps that a plurality of first-class schedulers are arranged in parallel, each first-class scheduler carries out pre-scheduling on a container to be scheduled according to a scheduling algorithm, and a first list is generated according to a pre-scheduling result; a second type scheduler is employed which allocates nodes to the containers to be scheduled based on the plurality of first lists.
Accordingly, embodiments of the present invention provide a computer-readable storage medium storing computer instructions that, when executed, implement the operations specified by the above-described method.
The flowcharts and block diagrams in the figures and block diagrams illustrate the possible architectures, functions, and operations of the systems, methods, and apparatuses according to the embodiments of the present invention, and may represent a module, a program segment, or merely a code segment, which is an executable instruction for implementing a specified logical function. It should also be noted that the executable instructions that implement the specified logical functions may be recombined to create new modules and program segments. The blocks of the drawings, and the order of the blocks, are thus provided to better illustrate the processes and steps of the embodiments and should not be taken as limiting the invention itself.
The various modules or units of the system may be implemented in hardware, firmware or software. The software includes, for example, a code program formed using various programming languages such as JAVA, C/C + +/C #, SQL, and the like. Although the steps and sequence of steps of the embodiments of the present invention are presented in method and method diagrams, the executable instructions of the steps implementing the specified logical functions may be re-combined to create new steps. The sequence of the steps should not be limited to the sequence of the steps in the method and the method illustrations, and can be modified at any time according to the functional requirements. Such as by performing certain steps of the features in parallel or in reverse order.
Systems and methods according to the present invention may be deployed on a single server or on multiple servers. For example, different modules may be deployed on different servers, respectively, to form a dedicated server. Alternatively, the same functional unit, module or system may be deployed in a distributed fashion across multiple servers to relieve load stress. The server includes but is not limited to a plurality of PCs, PC servers, blades, supercomputers, etc. on the same local area network and connected via the Internet.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (19)
1. A method of scheduling, comprising:
the method comprises the following steps that a plurality of first-class schedulers are arranged in parallel, each first-class scheduler carries out pre-scheduling on a container to be scheduled according to a scheduling algorithm, and a first list is generated according to a pre-scheduling result;
a second type scheduler is employed which allocates nodes to the containers to be scheduled based on the plurality of first lists.
2. The scheduling method according to claim 1, wherein each scheduler of the first type comprises the steps of:
acquiring a container to be scheduled and current node information; and
acquiring a primary selection node list for the container to be scheduled according to the current node information to serve as the first list;
3. the scheduling method of claim 2 wherein each scheduler of the first type further comprises:
and scoring the nodes in the initially selected node list to obtain the first list.
4. The scheduling method according to claim 1, wherein the second class of scheduler comprises the steps of:
acquiring latest node information;
judging whether the latest node information is consistent with the node information contained in the first list or not, and placing the node information with consistent information in a second list and the node information with inconsistent information in a third list;
carrying out initial selection on the node information in the third list to obtain a fourth list;
and carrying out node distribution according to the second list and the fourth list.
5. The scheduling method of claim 4, wherein said assigning nodes according to said second list and said fourth list comprises:
scoring the nodes in the fourth list, and recording scoring results in the fourth list;
sorting the second list and the fourth list according to a scoring result; and
and carrying out node distribution according to the sequencing result.
6. The scheduling method according to claim 5, wherein the second type scheduler obtains a plurality of first lists, and repeats the steps from the obtaining of the latest node information to the node allocation according to the sorting result for each first list.
7. The scheduling method of claim 1, further comprising: global storage node information.
8. The scheduling method of claim 7 wherein the information for each node includes node ID, node version and node resource usage.
9. The scheduling method according to claim 4 or 5, wherein the scheduler of the second type further comprises: and after the node distribution is carried out, updating the node information of the corresponding node.
10. The scheduling method of claim 9, wherein the updating the node information of the corresponding node comprises:
the node version of the corresponding node information is increased by 1.
11. The method according to claim 10, wherein the determining whether the latest node information is consistent with the node information included in the first list comprises:
and judging whether the latest node information is consistent with the node information contained in the first list or not by judging whether the node version in the node information of the corresponding node is changed or not.
12. A scheduling apparatus, comprising:
each first type scheduler executes pre-scheduling for the container to be scheduled according to a scheduling algorithm and generates a first list according to a pre-scheduling result;
a second type scheduler that allocates nodes to containers to be scheduled based on the plurality of first lists.
13. The scheduling apparatus according to claim 12, wherein each scheduler of the first type comprises the steps of:
acquiring a container to be scheduled and current node information;
acquiring a primary node list for the container to be scheduled according to the current node information;
and scoring the nodes in the initially selected node list to obtain the first list, wherein the first list comprises the current node information.
14. The scheduling apparatus of claim 13 wherein the second class of scheduler comprises the steps of:
acquiring latest node information;
judging whether the latest node information is consistent with the node information contained in the first list or not, and placing the node information with consistent information in a second list and the node information with inconsistent information in a third list;
carrying out initial selection on the node information in the third list to obtain a fifth list;
scoring the nodes in the fourth list, and recording scoring results in the fourth list;
sorting the fourth list and the second list according to a scoring result; and
and carrying out node distribution according to the sequencing result.
15. The scheduling apparatus of claim 12 wherein the second class scheduler further comprises: and after the node distribution is carried out, updating the node information of the corresponding node.
16. A scheduling system, comprising:
a plurality of prescheduling nodes, each prescheduling node having deployed thereon a scheduler of a first type according to any of claims 1-11,
a summary node on which is deployed a scheduler of the second type as claimed in claims 1-11.
17. The scheduling system of claim 16 further comprising: and the storage node is used for storing node information of all the nodes.
18. A computer-readable storage medium storing computer instructions which, when executed, implement the scheduling method of any one of claims 1 to 11.
19. A scheduling apparatus, comprising:
a memory for storing computer instructions;
a processor coupled to the memory, the processor configured to perform implementing the scheduling method of any of claims 1-11 based on computer instructions stored by the memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811075453.5A CN110908791B (en) | 2018-09-14 | 2018-09-14 | Scheduling method, scheduling device and scheduling system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811075453.5A CN110908791B (en) | 2018-09-14 | 2018-09-14 | Scheduling method, scheduling device and scheduling system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908791A true CN110908791A (en) | 2020-03-24 |
CN110908791B CN110908791B (en) | 2024-06-14 |
Family
ID=69812421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811075453.5A Active CN110908791B (en) | 2018-09-14 | 2018-09-14 | Scheduling method, scheduling device and scheduling system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908791B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363811A (en) * | 2020-11-16 | 2021-02-12 | 中国电子科技集团公司电子科学研究院 | Artificial intelligence computing resource scheduling method and computer readable storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919445A (en) * | 2015-12-28 | 2017-07-04 | 华为技术有限公司 | A kind of method and apparatus of the container of Parallel Scheduling in the cluster |
US20170373940A1 (en) * | 2016-06-23 | 2017-12-28 | Sap Se | Container-based multi-tenant computing infrastructure |
-
2018
- 2018-09-14 CN CN201811075453.5A patent/CN110908791B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919445A (en) * | 2015-12-28 | 2017-07-04 | 华为技术有限公司 | A kind of method and apparatus of the container of Parallel Scheduling in the cluster |
US20170373940A1 (en) * | 2016-06-23 | 2017-12-28 | Sap Se | Container-based multi-tenant computing infrastructure |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363811A (en) * | 2020-11-16 | 2021-02-12 | 中国电子科技集团公司电子科学研究院 | Artificial intelligence computing resource scheduling method and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN110908791B (en) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727512B (en) | Cluster resource scheduling method, device, equipment and storage medium | |
US8434085B2 (en) | Scalable scheduling of tasks in heterogeneous systems | |
CN109684065B (en) | Resource scheduling method, device and system | |
US20200174844A1 (en) | System and method for resource partitioning in distributed computing | |
CN110162413B (en) | Event-driven method and device | |
CN109857535B (en) | Spark JDBC-oriented task priority control implementation method and device | |
US10108458B2 (en) | System and method for scheduling jobs in distributed datacenters | |
TWI397010B (en) | Virtual machine module scheduling, scheduling methods and computer program products | |
CN111464659A (en) | Node scheduling method, node pre-selection processing method, device, equipment and medium | |
CN111190712A (en) | Task scheduling method, device, equipment and medium | |
CN111880939A (en) | Container dynamic migration method and device and electronic equipment | |
CN115292016A (en) | Task scheduling method based on artificial intelligence and related equipment | |
CN113886034A (en) | Task scheduling method, system, electronic device and storage medium | |
Zhong et al. | Speeding up Paulson’s procedure for large-scale problems using parallel computing | |
CA2631255A1 (en) | Scalable scheduling of tasks in heterogeneous systems | |
Keerthika et al. | A hybrid scheduling algorithm with load balancing for computational grid | |
CN113626173B (en) | Scheduling method, scheduling device and storage medium | |
CN110908791B (en) | Scheduling method, scheduling device and scheduling system | |
Thamsen et al. | Hugo: a cluster scheduler that efficiently learns to select complementary data-parallel jobs | |
KR101752699B1 (en) | Method for processing exploding data stream and apparatus for the same | |
Al-Masri et al. | Enhancing Resource Provisioning Across Edge-based Environments | |
Kaladevi et al. | Processor co-allocation enabling advanced reservation of jobs in MultiCluster systems | |
Rahaman et al. | Optimal and Appropriate Job Allocation Algorithm for Skilled Agents under a Server Constraint | |
CN119271379B (en) | Scheduling method, device and equipment of natural resource multimode calculation analysis model | |
Ainbinder et al. | A study comparing waiting times in global and local queuing systems with heterogeneous workers |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |