WO2024119930A1 - 调度方法、装置、计算机设备和存储介质 - Google Patents

调度方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
WO2024119930A1
WO2024119930A1 PCT/CN2023/117662 CN2023117662W WO2024119930A1 WO 2024119930 A1 WO2024119930 A1 WO 2024119930A1 CN 2023117662 W CN2023117662 W CN 2023117662W WO 2024119930 A1 WO2024119930 A1 WO 2024119930A1
Authority
WO
WIPO (PCT)
Prior art keywords
scheduled
attribute information
queue
unit
scheduling
Prior art date
Application number
PCT/CN2023/117662
Other languages
English (en)
French (fr)
Inventor
杨业飞
周光
樊建刚
田光宇
Original Assignee
京东科技信息技术有限公司
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 京东科技信息技术有限公司 filed Critical 京东科技信息技术有限公司
Publication of WO2024119930A1 publication Critical patent/WO2024119930A1/zh

Links

Definitions

  • the present disclosure relates to the field of computer technology, and can be specifically applied to cloud computing, big data, intelligent supply chain and other fields. More specifically, it relates to a scheduling method, apparatus, computer equipment, storage medium, computer program product and computer program.
  • a computer cluster or cluster for short (such as a Kubernetes cluster), consists of a group of machines called nodes, which run containerized applications managed by Kubernetes, and each cluster has at least one working node.
  • Pod is the basic scheduling unit on the Kubernetes platform. When creating a deployment on Kubernetes, the deployment will create a Pod containing a container (rather than creating a container directly). Each Pod is bound to the node where it is debugged and executed, and remains until it is terminated (according to the restart policy) or deleted.
  • each Pod is usually scheduled in sequence based on a native scheduling framework, or the Pod is scheduled in batches based on a batch scheduling framework.
  • scheduling based on the native scheduling framework has low scheduling efficiency.
  • Scheduling based on the batch scheduling framework may also affect scheduling efficiency due to differences in attribute information of different Pods.
  • the present disclosure aims to solve one of the technical problems in the related art at least to some extent.
  • the embodiments of the present disclosure propose a scheduling method, apparatus, computer device, storage medium, computer program product and computer program, which can effectively reduce the attribute differences between the units to be scheduled in the queue to be scheduled based on the first attribute information, so as to quickly and accurately implement batch scheduling of the units to be scheduled according to the queue to be scheduled, thereby effectively improving the scheduling efficiency of the units to be scheduled.
  • the scheduling method proposed in the embodiment of the first aspect of the present disclosure includes: determining first attribute information of a unit to be scheduled; determining a queue to be scheduled to which the unit to be scheduled belongs based on the first attribute information, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information; and scheduling the unit to be scheduled based on the queue to be scheduled.
  • scheduling the to-be-scheduled unit based on the to-be-scheduled queue includes:
  • the to-be-scheduled unit is scheduled based on the to-be-scheduled queue.
  • scheduling the to-be-scheduled unit based on the to-be-scheduled queue includes:
  • the to-be-scheduled unit in the to-be-scheduled queue is scheduled to the available node.
  • the method before determining the first attribute information of the unit to be scheduled, the method further includes:
  • the available node list is generated according to the available nodes and the second attribute information.
  • the method further includes:
  • the available node list is updated.
  • updating the available node list includes:
  • the updating of the available node list further includes:
  • the available node identifier in the available node list is deleted.
  • the method before determining the first attribute information of the unit to be scheduled, the method further includes:
  • a plurality of the candidate scheduling units are clustered to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to the at least one queue to be scheduled, and the unit to be scheduled belongs to a plurality of the candidate scheduling units.
  • the method further includes:
  • the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs is determined according to the third attribute information.
  • the scheduling method proposed in the first aspect of the present disclosure is to determine the first attribute information of the unit to be scheduled, and determine the queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled includes at least one first
  • the to-be-scheduled units with attribute information are scheduled based on the to-be-scheduled queue. This can effectively reduce the attribute differences between the to-be-scheduled units in the to-be-scheduled queue based on the first attribute information, so as to quickly and accurately implement batch scheduling of the to-be-scheduled units according to the to-be-scheduled queue, thereby effectively improving the scheduling efficiency of the to-be-scheduled units.
  • the scheduling device provided in the second aspect of the present disclosure includes: a first determining module, configured to determine first attribute information of a unit to be scheduled;
  • a second determining module is used to determine the queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information;
  • the first processing module is used to schedule the to-be-scheduled unit based on the to-be-scheduled queue.
  • the first processing module is specifically configured to:
  • the to-be-scheduled unit is scheduled based on the to-be-scheduled queue.
  • the first processing module includes:
  • An acquisition submodule used to acquire a list of available nodes of the queue to be scheduled, wherein the list of available nodes includes: at least one available node identifier, and second attribute information corresponding to the available node to which each available node identifier belongs;
  • a processing submodule is used to schedule the to-be-scheduled units in the to-be-scheduled queue to the available nodes.
  • the device further includes:
  • a third determining module is used to determine a reference scheduling unit, wherein the first attribute information of the reference scheduling unit is the same as the first attribute information of the unit to be scheduled;
  • a fourth determining module configured to determine the available node from a plurality of candidate nodes according to the reference scheduling unit, and determine second attribute information corresponding to the available node;
  • a generating module is used to generate the available node list according to the available nodes and the second attribute information.
  • the first processing module further includes:
  • the update submodule is used to update the available node list.
  • the updating submodule is specifically used to:
  • the updating submodule is further used to:
  • the available node identifier in the available node list is deleted.
  • the device further comprises:
  • a fifth determining module configured to determine first attribute information corresponding to the candidate scheduling unit
  • a second processing module configured to process the plurality of candidate scheduling units according to the first attribute information corresponding to the candidate scheduling units;
  • the candidate scheduling units are clustered to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to the at least one queue to be scheduled, and the unit to be scheduled belongs to a plurality of the candidate scheduling units.
  • the device further comprises:
  • a sixth determining module configured to determine third attribute information corresponding to the candidate scheduling unit
  • the seventh determination module is used to determine the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs according to the third attribute information.
  • the scheduling device proposed in the second aspect of the embodiment of the present disclosure determines the first attribute information of the unit to be scheduled, and determines the queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information, and schedules the unit to be scheduled based on the queue to be scheduled. It can effectively reduce the attribute difference between the units to be scheduled in the queue to be scheduled based on the first attribute information, so as to quickly and accurately implement batch scheduling of the units to be scheduled according to the queue to be scheduled, thereby effectively improving the scheduling efficiency of the units to be scheduled.
  • the computer device proposed in the third aspect embodiment of the present disclosure includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the program, the scheduling method proposed in the first aspect embodiment of the present disclosure is implemented.
  • the fourth aspect embodiment of the present disclosure proposes a non-temporary computer-readable storage medium, on which a computer program is stored.
  • the program When the program is executed by a processor, it implements the scheduling method proposed in the first aspect embodiment of the present disclosure.
  • the fifth aspect embodiment of the present disclosure proposes a computer program product.
  • the instructions in the computer program product are executed by a processor, the scheduling method proposed in the first aspect embodiment of the present disclosure is executed.
  • a sixth aspect of the present disclosure provides a computer program, which includes a computer program code.
  • the computer program code runs on a computer, the computer executes the scheduling method provided in the first aspect of the present disclosure.
  • FIG1 is a schematic diagram of a flow chart of a scheduling method proposed in an embodiment of the present disclosure
  • FIG2 is a schematic flow chart of a scheduling method proposed in another embodiment of the present disclosure.
  • FIG3 is a schematic diagram of a flow chart of a scheduling method proposed in another embodiment of the present disclosure.
  • FIG4 is a schematic diagram of a workflow of a scheduler proposed in an embodiment of the present disclosure.
  • FIG5 is a schematic diagram of the structure of a scheduling device proposed in an embodiment of the present disclosure.
  • FIG6 is a schematic diagram of the structure of a scheduling device proposed in another embodiment of the present disclosure.
  • FIG. 7 shows a block diagram of an exemplary computer device suitable for implementing embodiments of the present disclosure.
  • FIG1 is a flow chart of a scheduling method proposed in an embodiment of the present disclosure.
  • the executor of the scheduling method of this embodiment is a scheduling device, which can be implemented by software and/or hardware.
  • the device can be configured in a computer device, and the computer device can include but is not limited to a terminal, a server, etc.
  • the terminal can be a mobile phone, a handheld computer, etc.
  • the scheduling method includes steps S101 to S103 .
  • S101 Determine first attribute information of a unit to be scheduled.
  • the unit to be scheduled refers to a basic unit to be scheduled in a computer cluster (such as a Kubernetes cluster), such as a pod, which can be used as a component of an application load in the cluster.
  • a computer cluster such as a Kubernetes cluster
  • a pod which can be used as a component of an application load in the cluster.
  • the first attribute information refers to attribute information used to indicate a to-be-scheduled queue of a to-be-scheduled unit.
  • the first attribute information is used to indicate a management tool corresponding to the to-be-scheduled unit.
  • the first attribute information of the unit to be scheduled when determining the first attribute information of the unit to be scheduled, it can be based on the character information pre-configured in the unit to be scheduled, or a third-party attribute information recognition device can be used to recognize the first attribute information of the unit to be scheduled, and there is no limitation on this.
  • a reliable reference basis can be provided for subsequently determining the queue to be scheduled to which the unit to be scheduled belongs.
  • S102 Determine, according to the first attribute information, a queue to be scheduled to which the unit to be scheduled belongs, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information.
  • the queue to be scheduled refers to a queue of units that are batch processed during the scheduling process.
  • the units to be scheduled in each queue to be scheduled can be managed by the same management tool.
  • the obtained queue to be scheduled when determining the queue to be scheduled to which the unit to be scheduled belongs based on the first attribute information, includes at least one unit to be scheduled with the first attribute information, thereby ensuring that the units to be scheduled in the queue to be scheduled have a high correlation, thereby effectively improving the reliability of subsequent scheduling of the units to be scheduled based on the queue to be scheduled.
  • S103 Scheduling the units to be scheduled based on the queue to be scheduled.
  • the attribute information of each unit to be scheduled has a high similarity. Therefore, when scheduling the units to be scheduled based on the queue to be scheduled, batch scheduling of the units to be scheduled can be achieved while avoiding additional transformation costs and time expenditures due to attribute differences between the units to be scheduled in the queue to be scheduled.
  • the queue to be scheduled to which the unit to be scheduled belongs is determined according to the first attribute information, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information, and the unit to be scheduled is scheduled based on the queue to be scheduled.
  • FIG2 is a flow chart of a scheduling method proposed in another embodiment of the present disclosure.
  • the scheduling method includes steps S201 to S208 .
  • S201 Determine first attribute information corresponding to a candidate scheduling unit.
  • the candidate scheduling unit refers to a scheduling unit in the computer cluster that may be used as a scheduling unit.
  • the attribute information between different units to be scheduled may be different. Determining the first attribute information corresponding to the candidate scheduling unit provides a reliable clustering basis for the subsequent clustering processing of multiple candidate scheduling units.
  • S202 Clustering multiple candidate scheduling units according to first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to at least one queue to be scheduled, and the unit to be scheduled belongs to multiple candidate scheduling units.
  • the clustering process may refer to a process of dividing a plurality of objects to be clustered into a plurality of queues based on a clustering basis.
  • multiple candidate scheduling units are clustered according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, thereby preprocessing the candidate scheduling units so as to facilitate the subsequent determination of the queue to be scheduled to which the candidate scheduling unit belongs based on the first attribute information.
  • the first attribute information corresponding to the candidate scheduling unit before determining the first attribute information of the unit to be scheduled, can be determined, and multiple candidate scheduling units can be clustered according to the first attribute information corresponding to the candidate scheduling unit to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to at least one queue to be scheduled, and the unit to be scheduled belongs to multiple candidate scheduling units. Therefore, clustering of multiple candidate scheduling units can be implemented in advance based on the first attribute information corresponding to the candidate scheduling unit to ensure the correlation between the candidate scheduling units contained in the obtained queue to be scheduled, thereby effectively improving the practicality of the queue to be scheduled in the scheduling process.
  • the third attribute information refers to the priority information used to indicate the candidate scheduling unit.
  • the third attribute information may be characters pre-configured in a file related to the candidate scheduling unit.
  • determining the third attribute information corresponding to the candidate scheduling unit provides a reliable reference for determining the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs.
  • S204 Determine, according to the third attribute information, the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs.
  • the priority information may refer to relevant information used to indicate the processing priority corresponding to the queue to be scheduled, and the third attribute information of the candidate scheduling units included in the same queue to be scheduled may be the same.
  • the priorities of different queues to be scheduled may be different.
  • the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs is determined, thereby ensuring the rationality of the processing order of the queues to be scheduled.
  • the embodiment of the present disclosure can determine the third attribute information corresponding to the candidate scheduling unit, and determine the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs based on the third attribute information.
  • the obtained priority information can provide reliable reference information for determining the processing order of the queue to be scheduled, so as to effectively improve the rationality of the scheduling process.
  • S205 Determine first attribute information of the unit to be scheduled.
  • S206 Determine, according to the first attribute information, a queue to be scheduled to which the unit to be scheduled belongs, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information.
  • the priority information of the queue to be scheduled can be obtained, thereby providing a reliable execution basis for subsequent processing of multiple queues to be scheduled.
  • the priority condition may be a condition pre-configured for the priority information.
  • the priority condition may be that the priority value corresponding to the priority information is the maximum value.
  • the embodiment of the present disclosure can obtain the priority information of the queue to be scheduled, and schedule the unit to be scheduled based on the queue to be scheduled in response to the priority information satisfying the priority condition.
  • a reliable execution basis can be provided for scheduling the unit to be scheduled based on the matching result of the priority information and the priority condition, thereby effectively improving the reliability of the scheduling process.
  • a plurality of candidate scheduling units are clustered according to the first attribute information corresponding to the candidate scheduling unit to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to at least one queue to be scheduled, and the unit to be scheduled belongs to a plurality of candidate scheduling units.
  • clustering of the plurality of candidate scheduling units can be implemented in advance based on the first attribute information corresponding to the candidate scheduling unit to ensure the correlation between the candidate scheduling units included in the obtained queue to be scheduled, thereby effectively improving the scheduling of the queue to be scheduled. Practicality in the process.
  • the obtained priority information can provide reliable reference information for determining the processing order of the queue to be scheduled, so as to effectively improve the rationality of the scheduling process.
  • the unit to be scheduled is scheduled based on the queue to be scheduled. Therefore, a reliable execution basis can be provided for scheduling the unit to be scheduled based on the matching result of the priority information and the priority condition, thereby effectively improving the reliability of the scheduling process.
  • FIG3 is a flow chart of a scheduling method proposed in another embodiment of the present disclosure.
  • the scheduling method includes steps S301 to S308 .
  • S301 Determine a reference scheduling unit, wherein first attribute information of the reference scheduling unit is the same as first attribute information of the unit to be scheduled.
  • the reference scheduling unit refers to a scheduling unit whose first attribute information is the same as the first attribute information of the unit to be scheduled.
  • a unit to be scheduled when determining the reference scheduling unit, can be arbitrarily selected from the queue to be scheduled as a reference unit, or a corresponding unit management tool can be determined based on the first attribute information, and then the reference scheduling unit is generated by the unit management tool. There is no limitation on this.
  • S302 Determine an available node from a plurality of candidate nodes according to a reference scheduling unit, and determine second attribute information corresponding to the available node.
  • a node refers to the smallest computing hardware unit in a computer cluster. It represents a single machine in the cluster.
  • the node can be a physical machine in a data center, or a virtual machine. There is no restriction on this.
  • An available node refers to a node that can host the reference scheduling unit.
  • a candidate node refers to a node that may be used as an available node.
  • the second attribute information refers to the attribute information corresponding to the available node, for example, it can indicate the remaining available resources of the available node.
  • an available node is determined from a plurality of candidate nodes according to a reference scheduling unit, and second attribute information corresponding to the available node is determined, which provides reliable data support for subsequent generation of an available node list.
  • S303 Generate an available node list according to the available nodes and the second attribute information.
  • the available node list may be used to indicate the available nodes corresponding to the reference scheduling unit and the second attribute information corresponding to the available nodes.
  • the obtained available nodes are applicable to all the units to be scheduled in the queue to be scheduled. Based on the available nodes and the second attribute information, an available node list is generated, which provides reliable reference information for the subsequent unit scheduling process.
  • a reference scheduling unit can be determined, wherein the first attribute information of the reference scheduling unit is the same as the first attribute information of the unit to be scheduled, and an available node is determined from multiple candidate nodes according to the reference scheduling unit. Nodes, and determine the second attribute information corresponding to the available nodes, and generate an available node list according to the available nodes and the second attribute information, thereby, the obtained available node list can accurately indicate the available nodes of the reference scheduling unit and the second attribute information corresponding to the available nodes, thereby providing reliable reference information for the scheduling process of the units to be scheduled in the queue to be scheduled, so as to effectively reduce the time cost of determining the available nodes corresponding to the units to be scheduled.
  • S304 Determine first attribute information of the unit to be scheduled.
  • S305 Determine, according to the first attribute information, a queue to be scheduled to which the unit to be scheduled belongs, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information.
  • S306 Obtain a list of available nodes of the queue to be scheduled, wherein the list of available nodes includes: at least one available node identifier, and second attribute information corresponding to the available node to which each available node identifier belongs.
  • the available node identifier refers to the identifier information used to indicate the available node in the available node list.
  • a list of available nodes of the queue to be scheduled is obtained, and the obtained list of available nodes can accurately indicate the scheduling process of the units to be scheduled in the queue to be scheduled.
  • the embodiment of the present disclosure can obtain a list of available nodes of the queue to be scheduled, wherein the list of available nodes includes: at least one available node identifier, and second attribute information corresponding to the available node to which each available node identifier belongs, and the units to be scheduled in the queue to be scheduled are scheduled to the available nodes.
  • the available nodes corresponding to the units to be scheduled in the queue to be scheduled can be quickly and accurately determined based on the list of available nodes, thereby effectively improving the scheduling efficiency between the units to be scheduled and the available nodes while ensuring the reliability of the scheduling process.
  • the carrying capacity of available nodes is limited.
  • some resources of the available node may be occupied, affecting the accuracy of the indication of the available node list. Therefore, the available node list can be updated after the unit to be scheduled in the queue to be scheduled is scheduled to an available node.
  • the disclosed embodiment can update the available node list, thereby ensuring the real-time performance of the available node list during the scheduling process and effectively improving the indication effect of the available node list.
  • updating the available node list may be updating the second attribute information corresponding to the available nodes in the available node list, thereby ensuring the real-time and accuracy of the second attribute information in the available node list, thereby effectively improving the indication effect of the available node list.
  • the available node list is updated, and when the second attribute information corresponding to the available node in the available node list meets the first condition, the available node identifier in the available node list is deleted, thereby In response to the second attribute information corresponding to the available node satisfying the first condition, the available node identifier in the available node list is deleted in a timely manner to effectively reduce the redundant information in the available node list and avoid the available node identifier whose second attribute information satisfies the first condition from interfering with the scheduling process.
  • the scheduling process of the queue to be scheduled in response to there being no available nodes in the available node list, is terminated, or, in response to all the units to be scheduled in the queue to be scheduled being scheduled, the scheduling process of the queue to be scheduled is terminated and a new queue to be processed is determined.
  • the obtained available node list can accurately indicate the available nodes of the reference scheduling unit and the second attribute information corresponding to the available nodes, thereby providing reliable reference information for the scheduling process of the units to be scheduled in the queue to be scheduled, so as to effectively reduce the time cost of determining the available nodes corresponding to the units to be scheduled.
  • the units to be scheduled in the queue to be scheduled are scheduled to the available nodes, thereby, the available nodes corresponding to the units to be scheduled in the queue to be scheduled can be quickly and accurately determined based on the available node list, thereby effectively improving the scheduling efficiency between the units to be scheduled and the available nodes while ensuring the reliability of the scheduling process.
  • the real-time performance of the available node list in the scheduling process can be guaranteed, and the indication effect of the available node list can be effectively improved.
  • the real-time and accuracy of the second attribute information in the available node list can be guaranteed, so as to effectively improve the indication effect of the available node list.
  • the available node identifier in the available node list can be deleted in time when the second attribute information corresponding to the available node meets the first condition, so as to effectively reduce the redundant information in the available node list and avoid the available node identifier whose second attribute information meets the first condition from interfering with the scheduling process.
  • the scheduling method in the embodiment of the present disclosure can be implemented based on a scheduler, as shown in FIG4 , which is a schematic diagram of the workflow of a scheduler proposed in the embodiment of the present disclosure.
  • the scheduler may include multiple plug-ins for implementing scheduling functions, such as Prefilter, Filter, PostFilter, PreScore, Score, Normalize Score, Reserve, Permit, Prebind, Bind, PostBind, etc. Assuming that the unit to be scheduled is pod, its scheduling process can be shown in the following steps 1 to 8.
  • the scheduler supports clustering, which is based on the management tool (pod owner) and uses the first attribute information (owner) as the key of the queue.
  • the scheduling queue is converted from a native single queue to multiple queues.
  • pods in the highest priority queue are scheduled first.
  • a queue is selected, such as queue A to be scheduled.
  • the selected node list is used as a snapshot of this step and enters the loop logic
  • the entire scheduling process can be divided into a scheduling cycle and a binding cycle, but the sort plug-in does not belong to the two cycles. It can sort the pods in the scheduling queue.
  • FIG5 is a schematic diagram of the structure of a scheduling device proposed in an embodiment of the present disclosure.
  • the scheduling device 50 includes:
  • a first determining module 501 used to determine first attribute information of a unit to be scheduled
  • a second determining module 502 is used to determine the queue to be scheduled to which the unit to be scheduled belongs according to the first attribute information, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information;
  • the first processing module 503 is used to schedule the to-be-scheduled unit based on the to-be-scheduled queue.
  • FIG. 6 is a schematic diagram of the structure of a scheduling device proposed in another embodiment of the present disclosure, and the first processing module 503 is specifically used for:
  • the to-be-scheduled unit is scheduled based on the to-be-scheduled queue.
  • the first processing module 503 includes:
  • the acquisition submodule 5031 is used to acquire the available node list of the queue to be scheduled, wherein the available node list includes: at least one available node identifier, and second attribute information corresponding to the available node to which each available node identifier belongs; and
  • the processing submodule 5032 is used to schedule the units to be scheduled in the queue to be scheduled to available nodes.
  • it further includes:
  • a third determining module 504 is used to determine a reference scheduling unit, wherein the first attribute information of the reference scheduling unit is the same as the first attribute information of the unit to be scheduled;
  • a fourth determination module 505 configured to determine an available node from a plurality of candidate nodes according to a reference scheduling unit, and determine second attribute information corresponding to the available node;
  • the generating module 506 is used to generate an available node list according to the available nodes and the second attribute information.
  • the first processing module 503 further includes:
  • the updating submodule 5033 is used to update the available node list.
  • the updating submodule 5033 is specifically used to:
  • the updating submodule 5033 is further used to:
  • the available node identifier in the available node list is deleted.
  • the apparatus further comprises:
  • a fifth determining module 507 configured to determine first attribute information corresponding to a candidate scheduling unit
  • the second processing module 508 is used to cluster multiple candidate scheduling units according to the first attribute information corresponding to the candidate scheduling units to obtain at least one queue to be scheduled, wherein the queue to be scheduled belongs to at least one queue to be scheduled and the unit to be scheduled belongs to multiple candidate scheduling units.
  • the apparatus further comprises:
  • a sixth determining module 509 configured to determine third attribute information corresponding to the candidate scheduling unit.
  • the seventh determination module 510 is used to determine the priority information corresponding to the queue to be scheduled to which the candidate scheduling unit belongs according to the third attribute information.
  • the queue to be scheduled to which the unit to be scheduled belongs is determined according to the first attribute information, wherein the queue to be scheduled includes at least one unit to be scheduled with the first attribute information, and the unit to be scheduled is scheduled based on the queue to be scheduled.
  • the attribute difference between the units to be scheduled in the queue to be scheduled can be effectively reduced based on the first attribute information, so as to quickly and accurately implement batch scheduling of the units to be scheduled according to the queue to be scheduled, thereby effectively improving the scheduling efficiency of the units to be scheduled.
  • Fig. 7 shows a block diagram of an exemplary computer device suitable for implementing the embodiments of the present disclosure.
  • the computer device 12 shown in Fig. 7 is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
  • computer device 12 is embodied in the form of a general purpose computing device.
  • Components of computer device 12 may include, but are not limited to, one or more processors or processing units 16, system memory 28, and bus 18 that connects various system components (including system memory 28 and processing unit 16).
  • the bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor or a local bus using any of a variety of bus structures.
  • these architectures include but are not limited to Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnection (PCI) bus. bus.
  • the computer device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the computer device 12, including volatile and non-volatile media, removable and non-removable media.
  • the memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32.
  • the computer device 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media.
  • the storage system 34 may be used to read and write non-removable, non-volatile magnetic media (not shown in FIG. 7 , commonly referred to as a “hard drive”).
  • a disk drive for reading and writing to a removable nonvolatile disk e.g., a “floppy disk”
  • an optical disk drive for reading and writing to a removable nonvolatile optical disk e.g., a Compact Disc Read Only Memory (hereinafter referred to as CD-ROM), a Digital Video Disc Read Only Memory (hereinafter referred to as DVD-ROM), or other optical media
  • each drive may be connected to the bus 18 via one or more data medium interfaces.
  • the memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of the various embodiments of the present disclosure.
  • a program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in the memory 28, such program modules 42 including but not limited to an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
  • the program modules 42 generally perform the functions and/or methods of the embodiments described in the present disclosure.
  • the computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), one or more devices that enable a human body to interact with the computer device 12, and/or any device that enables the computer device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). Such communication may be performed through an input/output (I/O) interface 22.
  • the computer device 12 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through a network adapter 20. As shown, the network adapter 20 communicates with other modules of the computer device 12 through a bus 18.
  • LAN local area network
  • WAN wide area network
  • public network such as the Internet
  • the processing unit 16 executes various functional applications and data processing by running programs stored in the system memory 28, such as implementing the scheduling method mentioned in the above embodiments.
  • the present disclosure also provides a non-transitory computer-readable storage medium having stored thereon A computer program, when executed by a processor, implements the scheduling method proposed in the aforementioned embodiment of the present disclosure.
  • the present disclosure further proposes a computer program product.
  • an instruction processor in the computer program product is executed, the scheduling method proposed in the above embodiments of the present disclosure is executed.
  • the present disclosure further proposes a computer program, which includes computer program code.
  • the computer program code runs on a computer, the computer executes the scheduling method proposed in the above embodiments of the present disclosure.
  • Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present disclosure includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present disclosure belong.
  • each functional unit in each embodiment of the present disclosure may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module.
  • the above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
  • the storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc.

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

