Nothing Special   »   [go: up one dir, main page]

CN110908791B - Scheduling method, scheduling device and scheduling system - Google Patents

Scheduling method, scheduling device and scheduling system Download PDF

Info

Publication number
CN110908791B
CN110908791B CN201811075453.5A CN201811075453A CN110908791B CN 110908791 B CN110908791 B CN 110908791B CN 201811075453 A CN201811075453 A CN 201811075453A CN 110908791 B CN110908791 B CN 110908791B
Authority
CN
China
Prior art keywords
list
node
scheduling
node information
information
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.)
Active
Application number
CN201811075453.5A
Other languages
Chinese (zh)
Other versions
CN110908791A (en
Inventor
徐新坤
鲍永成
刘海锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201811075453.5A priority Critical patent/CN110908791B/en
Publication of CN110908791A publication Critical patent/CN110908791A/en
Application granted granted Critical
Publication of CN110908791B publication Critical patent/CN110908791B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation 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 class scheduler, wherein the second class 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-dispatching mode, improves the performance of a dispatcher by increasing dispatching parallelism, and uses a second class dispatcher to carry out actual dispatching after pre-dispatching, thereby reducing information conflict and ensuring dispatching accuracy. The embodiment of the invention also provides a scheduling device and a scheduling system.

Description

Scheduling method, scheduling device and scheduling system
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a scheduling method, a scheduling device, and a scheduling system.
Background
Scheduling is a way to allocate a workload to a processing resource. In a large-scale container cluster, after the container is created, a proper node needs to be selected for scheduling, so that the container is created on a certain node. The scheduling needs to consider the container and resource conditions already allocated on the nodes and the remaining resource conditions, so that a proper node is selected from a plurality of nodes in the cluster to allocate the container.
The currently prevailing scheduling method is a single scheduler typified by kubernetes. The single process entity is a single process entity that makes scheduling decisions and completes container deployments that need to be scheduled. For decision making of scheduling tasks, the general workflow of a single scheduler is:
1. acquiring a container 101 to be scheduled;
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 all the nodes from the screened nodes to obtain a list 104 after node sorting;
5. Scheduling a container according to the ordering result, i.e. scheduling the container to the node 105;
6. The available resources of the node information center 106 are updated.
The single scheduler has the advantage of effectively preventing resource information collision. Because only one scheduler works, the scheduler obtains accurate and efficient resource information. If multiple schedulers are operating simultaneously, it may happen that scheduler a schedules containers onto node M. The scheduler B does not learn this information in time and therefore misuses more resources for node M. But the single scheduler can only be executing one at a time, limiting system performance and task throughput. Since there is only a single process instance, when there are a large number of containers waiting to be scheduled at the same time, this results in the average scheduling time of scheduling being extended. Assume that containers a1, a2, a3 … an. Meanwhile, creating and waiting to be scheduled, assuming that each scheduled time is t, the a1 scheduled time is t, the a2 scheduled time is 2*t because the scheduling can be performed after the a1 scheduled is completed, the a3 scheduled time is 3*t, and the like, and the an scheduled time is n x t. I.e. the time required for all containers to be completely dispatched is n x t. And as the number n of simultaneous waiting scheduling containers increases, the average scheduling time increases. Since all nodes need to be calculated for each scheduling, the scheduling time is longer as the number of nodes in the cluster increases.
Disclosure of Invention
In view of this, the embodiment of the invention provides a scheduling method, a scheduling device and a scheduling system, which firstly adopt a plurality of first-class schedulers to perform pre-scheduling in parallel, and then adopt a second-class scheduler to perform summarization and perform actual scheduling, thereby improving scheduling performance and task throughput.
According to a first aspect of the present invention, there is provided a scheduling method comprising:
the first type schedulers are parallel, each first type scheduler performs pre-scheduling on the container to be scheduled according to a scheduling algorithm, and a first list is generated according to a pre-scheduling result;
A second class of schedulers is employed, which allocates nodes for containers to be scheduled based on the plurality of first lists.
Preferably, each first class scheduler comprises the steps of:
acquiring a container to be scheduled and current node information; and
Obtaining a primary node list for the container to be scheduled according to the current node information as the first list;
Preferably, each first class scheduler further comprises:
And scoring the nodes in the initially selected node list to obtain the first list.
Preferably, the second class of schedulers comprises the steps of:
Acquiring the latest node information;
Judging whether the latest node information is consistent with the node information contained in the first list, placing the node information with consistent information in the second list, and placing the node information with inconsistent information in the third list;
Performing primary selection on node information in the third list to obtain a fourth list;
and performing node allocation according to the second list and the fourth list.
Preferably, the node allocation according to the second list and the fourth list includes:
Scoring the nodes in the fourth list, and recording the scoring result in the fourth list;
sorting the second list and the fourth list according to scoring results; and
And performing node allocation according to the ordering result.
Preferably, the second class scheduler acquires a plurality of first lists, and repeatedly performs the steps from the acquisition of the latest node information to the node allocation according to the sorting result for each first list.
Preferably, the method further comprises: and globally storing node information.
Preferably, the information of each node includes a node ID, a node version, and a node resource usage.
Preferably, the second class of schedulers further comprises: after the node allocation is carried out, the node information of the corresponding node is updated.
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 and the node information contained in the first list are consistent includes:
and judging whether the latest node information is consistent with the node information contained in the first list by judging whether the node version in the node information of the corresponding node is changed or not.
According to a second aspect of an embodiment of the present invention, there is provided a scheduling apparatus including:
The first type schedulers execute pre-scheduling for the containers to be scheduled according to a scheduling algorithm, and a first list is generated according to a pre-scheduling result;
and the second class scheduler obtains a second list based on the first lists and allocates nodes for the containers to be scheduled based on the second list.
Preferably, each first class scheduler comprises the steps of:
acquiring a container to be scheduled and current node information;
Obtaining a primary node list for the container to be scheduled according to the current node information;
scoring nodes in the initially selected node list to obtain the first list, wherein the first list comprises current node information.
Preferably, the second class of schedulers comprises the steps of:
Acquiring the latest node information;
Judging whether the latest node information is consistent with the node information contained in the first list, placing the node information with consistent information in the second list, and placing the node information with inconsistent information in the third list;
Performing primary selection on node information in the third list to obtain a fourth list;
Scoring the nodes in the fourth list, and recording the scoring result in the fourth list;
sorting the second list and the fourth list according to scoring results; and
And performing node allocation according to the ordering result.
Preferably, the second class of schedulers further comprises: after the node allocation is carried out, the node information of the corresponding node is updated.
According to a third aspect of an embodiment of the present invention, there is provided a scheduling system including:
A plurality of prescheduling nodes, each prescheduling node having disposed thereon a scheduler of the first type,
And the summarizing node is provided with the second class scheduler.
Preferably, the method further comprises: and the storage node is used for storing node information of all the nodes.
According to a fourth aspect of 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 an embodiment 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.
An embodiment of the present invention has the following advantages or beneficial effects: by adopting a pre-scheduling mode, the performance of the scheduler is improved by increasing the scheduling parallelism, and after pre-scheduling, the actual scheduling is performed by using the second type of scheduler, so that the information conflict is reduced, and the scheduling accuracy is ensured.
The preferred embodiments of the present invention have the following advantages or benefits: and performing primary selection and scoring steps of a scheduling algorithm in the pre-scheduling, and realizing real scheduling in a second type of scheduler, so that parallel parts in the scheduling algorithm can be executed in parallel, and the performance of the scheduler can be improved to the greatest 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 update times of the node information, so that the judgment on the update of the node information is simplified, and the processing efficiency of a scheduler is improved.
Drawings
The above and other objects, features and advantages of the present invention will become more apparent by describing embodiments thereof with reference to the following drawings in which:
FIG. 1 is a flow chart of a prior art monomer scheduler;
fig. 2 is a flowchart of a scheduling method according to a first embodiment of the present invention;
FIG. 3 is a flow chart of a scheduling method according to a second embodiment of the present invention;
FIG. 4 is a flow chart of a scheduling system according to a third embodiment of the present invention;
Fig. 5 is a block diagram of a scheduling apparatus according to an embodiment of the present invention.
Detailed Description
The present invention is 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 in detail. The present invention will be fully understood by those skilled in the art without the details described herein. Well-known methods, procedures, and flows have not been described in detail so as not to obscure the nature of the invention. The figures are not necessarily drawn to scale. In addition, the first, second, … … herein are used only to indicate different things and are not used to indicate differences 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 parallel, each of the first-class schedulers performs prescheduling for the containers to be scheduled according to the scheduling algorithm, and generates a first list according to the prescheduling result.
In step S202, a second type scheduler is used, and a second type scheduler is used, where the second type scheduler allocates nodes for containers to be scheduled based on the first lists.
In order to solve the defects of poor performance and low throughput of a single scheduler in the background art when processing scheduling, in the embodiment of the invention, a scheduling method is provided, wherein the scheduling method relates to 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, performs node screening on the pre-scheduling, forms at least one selected node into a first list, and transmits the first list to the second-class scheduler. The second class of schedulers execute actual scheduling, and actually allocate nodes for the containers to be scheduled according to the first lists.
In the embodiment of the invention, the step of primarily screening the nodes is carried out in the first type of schedulers through a plurality of first type schedulers in parallel, so that the performance of overall scheduling is provided, and after the scheduling is pre-performed, the second type of schedulers are used for actual scheduling, so that the accuracy of scheduling is ensured.
Fig. 3 is a flowchart of a scheduling method according to a second embodiment of the present invention. Specifically including that the scheduling method involves a plurality of schedulers of a first type 100, a scheduler of a second type 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, the node information is stored in the form of a data table, and other nodes can log in and access the node information therein through a user name and a password.
The first schedulers 100 respectively receive the containers 400 to be scheduled, obtain real-time node information from the node information center 300, perform pre-scheduling on the received containers to be scheduled according to the real-time node information and a scheduling algorithm, and generate a first list according to a pre-scheduling result.
In one embodiment, as shown, the first type of 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, nodes meeting the resource requirement of the container are screened out according to the node information, and the node list 101 after the primary selection is obtained.
In step S34, each node that has passed the preliminary selection is scored, and the node scored list 102 is obtained.
In step S35, the scored list 102 of nodes is transmitted to the second class scheduler 200.
The resource requirements of the container to be scheduled require, for example, that the node be a 2-core processor, that the free memory be at least 2G, that no more than 3 containers have been deployed on it, and so on. In this embodiment, each time a container to be scheduled is received, all nodes are initially screened according to the resource requirement of the container to be scheduled, a node list 101 meeting the resource requirement is obtained, each node in the node list 101 is scored according to the satisfaction degree of the resource, the score is recorded in a list 102 after the output node is scored, and the list 102 is transmitted to the second class 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, according to the latest node information, the nodes in the list that are consistent with the latest node information are entered into the second list, and the nodes that are inconsistent with the latest node information are entered into the third list.
In step S38, a node in the third list is initially selected, and a node that has passed 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 ordered according to the scoring.
In step S41, a scheduling node is selected and scheduled according to the ranking result.
In this embodiment, the second class 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, rescreens the nodes placed in the third list based on the resource requirement of the container, places the node information passing through the screening in the fourth list, rescales each node in the fourth list, obtains a scored fourth list, sorts the nodes in the fourth list and the second list according to the scores, and schedules based on the sorting result. For example, the fourth list includes nodes node3, node1, node2, and performing scheduling includes: first, an attempt is made to assign a container to be scheduled to node3, and if it fails, an attempt is made to assign the container to node1, and if it fails, an attempt is made to assign the container to node2. And so on. If one container fails to be allocated on all nodes in the fourth list, it is re-recorded in the list of containers to be scheduled, waiting for the nodes to be reallocated.
In one embodiment, after step S41 is performed, updating node information of the corresponding node in step S42 is further included. For example, for a list containing three node information of node3, node1, node2, if the container was last successfully allocated to node1, the node information of node1 on the node information center 300 is updated.
It should be appreciated that the scheduling algorithm for allocating nodes to containers to be scheduled consists essentially of two parts,
Node primary selection and node scoring, wherein the node primary 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 a schedule can be extremely time consuming. Therefore, the invention puts the steps of node primary selection and node scoring in the first class scheduler to be realized in parallel, thereby improving the system performance and the data throughput. In the second type of scheduler, only a small number of screening and scoring of nodes need to be recalculated, so that the scheduling speed and the scheduling parallelism are greatly improved.
Assume that containers a1, a2, a3 … an. And simultaneously creating, waiting to be scheduled. And the pre-scheduling time for each container is t. The time for monomer scheduling is r. There are n schedulers of the first type.
Then for a1 the scheduling 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 the complete scheduling of all n containers is t+n×r. Whereas the second class of schedulers requires relatively little computation to process, the time r of scheduling is much smaller than the time t of pre-scheduling.
In an actual project, for example, 100 containers to be scheduled enter a scheduling queue simultaneously, and an original single scheduler is used for 200ms for single container scheduling time, then 100×200=20000 ms is required for complete scheduling. And 100 containers to be scheduled enter the scheduling queue simultaneously, the first type of scheduler is assumed to be 100, the pre-scheduling time of a single container to be scheduled is 200ms, the total scheduling time of the single container to be scheduled is 50ms, and 200+50×100=5200 ms is required to schedule all 100 containers. (if there is no conflict in the summary schedule, the schedule time is within 5 ms). With the increase of the number of containers simultaneously entered, the scheduling efficiency is improved obviously after the method is used.
Therefore, the overall performance and throughput of the scheduler can be effectively improved through the embodiment. And as the number of first-class schedulers increases, the overall performance of the schedule may also be improved. The number of schedulers of the first type is at most the number of containers to be scheduled that are created simultaneously.
Of course, the first type of scheduler may include node primary selection only, and the node scoring portion is placed in the second type of scheduler, or the second type of scheduler may only aggregate the received list and not score.
In one embodiment, the list of the plurality of first class scheduler outputs is stored in a first-in first-out message queue. Thus, the second class of schedulers sequentially reads a list from the message queue and processes it based on the embodiments described above.
In one embodiment, each node information included in the first to fourth lists referred to in the above embodiments is described in the following structure, see table 1.
Table 1
Where Version is a self increment. Therefore, after the second class scheduler modifies the corresponding node, the value of Version is added with 1, and the second class scheduler can judge whether the node information is changed or not by judging the value of Version. For example, if the version obtained when the first type scheduler reads node information of node10 is 10, and if the second type scheduler reads the latest node information to obtain the version of node10 is 12, it may be determined that the node information of node10 has been modified twice during this period, that is, during this period, there are two schedules occurring on node 10. Therefore, the embodiment of the invention adopts the self-increased version number to record the update times of the node information in the node information center, and judges whether the node information is updated or not based on the version number, so that the judging step can be simplified, and the processing efficiency of the scheduler can be improved.
Fig. 4 is a block diagram of a scheduling system according to a third embodiment of the present invention. Specifically, the system comprises a plurality of pre-scheduling nodes 402 and a summary node 401. The prescheduling node 402 and the aggregation node 402 are connected via a local area network or the internet.
One first type of scheduler is deployed on each prescheduling node 402. The first type of dispatcher receives the container to be dispatched from the outside, obtains real-time node information, and pre-dispatches the received container to be dispatched according to the real-time node information.
A second type of scheduler is deployed on the aggregation node 401. The second class scheduler receives a pre-scheduling result from the first class scheduler, and real node scheduling is realized according to the pre-scheduling result.
In one embodiment, each first type scheduler 402 includes the steps of: acquiring a container to be scheduled and current node information; obtaining 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 current node information.
In one embodiment, the second class scheduler 401 comprises the steps of: acquiring the latest node information; judging whether the latest node information is consistent with the node information contained in the first list, placing the node information with consistent information in the second list, and placing the node information with inconsistent information in the third list; performing primary selection on node information in the third list to obtain a fourth list; scoring nodes in the fourth list, and recording the scoring result in the fourth list; sorting the second list and the fourth list according to the scoring result; and performing node allocation according to the ordering 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 class of schedulers further comprises: after the node allocation is carried out, the node information of the corresponding node is updated.
Fig. 5 is a block diagram of a scheduling simulation apparatus according to an embodiment of the present invention. The apparatus shown in fig. 5 is merely an example, and should not be construed as limiting 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 connected by a bus. Memory 502 includes Read Only Memory (ROM) and Random Access Memory (RAM), and memory 502 stores various computer instructions and data required to perform system functions, processor 501 reads various computer instructions from memory 502 to perform various appropriate actions and processes. The input-output device includes an input section of a keyboard, a mouse, etc.; an output section including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), etc., and a speaker, etc.; a storage section including a hard disk or the like; and a communication section including a network interface card such as a LAN card, a modem, and the like. Memory 502 also stores the following computer instructions to perform the operations specified by the apparatus of embodiments of the present invention: the first type schedulers are parallel, each first type scheduler performs pre-scheduling on the container to be scheduled according to a scheduling algorithm, and a first list is generated according to a pre-scheduling result; a second class of schedulers is employed, which allocates nodes for 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 perform operations specified by the above-described method.
The flowcharts, block diagrams in the figures illustrate the possible architectural framework, functions, and operations of the systems, methods, apparatus of the embodiments of the present invention, and the blocks in the flowcharts and block diagrams may represent a module, a program segment, or a code segment, which is an executable instruction for implementing the specified logical function(s). It should also be noted that the executable instructions that implement the specified logic functions may be recombined to produce new modules and program segments. The blocks of the drawings and the order of the blocks are thus merely 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, code programs formed using various programming languages such as JAVA, C/C++/C#, SQL, and the like. Although steps and sequences of steps of embodiments of the present invention are presented in terms of methods and apparatus, executable instructions for implementing the specified logical function(s) of the steps may be rearranged to produce new steps. The order of the steps should not be limited to only the order of the steps in the method and method illustration, but may be modified at any time as required by the function. For example, certain steps that characterize them are performed in parallel or in reverse order.
Systems and methods according to the present invention may be deployed on a single or multiple servers. For example, different modules may be deployed on different servers, respectively, to form a dedicated server. Or the same functional units, modules, or systems may be distributed across multiple servers to relieve load pressure. The server includes, but is not limited to, a plurality of PCs, PC servers, blades, supercomputers, etc. connected on the same local area network and through the Internet.
The above description is only of the preferred embodiments of the present invention and is not intended to limit the present invention, and various modifications and variations may be made to the present invention by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (16)

1. A scheduling method, comprising:
The first type schedulers are parallel, each first type scheduler performs prescheduling for the container to be scheduled according to a scheduling algorithm, and a first list is generated according to a prescheduling result;
a second type of scheduler is employed, which allocates nodes for containers to be scheduled based on a plurality of first lists,
The second class of schedulers comprises the steps of:
Acquiring the latest node information;
judging whether the latest node information is consistent with the node information contained in the first list, placing the node information with consistent information in the second list, and placing the node information with inconsistent information in the third list;
Performing primary selection on node information in the third list to obtain a fourth list;
node allocation is performed according to the second list and the fourth list, and the node allocation performed according to the second list and the fourth list comprises the following steps:
Scoring the nodes in the fourth list, and recording the scoring result in the fourth list;
sorting the second list and the fourth list according to scoring results; and
And performing node allocation according to the ordering result.
2. The scheduling method of claim 1, wherein each first type of scheduler comprises the steps of:
acquiring a container to be scheduled and current node information; and
Obtaining a primary node list for the container to be scheduled according to the current node information as the first list;
3. the scheduling method of claim 2, wherein each first type of scheduler 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 scheduler acquires a plurality of first lists, and the step of allocating nodes from the acquisition of the latest node information to the sorting result is repeatedly performed for each first list.
5. The scheduling method of claim 1, further comprising: and globally storing node information.
6. The scheduling method of claim 5, wherein the information of each node includes a node ID, a node version, and a node resource usage.
7. The scheduling method of claim 1, wherein the second class of schedulers further comprises: after the node allocation is carried out, the node information of the corresponding node is updated.
8. The scheduling method of claim 7, wherein the updating the node information of the corresponding node comprises:
The node version of the corresponding node information is increased by 1.
9. The scheduling method of claim 8, wherein the determining whether the latest node information and the node information included in the first list are identical comprises:
and judging whether the latest node information is consistent with the node information contained in the first list by judging whether the node version in the node information of the corresponding node is changed or not.
10. A scheduling apparatus, comprising:
The first type schedulers execute pre-scheduling for the containers to be scheduled according to a scheduling algorithm, and a first list is generated according to a pre-scheduling result;
A second class scheduler, said second class scheduler allocating nodes for containers to be scheduled based on a plurality of first lists, said second class scheduler comprising the steps of:
Acquiring the latest node information;
judging whether the latest node information is consistent with the node information contained in the first list, placing the node information with consistent information in the second list, and placing the node information with inconsistent information in the third list;
Performing primary selection on node information in the third list to obtain a fourth list;
Scoring the nodes in the fourth list, and recording the scoring result in the fourth list;
Sorting the fourth list and the second list according to scoring results; and
And performing node allocation according to the ordering result.
11. The scheduling apparatus of claim 10, wherein each first type of scheduler comprises the steps of:
acquiring a container to be scheduled and current node information;
Obtaining a primary node list for the container to be scheduled according to the current node information;
scoring nodes in the initially selected node list to obtain the first list, wherein the first list comprises current node information.
12. The scheduling apparatus of claim 10, wherein the second class of schedulers further comprises: after the node allocation is carried out, the node information of the corresponding node is updated.
13. A scheduling system, comprising:
A plurality of prescheduling nodes, each prescheduling node having disposed thereon a scheduler of a first type as claimed in any of claims 1-9,
A summary node on which a second class scheduler according to any of claims 1-11 is deployed.
14. The scheduling system of claim 13, further comprising: and the storage node is used for storing node information of all the nodes.
15. A computer readable storage medium storing computer instructions which, when executed, implement the scheduling method of any one of claims 1 to 9.
16. 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 one of claims 1 to 9 based on computer instructions stored by the memory.
CN201811075453.5A 2018-09-14 2018-09-14 Scheduling method, scheduling device and scheduling system Active CN110908791B (en)

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 CN110908791A (en) 2020-03-24
CN110908791B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363811B (en) * 2020-11-16 2023-04-07 中国电子科技集团公司电子科学研究院 Artificial intelligence computing resource scheduling method and computer readable storage medium