公开了一种调度方法、装置、计算机设备、存储介质计算机程序产品和计算机程序。该方法包括:确定待调度单元的第一属性信息;根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一属性信息的待调度单元;和基于待调度队列,调度待调度单元。

Description

调度方法、装置、计算机设备和存储介质
相关申请的交叉引用
本申请要求在2022年12月07日在中国提交的中国专利申请号2022115666113的优先权,其全部内容通过引用并入本文。
技术领域
本公开涉及计算机技术领域,具体可应用于云计算、大数据、智能供应链等领域,更具体地,涉及一种调度方法、装置、计算机设备、存储介质、计算机程序产品和计算机程序。
背景技术
计算机集群,简称集群(例如Kubernetes集群),由一组被称作节点(node)的机器组成,这些节点上会运行由Kubernetes所管理的容器化应用,且每个集群至少有一个工作节点。Pod是Kubernetes平台上的基本调度单元。在Kubernetes上创建部署时,该部署将创建包含容器的Pod(而不是直接创建容器)。每个Pod被绑定到调试执行它的节点(node)上,并一直保持到终止(根据重启策略)或删除。
相关技术中,通常是基于原生调度框架依次调度每个Pod,或者,基于批量调度框架以批为一个单位调度Pod。
这种方式下,基于原生调度框架进行调度,其调度效率较低,而基于批量调度框架调度,由于不同Pod的属性信息可能存在差异,同样会影响调度效率。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开实施例提出一种调度方法、装置、计算机设备、存储介质、计算机程序产品和计算机程序,能够基于第一属性信息有效降低待调度队列中待调度单元之间的属性差异,以便于根据待调度队列快速、准确地实现对待调度单元的批量调度,从而有效提升待调度单元的调度效率。
本公开第一方面实施例提出的调度方法,包括:确定待调度单元的第一属性信息;根据所述第一属性信息,确定所述待调度单元所属的待调度队列,其中,所述待调度队列包括至少一个所述第一属性信息的所述待调度单元;和基于所述待调度队列,调度所述待调度单元。
在本公开的一些实施例中,所述基于所述待调度队列,调度所述待调度单元,包括:
获取所述待调度队列的优先级信息;和
响应于所述优先级信息满足优先级条件,基于所述待调度队列,调度所述待调度单元。
在本公开的一些实施例中,所述基于所述待调度队列,调度所述待调度单元,包括:
获取所述待调度队列的可用节点列表,其中,所述可用节点列表中包括:至少一个可用节点标识,和与每个所述可用节点标识所属可用节点对应的第二属性信息;和
将所述待调度队列中所述待调度单元调度至所述可用节点。
在本公开的一些实施例中,在所述确定待调度单元的第一属性信息之前,还包括:
确定参考调度单元,其中,所述参考调度单元的第一属性信息与所述待调度单元的第一属性信息相同;
根据所述参考调度单元,从多个候选节点中确定所述可用节点,并确定与所述可用节点对应的第二属性信息;和
根据所述可用节点和所述第二属性信息,生成所述可用节点列表。
在本公开的一些实施例中,在所述将所述待调度队列中所述待调度单元调度至所述可用节点之后,还包括:
对所述可用节点列表进行更新。
在本公开的一些实施例中,所述对所述可用节点列表进行更新,包括:
更新所述可用节点列表中所述可用节点对应的第二属性信息。
在本公开的一些实施例中,所述对所述可用节点列表进行更新,还包括:
在所述可用节点列表之中所述可用节点对应的第二属性信息满足第一条件的情况下,删除所述可用节点列表中所述可用节点标识。
在本公开的一些实施例中,在所述确定待调度单元的第一属性信息之前,所述方法还包括:
确定与所述候选调度单元对应的第一属性信息;和
根据所述与所述候选调度单元对应的第一属性信息,对多个所述候选调度单元进行聚类处理,以得到至少一个待调度队列,其中,所述待调度队列属于所述至少一个待调度队列,所述待调度单元属于多个所述候选调度单元。
在本公开的一些实施例中,所述方法还包括:
确定与所述候选调度单元对应的第三属性信息;和
根据所述第三属性信息,确定所述候选调度单元所属待调度队列对应的优先级信息。
本公开第一方面实施例提出的调度方法,通过确定待调度单元的第一属性信息,根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一 属性信息的待调度单元,基于待调度队列,调度待调度单元,能够基于第一属性信息有效降低待调度队列中待调度单元之间的属性差异,以便于根据待调度队列快速、准确地实现对待调度单元的批量调度,从而有效提升待调度单元的调度效率。
本公开第二方面实施例提出的调度装置,包括:第一确定模块,用于确定待调度单元的第一属性信息;
第二确定模块,用于根据所述第一属性信息,确定所述待调度单元所属的待调度队列,其中,所述待调度队列包括至少一个所述第一属性信息的所述待调度单元;和
第一处理模块,用于基于所述待调度队列,调度所述待调度单元。
在本公开的一些实施例中,所述第一处理模块,具体用于:
获取所述待调度队列的优先级信息;和
响应于所述优先级信息满足优先级条件,基于所述待调度队列,调度所述待调度单元。
在本公开的一些实施例中,所述第一处理模块,包括:
获取子模块,用于获取所述待调度队列的可用节点列表,其中,所述可用节点列表中包括:至少一个可用节点标识,和与每个所述可用节点标识所属可用节点对应的第二属性信息;和
处理子模块,用于将所述待调度队列中所述待调度单元调度至所述可用节点。
在本公开的一些实施例中,该装置,还包括:
第三确定模块,用于确定参考调度单元,其中,所述参考调度单元的第一属性信息与所述待调度单元的第一属性信息相同;
第四确定模块,用于根据所述参考调度单元,从多个候选节点中确定所述可用节点,并确定与所述可用节点对应的第二属性信息;和
生成模块,用于根据所述可用节点和所述第二属性信息,生成所述可用节点列表。
在本公开的一些实施例中,所述第一处理模块,还包括:
更新子模块,用于对所述可用节点列表进行更新。
在本公开的一些实施例中,所述更新子模块,具体用于:
更新所述可用节点列表中所述可用节点对应的第二属性信息。
在本公开的一些实施例中,所述更新子模块,还用于:
在所述可用节点列表之中所述可用节点对应的第二属性信息满足第一条件的情况下,删除所述可用节点列表中所述可用节点标识。
在本公开的一些实施例中,所述装置还包括:
第五确定模块,用于确定与所述候选调度单元对应的第一属性信息;和
第二处理模块,用于根据所述与所述候选调度单元对应的第一属性信息,对多个所述 候选调度单元进行聚类处理,以得到至少一个待调度队列,其中,所述待调度队列属于所述至少一个待调度队列,所述待调度单元属于多个所述候选调度单元。
在本公开的一些实施例中,所述装置还包括:
第六确定模块,用于确定与所述候选调度单元对应的第三属性信息;和
第七确定模块,用于根据所述第三属性信息,确定所述候选调度单元所属待调度队列对应的优先级信息。
本公开第二方面实施例提出的调度装置,通过确定待调度单元的第一属性信息,根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一属性信息的待调度单元,基于待调度队列,调度待调度单元,能够基于第一属性信息有效降低待调度队列中待调度单元之间的属性差异,以便于根据待调度队列快速、准确地实现对待调度单元的批量调度,从而有效提升待调度单元的调度效率。
本公开第三方面实施例提出的计算机设备,包括:存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本公开第一方面实施例提出的调度方法。
本公开第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开第一方面实施例提出的调度方法。
本公开第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本公开第一方面实施例提出的调度方法。
本公开第六方面实施例提出了一种计算机程序,所述计算机程序包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如本公开第一方面实施例提出的调度方法。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本公开一实施例提出的调度方法的流程示意图;
图2是本公开另一实施例提出的调度方法的流程示意图;
图3是本公开另一实施例提出的调度方法的流程示意图;
图4是本公开实施例提出的一调度器的工作流程示意图;
图5是本公开一实施例提出的调度装置的结构示意图;
图6是本公开另一实施例提出的调度装置的结构示意图;
图7示出了适于用来实现本公开实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能理解为对本公开的限制。相反,本公开的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本公开一实施例提出的调度方法的流程示意图。
其中,需要说明的是,本实施例的调度方法的执行主体为调度装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在计算机设备中,计算机设备可以包括但不限于终端、服务器端等,如终端可为手机、掌上电脑等。
如图1所示,该调度方法,包括步骤S101至S103。
S101:确定待调度单元的第一属性信息。
其中,待调度单元,是指计算机集群(例如Kubernetes集群)中待进行调度的基本单元,例如pod,该pod可以作为集群中应用负载的组件。
其中,第一属性信息,是指被用于指示待调度单元待调度队列的属性信息,例如该第一属性信息被用于可以指示待调度单元对应的管理工具。
本公开实施例中,在确定待调度单元的第一属性信息时,可以基于待调度单元中预先配置的字符信息,或者,还可以采用第三方属性信息识别装置识别待调度单元的第一属性信息,对此不做限制。
本实施例中,当确定待调度单元的第一属性信息时,可以为后续确定待调度单元所属的待调度队列提供可靠的参考依据。
S102:根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一属性信息的待调度单元。
其中,待调度队列,是指在调度过程中被进行批处理的单元队列。举例而言,本公开实施例中,每个待调度队列中的待调度单元可以归同一个管理工具进行管理。
本公开实施例中,在根据第一属性信息,确定待调度单元所属的待调度队列时,所得待调度队列包括至少一个第一属性信息的待调度单元,由此,可以保证该待调度队列中的待调度单元之间具有较高的关联性,从而为有效提升后续基于待调度队列调度待调度单元的可靠性。
S103:基于待调度队列,调度待调度单元。
可以理解的是,在基于第一属性信息确定的待调度队列中,各个待调度单元的属性信息具有较高的相似性,由此,当基于待调度队列,调度待调度单元时,可以在实现批量调度待调度单元的同时,避免待调度队列中待调度单元之间存在属性差异而产生额外的改造成本和时间花销。
本实施例中,通过确定待调度单元的第一属性信息,根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一属性信息的待调度单元,基于待调度队列,调度待调度单元,能够基于第一属性信息有效降低待调度队列中待调度单元之间的属性差异,以便于根据待调度队列快速、准确地实现对待调度单元的批量调度,从而有效提升待调度单元的调度效率。
图2是本公开另一实施例提出的调度方法的流程示意图。
如图2所示,该调度方法,包括步骤S201至S208。
S201:确定与候选调度单元对应的第一属性信息。
其中,候选调度单元,是指计算机集群中可能被当作待调度单元的调度单元。
本公开实施例中,待调度单元的数量可能是多个,不同待调度单元之间的属性信息可能存在差异,确定与候选调度单元对应的第一属性信息,为后续多个候选调度单元的聚类处理过程提供了可靠的聚类依据。
S202:根据与候选调度单元对应的第一属性信息,对多个候选调度单元进行聚类处理,以得到至少一个待调度队列,其中,待调度队列属于至少一个待调度队列,待调度单元属于多个候选调度单元。
其中,聚类处理,可以是指基于聚类依据,将多个待聚类对象划分为多个队列的过程。
本公开实施例中,根据与候选调度单元对应的第一属性信息,对多个候选调度单元进行聚类处理,以得到至少一个待调度队列,实现了对候选调度单元的预处理,以便于后续根据第一属性信息,确定待调度单元所属的待调度队列。
也即是说,本公开实施例中在确定待调度单元的第一属性信息之前,可以确定与候选调度单元对应的第一属性信息,根据与候选调度单元对应的第一属性信息,对多个候选调度单元进行聚类处理,以得到至少一个待调度队列,其中,待调度队列属于至少一个待调度队列,待调度单元属于多个候选调度单元,由此,可以预先基于与候选调度单元对应的第一属性信息实现对多个候选调度单元的聚类处理,以保证所得待调度队列所包含候选调度单元之间的关联性,从而有效提升待调度队列在调度过程中的实用性。
S203:确定与候选调度单元对应的第三属性信息。
其中,第三属性信息,是指被用于指示候选调度单元的优先级信息,例如,该第三属性信息可以是预先在候选调度单元相关文件中配置的字符。
本公开实施例中,确定与候选调度单元对应的第三属性信息,为确定候选调度单元所属待调度队列对应的优先级信息提供了可靠的参考依据。
S204:根据第三属性信息,确定候选调度单元所属待调度队列对应的优先级信息。
其中,优先级信息,可以是指被用于指示待调度队列对应处理优先级的相关信息,同一待调度队列所包含候选调度单元的第三属性信息可以是相同的。
可以理解的是,在调度过程中,待调度队列的数量可能是多个,且不同待调度队列的优先级可能存在差异,根据第三属性信息,确定候选调度单元所属待调度队列对应的优先级信息,保证了待调度队列处理次序的合理性。
也即是说,本公开实施例在根据与候选调度单元对应的第一属性信息,对多个候选调度单元进行聚类处理,以得到至少一个待调度队列之后,可以确定与候选调度单元对应的第三属性信息,根据第三属性信息,确定候选调度单元所属待调度队列对应的优先级信息,由此,所得优先级信息可以为确定待调度队列的处理次序提供可靠的参考信息,以有效提升该调度过程的合理性。
S205:确定待调度单元的第一属性信息。
S206:根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一属性信息的待调度单元。
S205和S206的描述说明可以具体参见上述实施例,在此不再赘述。
S207:获取待调度队列的优先级信息。
本公开实施例中,在根据第一属性信息,确定待调度单元所属的待调度队列之后,可以获取待调度队列的优先级信息,从而为后续处理多个待调度队列提供可靠的执行依据。
S208:响应于优先级信息满足优先级条件,基于待调度队列,调度待调度单元。
其中,优先级条件,可以是预先针对优先级信息所配置的条件,该优先级条件例如可以是优先级信息对应的优先值为最大值。
也即是说,本公开实施例在根据第一属性信息,确定待调度单元所属的待调度队列之后,可以获取待调度队列的优先级信息,响应于优先级信息满足优先级条件,基于待调度队列,调度待调度单元,由此,可以基于优先级信息与优先级条件的匹配结果为调度待调度单元提供可靠的执行依据,从而有效提升调度过程的可靠性。
本实施例中,通过确定与候选调度单元对应的第一属性信息,根据与候选调度单元对应的第一属性信息,对多个候选调度单元进行聚类处理,以得到至少一个待调度队列,其中,待调度队列属于至少一个待调度队列,待调度单元属于多个候选调度单元,由此,可以预先基于与候选调度单元对应的第一属性信息实现对多个候选调度单元的聚类处理,以保证所得待调度队列所包含候选调度单元之间的关联性,从而有效提升待调度队列在调度 过程中的实用性。通过确定与候选调度单元对应的第三属性信息,根据第三属性信息,确定候选调度单元所属待调度队列对应的优先级信息,由此,所得优先级信息可以为确定待调度队列的处理次序提供可靠的参考信息,以有效提升该调度过程的合理性。通过获取待调度队列的优先级信息,响应于优先级信息满足优先级条件,基于待调度队列,调度待调度单元,由此,可以基于优先级信息与优先级条件的匹配结果为调度待调度单元提供可靠的执行依据,从而有效提升调度过程的可靠性。
图3是本公开另一实施例提出的调度方法的流程示意图。
如图3所示,该调度方法,包括步骤S301至S308。
S301:确定参考调度单元,其中,参考调度单元的第一属性信息与待调度单元的第一属性信息相同。
其中,参考调度单元,是指第一属性信息与待调度单元的第一属性信息相同的调度单元。
本公开实施例中,在确定参考调度单元时,可以是从待调度队列中任意抽取一个待调度单元作为参考单元,或者,还可以是根据第一属性信息确定对应的单元管理工具,而后由单元管理工具生成参考调度单元,对此不做限制。
S302:根据参考调度单元,从多个候选节点中确定可用节点,并确定与可用节点对应的第二属性信息。
其中,节点,是指计算机集群中最小的计算硬件单元,它是集群中单个机器的表示,该节点可以是数据中心中的物理机器,或者还可以是虚拟机,对此不做限制。可用节点,是指可以承载参考调度单元运行的节点。而候选节点是指可能被作为可用节点的节点。
其中,第二属性信息,是指可用节点对应的属性信息,例如可以指示可用节点的剩余可用资源。
本实施例中,根据参考调度单元,从多个候选节点中确定可用节点,并确定与可用节点对应的第二属性信息,为后续生成可用节点列表提供了可靠的数据支持。
S303:根据可用节点和第二属性信息,生成可用节点列表。
其中,可用节点列表,可以被用于指示参考调度单元对应的可用节点,和与可用节点对应的第二属性信息。
可以理解的是,同一待调度队列中的待调度单元之间具有较高的关联性,由此,所得可用节点适用于待调度队列中的所有待调度单元,根据可用节点和第二属性信息,生成可用节点列表,为后续单元调度过程提供了可靠的参考信息。
也即是说,本公开实施例中可以确定参考调度单元,其中,参考调度单元的第一属性信息与待调度单元的第一属性信息相同,根据参考调度单元,从多个候选节点中确定可用 节点,并确定与可用节点对应的第二属性信息,根据可用节点和第二属性信息,生成可用节点列表,由此,所得可用节点列表可以准确指示参考调度单元的可用节点和与可用节点对应的第二属性信息,从而为待调度队列中待调度单元的调度过程提供可靠的参考信息,以有效降低确定待调度单元对应可用节点的时间成本。
S304:确定待调度单元的第一属性信息。
S305:根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一属性信息的待调度单元。
S304和S305的描述说明可以具体参见上述实施例,在此不再赘述。
S306:获取待调度队列的可用节点列表,其中,可用节点列表中包括:至少一个可用节点标识,和与每个可用节点标识所属可用节点对应的第二属性信息。
其中,可用节点标识,是指可用节点列表中被用于指示可用节点的标识信息。
本公开实施例中,获取待调度队列的可用节点列表,所得可用节点列表可以准确指示待调度队列中待调度单元的调度过程。
S307:将待调度队列中待调度单元调度至可用节点。
也即是说,本公开实施例在根据第一属性信息,确定待调度单元所属的待调度队列之后,可以获取待调度队列的可用节点列表,其中,可用节点列表中包括:至少一个可用节点标识,和与每个可用节点标识所属可用节点对应的第二属性信息,将待调度队列中待调度单元调度至可用节点,由此,可以基于可用节点列表快速、准确地确定待调度队列中待调度单元对应的可用节点,从而在保证调度过程可靠性的同时,有效提升待调度单元与可用节点之间的调度效率。
S308:对可用节点列表进行更新。
可以理解的是,可用节点的承载能力是有限的,当待调度单元被调度至可用节点之后,可能会占用可用节点的一些资源,影响可用节点列表的指示准确性,因此可以在将待调度队列中待调度单元调度至可用节点之后,对可用节点列表进行更新。
也即是说,本公开实施例在将待调度队列中待调度单元调度至可用节点之后,可以对可用节点列表进行更新,由此,可以保证调度过程中可用节点列表的实时性,能够有效提升可用节点列表的指示效果。
在一些实施例中,对可用节点列表进行更新,可以是更新可用节点列表中可用节点对应的第二属性信息,由此,可以保证可用节点列表中第二属性信息的实时性和准确性,以有效提升可用节点列表的指示效果。
在一些实施例中,对可用节点列表进行更新,还可以在可用节点列表之中可用节点对应的第二属性信息满足第一条件的情况下,删除可用节点列表中可用节点标识,由此,可 以响应于可用节点对应的第二属性信息满足第一条件,及时删除可用节点列表中可用节点标识,以有效降低可用节点列表中的冗余信息,避免第二属性信息满足第一条件的可用节点标识对调度过程造成干扰。
举例而言,本公开实施例中响应于可用节点列表中无可用节点,结束该待调度队列的调度流程,或者,响应于待调度队列中的待调度单元被全部调度,结束该待调度队列的调度流程,并确定新的待处理队列。
本实施例中,通过确定参考调度单元,其中,参考调度单元的第一属性信息与待调度单元的第一属性信息相同,根据参考调度单元,从多个候选节点中确定可用节点,并确定与可用节点对应的第二属性信息,根据可用节点和第二属性信息,生成可用节点列表,由此,所得可用节点列表可以准确指示参考调度单元的可用节点和与可用节点对应的第二属性信息,从而为待调度队列中待调度单元的调度过程提供可靠的参考信息,以有效降低确定待调度单元对应可用节点的时间成本。通过获取待调度队列的可用节点列表,其中,可用节点列表中包括:至少一个可用节点标识,和与每个可用节点标识所属可用节点对应的第二属性信息,将待调度队列中待调度单元调度至可用节点,由此,可以基于可用节点列表快速、准确地确定待调度队列中待调度单元对应的可用节点,从而在保证调度过程可靠性的同时,有效提升待调度单元与可用节点之间的调度效率。通过对可用节点列表进行更新,由此,可以保证调度过程中可用节点列表的实时性,能够有效提升可用节点列表的指示效果。通过更新可用节点列表中可用节点对应的第二属性信息,由此,可以保证可用节点列表中第二属性信息的实时性和准确性,以有效提升可用节点列表的指示效果。通过在可用节点列表之中可用节点对应的第二属性信息满足第一条件的情况下,删除可用节点列表中可用节点标识,由此,可以在可用节点对应的第二属性信息满足第一条件时,及时删除可用节点列表中可用节点标识,以有效降低可用节点列表中的冗余信息,避免第二属性信息满足第一条件的可用节点标识对调度过程造成干扰。
举例而言,本公开实施例中的调度方法可以基于调度器实现,如图4所示,图4是本公开实施例提出的一调度器的工作流程示意图,该调度器中可以包含多个用于实现调度功能插件,如Prefilter、Filter、PostFilter、PreScore、Score、Normalize Score、Reserve、Permit、Prebind、Bind、PostBind等。设待调度单元为pod,其调度流程可以如下步骤1至8所示。
1.调度器支持聚类功能,基于管理工具(pod owner)进行聚类,以第一属性信息(owner)为该类队列的key,调度队列由原生的单队列转换为多队列;
2.基于队列优先级,优先取高优队列中的pod进行调度,此处选取一个队列,比如待调度队列A;
3.任意取待调度队列A中的一个pod,依次进行Prefilter、Filter、PostFilter,以进行 可用节点筛选;
4.筛选出来节点列表,作为该步的快照,进入循环逻辑;
5.从待调度队列A中获取一个pod;
6.依次进行PreScore、Score、Normalize Score、Reserve、Permit、Prebind、Bind、PostBind,以实现待调度单元pod与可用节点之间的绑定;
7.Bind完成后,进行节点列表更新;
8.回到第5步,进行循环,直到队列中的pod全部已经被调度或者快照中可用节点数量为0为止。
其中,整个调度过程可以划分为调度周期和绑定周期,而sort插件不属于两个周期,它可以对调度队列中的pod进行排序。
图5是本公开一实施例提出的调度装置的结构示意图。
如图5所示,该调度装置50,包括:
第一确定模块501,用于确定待调度单元的第一属性信息;
第二确定模块502,用于根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一属性信息的待调度单元;和
第一处理模块503,用于基于待调度队列,调度待调度单元。
在本公开的一些实施例中,如图6所示,图6是本公开另一实施例提出的调度装置的结构示意图,第一处理模块503,具体用于:
获取待调度队列的优先级信息;和
响应于优先级信息满足优先级条件,基于待调度队列,调度待调度单元。
在本公开的一些实施例中,第一处理模块503,包括:
获取子模块5031,用于获取待调度队列的可用节点列表,其中,可用节点列表中包括:至少一个可用节点标识,和与每个可用节点标识所属可用节点对应的第二属性信息;和
处理子模块5032,用于将待调度队列中待调度单元调度至可用节点。
在本公开的一些实施例中,还包括:
第三确定模块504,用于确定参考调度单元,其中,参考调度单元的第一属性信息与待调度单元的第一属性信息相同;
第四确定模块505,用于根据参考调度单元,从多个候选节点中确定可用节点,并确定与可用节点对应的第二属性信息;和
生成模块506,用于根据可用节点和第二属性信息,生成可用节点列表。
在本公开的一些实施例中,第一处理模块503,还包括:
更新子模块5033,用于对可用节点列表进行更新。
在本公开的一些实施例中,更新子模块5033,具体用于:
更新可用节点列表中可用节点对应的第二属性信息。
在本公开的一些实施例中,更新子模块5033,还用于:
在可用节点列表之中可用节点对应的第二属性信息满足第一条件的情况下,删除可用节点列表中可用节点标识。
在本公开的一些实施例中,装置还包括:
第五确定模块507,用于确定与候选调度单元对应的第一属性信息;和
第二处理模块508,用于根据与候选调度单元对应的第一属性信息,对多个候选调度单元进行聚类处理,以得到至少一个待调度队列,其中,待调度队列属于至少一个待调度队列,待调度单元属于多个候选调度单元。
在本公开的一些实施例中,装置还包括:
第六确定模块509,用于确定与候选调度单元对应的第三属性信息;和
第七确定模块510,用于根据第三属性信息,确定候选调度单元所属待调度队列对应的优先级信息。
需要说明的是,前述对调度方法的解释说明也适用于本实施例的调度装置,此处不再赘述。
本实施例中,通过确定待调度单元的第一属性信息,根据第一属性信息,确定待调度单元所属的待调度队列,其中,待调度队列包括至少一个第一属性信息的待调度单元,基于待调度队列,调度待调度单元,能够基于第一属性信息有效降低待调度队列中待调度单元之间的属性差异,以便于根据待调度队列快速、准确地实现对待调度单元的批量调度,从而有效提升待调度单元的调度效率。
图7示出了适于用来实现本公开实施方式的示例性计算机设备的框图。图7显示的计算机设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,和连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry Standard Architecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association;以下简称:VESA)局域总线以及外围组件互连(Peripheral Component Interconnection;以下简称:PCI) 总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。
尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory;以下简称:DVD-ROM)或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得人体能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的调度方法。
为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有 计算机程序,该程序被处理器执行时实现如本公开前述实施例提出的调度方法。
为了实现上述实施例,本公开还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本公开前述实施例提出的调度方法。
为了实现上述实施例,本公开还提出一种计算机程序,该计算机程序包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如本公开前述实施例提出的调度方法。
需要说明的是,前述实施例对调度方法和装置的解释说明也适用于本公开实施例的电子设备、计算机可读存储介质、计算机程序产品和计算机程序,此处不再赘述。
本公开所有实施例均可以单独被执行,也可以与其他实施例相结合被执行,均视为本公开要求的保护范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可 以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定是指相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (22)

  1. 一种调度方法,包括:
    确定待调度单元的第一属性信息;
    根据所述第一属性信息,确定所述待调度单元所属的待调度队列,其中,所述待调度队列包括至少一个所述第一属性信息的所述待调度单元;和
    基于所述待调度队列,调度所述待调度单元。
  2. 如权利要求1所述的方法,其中,所述基于所述待调度队列,调度所述待调度单元,包括:
    获取所述待调度队列的优先级信息;和
    响应于所述优先级信息满足优先级条件,基于所述待调度队列,调度所述待调度单元。
  3. 如权利要求1或2所述的方法,其中,所述基于所述待调度队列,调度所述待调度单元,包括:
    获取所述待调度队列的可用节点列表,其中,所述可用节点列表中包括:至少一个可用节点标识,和与每个所述可用节点标识所属可用节点对应的第二属性信息;和
    将所述待调度队列中所述待调度单元调度至所述可用节点。
  4. 如权利要求3所述的方法,其中,在所述确定待调度单元的第一属性信息之前,还包括:
    确定参考调度单元,其中,所述参考调度单元的第一属性信息与所述待调度单元的第一属性信息相同;
    根据所述参考调度单元,从多个候选节点中确定所述可用节点,并确定与所述可用节点对应的第二属性信息;和
    根据所述可用节点和所述第二属性信息,生成所述可用节点列表。
  5. 如权利要求3或4所述的方法,其中,在所述将所述待调度队列中所述待调度单元调度至所述可用节点之后,还包括:
    对所述可用节点列表进行更新。
  6. 如权利要求5所述的方法,其中,所述对所述可用节点列表进行更新,包括:
    更新所述可用节点列表中所述可用节点对应的第二属性信息。
  7. 如权利要求6所述的方法,其中,所述对所述可用节点列表进行更新,还包括:
    在所述可用节点列表之中所述可用节点对应的第二属性信息满足第一条件的情况下,删除所述可用节点列表中所述可用节点标识。
  8. 如权利要求1至7中任一项所述的方法,其中,在所述确定待调度单元的第一属性信息之前,所述方法还包括:
    确定与所述候选调度单元对应的第一属性信息;和
    根据所述与所述候选调度单元对应的第一属性信息,对多个所述候选调度单元进行聚类处理,以得到至少一个待调度队列,其中,所述待调度队列属于所述至少一个待调度队列,所述待调度单元属于多个所述候选调度单元。
  9. 如权利要求8所述的方法,其中,所述方法还包括:
    确定与所述候选调度单元对应的第三属性信息;和
    根据所述第三属性信息,确定所述候选调度单元所属待调度队列对应的优先级信息。
  10. 一种调度装置,包括:
    第一确定模块,用于确定待调度单元的第一属性信息;
    第二确定模块,用于根据所述第一属性信息,确定所述待调度单元所属的待调度队列,其中,所述待调度队列包括至少一个所述第一属性信息的所述待调度单元;和
    第一处理模块,用于基于所述待调度队列,调度所述待调度单元。
  11. 如权利要求10所述的调度装置,其中,所述第一处理模块,具体用于:
    获取所述待调度队列的优先级信息;和
    响应于所述优先级信息满足优先级条件,基于所述待调度队列,调度所述待调度单元。
  12. 如权利要求10或11所述的调度装置,其中,所述第一处理模块,包括:
    获取子模块,用于获取所述待调度队列的可用节点列表,其中,所述可用节点列表中包括:至少一个可用节点标识,和与每个所述可用节点标识所属可用节点对应的第二属性信息;和
    处理子模块,用于将所述待调度队列中所述待调度单元调度至所述可用节点。
  13. 如权利要求12所述的调度装置,还包括:
    第三确定模块,用于确定参考调度单元,其中,所述参考调度单元的第一属性信息与所述待调度单元的第一属性信息相同;
    第四确定模块,用于根据所述参考调度单元,从多个候选节点中确定所述可用节点,并确定与所述可用节点对应的第二属性信息;和
    生成模块,用于根据所述可用节点和所述第二属性信息,生成所述可用节点列表。
  14. 如权利要求12或13所述的调度装置,其中,所述第一处理模块,还包括:
    更新子模块,用于对所述可用节点列表进行更新。
  15. 如权利要求14所述的调度装置,其中,所述更新子模块,具体用于:
    更新所述可用节点列表中所述可用节点对应的第二属性信息。
  16. 如权利要求15所述的调度装置,其中,所述更新子模块,还用于:
    在所述可用节点列表之中所述可用节点对应的第二属性信息满足第一条件的情况下,删除所述可用节点列表中所述可用节点标识。
  17. 如权利要求10至16中任一项所述的调度装置,还包括:
    第五确定模块,用于确定与所述候选调度单元对应的第一属性信息;和
    第二处理模块,用于根据所述与所述候选调度单元对应的第一属性信息,对多个所述候选调度单元进行聚类处理,以得到至少一个待调度队列,其中,所述待调度队列属于所述至少一个待调度队列,所述待调度单元属于多个所述候选调度单元。
  18. 如权利要求17所述的调度装置,还包括:
    第六确定模块,用于确定与所述候选调度单元对应的第三属性信息;和
    第七确定模块,用于根据所述第三属性信息,确定所述候选调度单元所属待调度队列对应的优先级信息。
  19. 一种计算机设备,包括:
    至少一个处理器;和
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据权利要求1至9中任一项所述的方法。
  20. 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至9中任一项所述的方法。
  21. 一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至9中任一项所述方法。
  22. 一种计算机程序,包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行根据权利要求1至9中任一项所述方法。
PCT/CN2023/117662 2022-12-07 2023-09-08 调度方法、装置、计算机设备和存储介质 WO2024119930A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211566611.3 2022-12-07
CN202211566611.3A CN115981808A (zh) 2022-12-07 2022-12-07 调度方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
WO2024119930A1 true WO2024119930A1 (zh) 2024-06-13

Family

ID=85974987

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/117662 WO2024119930A1 (zh) 2022-12-07 2023-09-08 调度方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN115981808A (zh)
WO (1) WO2024119930A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981808A (zh) * 2022-12-07 2023-04-18 京东科技信息技术有限公司 调度方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210149726A1 (en) * 2018-08-08 2021-05-20 Preferred Networks, Inc. Scheduling device, scheduling system, scheduling method, and non-transitory computer-readable medium
CN114064296A (zh) * 2022-01-18 2022-02-18 北京建筑大学 一种Kubernetes调度方法、装置和存储介质
CN114968566A (zh) * 2022-05-17 2022-08-30 南京邮电大学 一种面向共享式gpu集群下的容器调度方法及装置
CN115981808A (zh) * 2022-12-07 2023-04-18 京东科技信息技术有限公司 调度方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210149726A1 (en) * 2018-08-08 2021-05-20 Preferred Networks, Inc. Scheduling device, scheduling system, scheduling method, and non-transitory computer-readable medium
CN114064296A (zh) * 2022-01-18 2022-02-18 北京建筑大学 一种Kubernetes调度方法、装置和存储介质
CN114968566A (zh) * 2022-05-17 2022-08-30 南京邮电大学 一种面向共享式gpu集群下的容器调度方法及装置
CN115981808A (zh) * 2022-12-07 2023-04-18 京东科技信息技术有限公司 调度方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN115981808A (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
US9996394B2 (en) Scheduling accelerator tasks on accelerators using graphs
US9529651B2 (en) Apparatus and method for executing agent
CN111324427B (zh) 一种基于dsp的任务调度方法及装置
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
WO2024119930A1 (zh) 调度方法、装置、计算机设备和存储介质
US20240143392A1 (en) Task scheduling method, chip, and electronic device
CN114168271B (zh) 一种任务调度方法、电子设备及存储介质
US9904470B2 (en) Tracking ownership of memory in a data processing system through use of a memory monitor
US9928164B2 (en) Information processing apparatus
US7539992B2 (en) Scheduling method, program product for use in such method, and task scheduling apparatus
CN112035230A (zh) 一种任务调度文件生成方法、装置及存储介质
WO2024103927A1 (zh) 混合部署场景下的作业调度方法、装置及电子设备
CN112650449B (zh) 缓存空间的释放方法、释放系统、电子设备及存储介质
WO2019029721A1 (zh) 任务的调度方法、装置、设备及存储介质
CN113407343A (zh) 一种基于资源分配的业务处理方法、装置及设备
US20050172287A1 (en) Bus management techniques
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
US11360702B2 (en) Controller event queues
US9659041B2 (en) Model for capturing audit trail data with reduced probability of loss of critical data
CN114911538A (zh) 一种运行系统的启动方法及计算设备
CN112835967B (zh) 基于分布式存储系统的数据处理方法、装置、设备和介质
CN112988383A (zh) 一种资源分配方法、装置、设备以及存储介质
CN117093345B (zh) 任务链表的执行方法、装置、终端设备及存储介质
CN115794446B (zh) 一种消息处理方法、装置、电子设备和存储介质
US11442668B2 (en) Prioritizing volume accesses in multi-volume storage device based on execution path of a service