Citations (1)

* Cited by examiner, † Cited by third party
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10305747B2 (en) * 2016-06-23 2019-05-28 Sap Se Container-based multi-tenant computing infrastructure

Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
CN110908791A (en) 2020-03-24

Similar Documents

Publication Publication Date Title
CN110727512B (en) Cluster resource scheduling method, device, equipment and storage medium
US20200174844A1 (en) System and method for resource partitioning in distributed computing
US8434085B2 (en) Scalable scheduling of tasks in heterogeneous systems
CN106919445B (en) Method and device for scheduling containers in cluster in parallel
US8752059B2 (en) Computer data processing capacity planning using dependency relationships from a configuration management database
CN109857535B (en) Spark JDBC-oriented task priority control implementation method and device
CN110162413A (en) Event-driven method and device
CN111190712A (en) Task scheduling method, device, equipment and medium
CN113886034A (en) Task scheduling method, system, electronic device and storage medium
CN111984385A (en) Task scheduling method and task scheduling device based on decorative BIM model
CN113225269B (en) Container-based workflow scheduling method, device and system and storage medium
CN115292016A (en) Task scheduling method based on artificial intelligence and related equipment
CN109597810B (en) Task segmentation method, device, medium and electronic equipment
US10635492B2 (en) Leveraging shared work to enhance job performance across analytics platforms
CN111767145A (en) Container scheduling system, method, device and equipment
Keerthika et al. A hybrid scheduling algorithm with load balancing for computational grid
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
CN114721824A (en) Resource allocation method, medium and electronic device
CN110908791B (en) Scheduling method, scheduling device and scheduling system
CN113626173A (en) Scheduling method, device and storage medium
Le Hai et al. A working time deadline-based backfilling scheduling solution
CN114625512A (en) Task scheduling method and device, electronic equipment and storage medium
CN112363819A (en) Big data task dynamic scheduling method and device and computing equipment
CN113760499A (en) Method, device, computing equipment and medium for scheduling computing unit
KR101752699B1 (en) Method for processing exploding data stream and apparatus for the same

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