WO2024021489A1 - 一种任务调度方法、装置及Kubernetes调度器 - Google Patents

一种任务调度方法、装置及Kubernetes调度器 Download PDF

Info

Publication number
WO2024021489A1
WO2024021489A1 PCT/CN2022/141812 CN2022141812W WO2024021489A1 WO 2024021489 A1 WO2024021489 A1 WO 2024021489A1 CN 2022141812 W CN2022141812 W CN 2022141812W WO 2024021489 A1 WO2024021489 A1 WO 2024021489A1
Authority
WO
WIPO (PCT)
Prior art keywords
current
task
scheduling
priority queue
resource
Prior art date
Application number
PCT/CN2022/141812
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 WO2024021489A1 publication Critical patent/WO2024021489A1/zh

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/5061Partitioning or combining of resources

Definitions

  • the present invention relates to the technical field of Kubernetes resource management, and specifically relates to a task scheduling method, device and Kubernetes scheduler.
  • Kubernetes is built on Docker container technology and provides users with an overall solution for containerized applications. It has powerful container orchestration capabilities and follows the microservice architecture theory.
  • the scheduler is a scheduler loaded and run in the Kubernetes container cluster management system. It is responsible for collecting and statistically analyzing the resource usage of all resource nodes in the container cluster management system, and then assigns newly created jobs to priorities based on this. Run on the node with the highest available resources.
  • embodiments of the present invention provide a task scheduling method, device and Kubernetes scheduler to overcome the problem in the prior art that the task scheduling method of the Kubernetes scheduler is difficult to ensure the task execution efficiency of jobs that fail to be scheduled multiple times.
  • embodiments of the present invention provide a task scheduling method, which is applied to the Kubernetes scheduler.
  • the method includes:
  • the target priority queue determines the position of the current pending task in the target priority queue, so as to determine the position of the current pending task in the target priority queue.
  • the target priority queue performs task scheduling
  • the current to-be-operated task is scheduled according to the position of the current to-be-operated task in the target priority queue.
  • the target priority queue is based on the resource proportion value of the to-be-operated task. Sort by position from large to small.
  • the current number of scheduling failures is used as a weight
  • the current computing resources corresponding to the currently pending tasks are calculated based on the computing resources required by the currently pending tasks and the current computing resources of each current resource node.
  • Resource proportion values include:
  • the method also includes:
  • the task execution time slice is the task execution time specified when the waiting tasks in the priority queue are scheduled. The greater the resource proportion value corresponding to the priority queue, The corresponding scheduling priority is higher, and the task execution time slice of the high-priority queue is greater than the task execution time slice of each pending task in the low-priority queue;
  • Tasks to be processed in each priority queue are scheduled sequentially according to the scheduling priority and task execution time slice of each priority queue.
  • the tasks to be operated in each priority queue are scheduled sequentially according to the scheduling priority and task execution time slice of each priority queue, including:
  • task scheduling is performed in sequence according to the position of each pending task in the current priority queue
  • the method further includes:
  • Task scheduling is performed on new pending tasks added to the priority queue with a higher scheduling priority until the priority queue with a higher scheduling priority is empty, and task scheduling is resumed on the pending tasks in the current priority queue. .
  • the task scheduling of the currently pending tasks includes:
  • the method also includes:
  • the current number of scheduling failures is updated, and the computing resources required to obtain the current pending task, the current number of scheduling failures, and the current resources are returned.
  • the step of the node's current computing resources is updated.
  • an embodiment of the present invention provides a task scheduling device, which is applied to the Kubernetes scheduler.
  • the device includes:
  • the acquisition module is used to obtain the computing resources required for the current task to be performed, the current number of scheduling failures, and the current computing resources of each resource node;
  • a first processing module configured to use the current number of scheduling failures as a weight and calculate the computing resources corresponding to the currently pending tasks based on the computing resources required by the current pending tasks and the current computing resources of each current resource node.
  • Current resource proportion value
  • the second processing module is used to determine the target priority queue to which the current resource proportion value belongs
  • the third processing module is configured to determine the position of the current to-be-worked task in the target priority queue according to the relationship between the resource proportion value and the resource proportion values corresponding to other pending tasks in the target priority queue. position, so that when performing task scheduling on the target priority queue, task scheduling is performed on the currently pending task according to the position of the currently pending task in the target priority queue, and the target priority queue is based on The resource proportion values of the tasks to be worked are sorted in descending order.
  • an embodiment of the present invention provides a Kubernetes scheduler, including:
  • a memory and a processor The memory and the processor are communicatively connected to each other.
  • Computer instructions are stored in the memory.
  • the processor executes the computer instructions to execute the first aspect and any of the possible options thereof. Choose the method described in the embodiment.
  • embodiments of the present invention provide a computer-readable storage medium that stores computer instructions for causing a computer to execute the first aspect, or any optional one thereof. Methods described in the embodiments.
  • the task scheduling method obtains the computing resources required for the current task to be operated, the current number of scheduling failures, and the current computing resources of each resource node; using the current number of scheduling failures as the weight, based on the number of current tasks to be operated
  • the required computing resources and the current computing resources of each resource node are calculated to calculate the current resource proportion value corresponding to the current to-be-worked task; determine the target priority queue to which the current resource proportion value belongs; according to the resource proportion value and other tasks in the target priority queue
  • the relationship between the proportion of resources corresponding to the tasks to be done determines the position of the current tasks to be done in the target priority queue, so that when scheduling tasks in the target priority queue, the positions of the current tasks to be done in the target priority queue are allocated.
  • Task scheduling is performed on the currently pending job tasks. Therefore, the impact of the number of job scheduling failures on the priority is considered in the job priority sorting.
  • the problem of inability to schedule can ensure the task execution efficiency of jobs that fail to be scheduled multiple times, thus improving the overall task scheduling efficiency and user experience.
  • Figure 1 is a flow chart of a task scheduling method according to an embodiment of the present invention
  • Figure 2 is a schematic diagram of the working principle of the task scheduling mechanism according to the embodiment of the present invention.
  • Figure 3 is a schematic diagram of the scheduling process of dynamically scheduling tasks according to an embodiment of the present invention.
  • Figure 4 is a schematic structural diagram of a task scheduling device according to an embodiment of the present invention.
  • Figure 5 is a schematic structural diagram of the Kubernetes scheduler according to the embodiment of the present invention.
  • the task scheduling method specifically includes the following steps:
  • Step S101 Obtain the computing resources required for the current pending tasks, the current number of scheduling failures, and the current computing resources of each resource node.
  • computing resources include: CPU, memory, hard disk, bandwidth, GPU, etc. required to execute the current task.
  • the current number of scheduling failures is the number of task scheduling failures for the current task to be executed, specifically the number of failed bindings to the same resource node.
  • the current computing resources of each resource node are the current occupancy of resources such as CPU, memory, hard disk, bandwidth, and GPU of the resource node deployed in the Kubernetes cluster, hereinafter referred to as the node.
  • Step S102 Using the current number of scheduling failures as the weight, and based on the computing resources required by the current tasks to be performed and the current computing resources of each resource node, calculate the current resource proportion value corresponding to the tasks to be performed.
  • the current resource proportion value is used to represent the task scheduling priority of the task to be performed.
  • Step S103 Determine the target priority queue to which the current resource proportion value belongs.
  • multiple priority queues are set up in advance according to the range of resource proportion values.
  • the ranges of resource proportion values corresponding to different priority queues are different.
  • the priority queue corresponding to the current task to be worked is determined.
  • Step S104 According to the relationship between the resource proportion value and the resource proportion value corresponding to other pending tasks in the target priority queue, determine the position of the current pending task in the target priority queue to perform task scheduling on the target priority queue. When , task scheduling is performed on the current pending task according to the position of the current pending task in the target priority queue.
  • the target priority queue is sorted in order from large to small according to the resource proportion of the tasks to be worked on.
  • the task scheduling method By executing the above steps, the task scheduling method provided by the embodiment of the present invention considers the impact of the number of job scheduling failures on the priority in sorting the job priorities. The more the number of job scheduling failures, the higher the priority in scheduling in the target priority queue. The higher the level, the problem of long-term inability to schedule due to multiple scheduling failures is solved, ensuring the task execution efficiency of jobs that fail to be scheduled multiple times, thereby improving the overall task scheduling efficiency and user experience.
  • step S102 specifically includes the following steps:
  • Step S201 Calculate the proportion of each computing resource required by the current task to be worked on and the corresponding average computing resource among the current computing resources of each resource node, and obtain the proportion value corresponding to each computing resource. .
  • Step S202 Calculate the sum of the proportion values corresponding to various computing resources, and use the current number of scheduling failures as the weight to calculate the current resource proportion value corresponding to the currently pending task.
  • the current pending task is a cloud computing task
  • the cloud computing task's CPU, memory, bandwidth, disk, GPU resources and the number of scheduling failures Cou, Cou is initially 1, and the resource proportion value is calculated . Calculated as follows:
  • the task scheduling method provided by the embodiment of the present invention further includes the following steps:
  • Step S301 Divide several priority queues in order from large to small resource proportion values.
  • the number of priority queues can be flexibly set according to the accuracy requirements of task scheduling, and the range of resource proportion values corresponding to each priority queue can also be flexibly set according to the distribution of actual resource proportion values. For example Ground, assuming that the resource ratio of most pending tasks is 50%-80%, you can set multiple priority queues within this range, for example: 70%-80% is a priority queue, 60%-70% is A priority queue, 50%-60% is a priority queue, less than 50% is a priority queue, more than 80% is a priority queue, etc.
  • the present invention is only used as an example and is not limited to this.
  • Step S302 Determine the scheduling priority and task execution time slice of each priority queue.
  • the task execution time slice is the task execution time specified when the waiting tasks in the priority queue are scheduled.
  • the task execution time slice is greater than the task execution time slice of each pending task in low priority.
  • Step S303 Schedule tasks to be performed in each priority queue in sequence according to the scheduling priority and task execution time slice of each priority queue.
  • multiple ready queues are set up and each queue is given a different priority.
  • the higher the priority queue the larger the execution time slice specified for each job. Therefore, by changing the job scheduling priority queue from the first-in-first-out queue scheduling method in the existing technology to a multi-level feedback queue with multiple different priorities, the higher the priority queue, the larger the execution time slice. It is ensured that pending tasks in the high-priority queue can obtain sufficient task execution time due to their large resource ratio, ensuring task execution efficiency.
  • step S303 specifically includes the following steps:
  • Step S31 Determine whether there are any pending tasks in the current priority queue in order from high to low according to the scheduling priority of each priority queue.
  • the Kubernetes scheduler will schedule the pending tasks in the priority queue with low scheduling priority only when the priority queue with high scheduling priority is idle.
  • Step S32 When there are pending tasks in the current priority queue, task scheduling is performed in sequence according to the position of each pending task in the current priority queue.
  • Task scheduling is performed on the pending tasks in the queue; task scheduling is performed on new pending tasks added to the priority queue with a higher scheduling priority, until the priority queue with a higher scheduling priority is empty, and the current priority queue is restored. Task scheduling is performed on the pending tasks.
  • the scheduler will schedule the job in the second queue to run; only when the 1st to (i-1) queues are empty, the scheduler will schedule the job in the i-th queue to run, and Perform the corresponding time slice rotation. For example, if the processor of the Kubernetes scheduler is processing a job in the i-th queue, and a new job enters the i-1 queue with a higher priority, this i-1 queue will preempt the processing of the running Kubernetes scheduler. machine and stop running processes.
  • Step S33 When there are no pending tasks in the current priority queue, continue to determine whether there are pending tasks in the next priority queue until all pending tasks have completed task scheduling.
  • step S104 task scheduling is performed on the currently pending tasks, which specifically includes the following steps:
  • Step S401 Screen candidate resource nodes that can meet the computing resources required by the current task to be performed from the current resource nodes.
  • the GeneralPredicates strategy is used for node preselection. If the node meets the preselection conditions, the node will be selected. If the node does not meet the node preselection strategy, the current node will be discarded.
  • Step S402 Calculate the resource idle rate of each candidate resource node.
  • priorities are assigned to nodes.
  • the priority value range is 0-10 points.
  • the node with the highest score is the best node that is finally bound to the job.
  • the purpose is to select the host with the most idle resources based on the host situation.
  • the calculation process of resource idle rate score is as follows:
  • Step S403 Bind the candidate resource node with the largest resource idle rate as a scheduling node to the current task to be operated, so as to use the scheduling node to complete the current task to be operated.
  • the Kubernetes scheduler initiates an update job request to the API Server to complete the binding of the job to the node. Therefore, by pre-selecting and prioritizing nodes, the scheduling node that finally completes the tasks to be completed is obtained, thereby further improving the execution efficiency of the tasks to be performed.
  • the scheduling method provided by the embodiment of the present invention further includes the following steps:
  • Step S404 When the binding of the scheduling node to the currently pending task fails, update the current number of scheduling failures and return to step S101.
  • step S101 if the binding of the job to the node fails, add 1 to the Cou of the current job, and repeat the above step S101. Therefore, the impact of the number of job scheduling failures on the priority is considered in assigning the job priority. The more job scheduling failures occur, the higher the priority in the next calculation. This solves the problem of multiple job binding failures resulting in the inability to schedule for a long time.
  • the task scheduling method provided by the embodiment of the present invention is suitable for containerized applications on multiple hosts in the cloud platform. It is especially suitable for large-scale microservice architecture, with multi-user dedicated instances, fine gradient control of the network, and the need to achieve elastic scaling of containers.
  • the multi-level feedback queue is composed of the above-mentioned multiple priority queues with different scheduling priorities.
  • the scheduler collects CPU, memory, hard disk, bandwidth, GPU load information, the calculated resource load value is the above resource proportion value, the scheduler schedules job tasks in the multi-level feedback queue, and binds the scheduling node to the job task through node pre-selection and optimal screening of scheduling nodes. If the binding fails , then the job task is added to the unscheduled queue, and the amplitude of the scheduling at this time is added to the number of scheduling failures by 1 and then the job task is re-added to the multi-level feedback queue. If the scheduling is successful, the corresponding scheduling node in the etcd database is used. Computing resources execute pending tasks.
  • the task scheduling method By executing the above steps, the task scheduling method provided by the embodiment of the present invention considers the impact of the number of job scheduling failures on the priority in sorting the job priorities. The more the number of job scheduling failures, the higher the priority in scheduling in the target priority queue. The higher the level, the problem of long-term inability to schedule due to multiple scheduling failures is solved, ensuring the task execution efficiency of jobs that fail to be scheduled multiple times, thereby improving the overall task scheduling efficiency and user experience.
  • An embodiment of the present invention also provides a task scheduling device.
  • the task scheduling device includes:
  • the acquisition module 101 is used to acquire the computing resources required for the current tasks to be performed, the current number of scheduling failures, and the current computing resources of each resource node. For details, please refer to the relevant description of step S101 in the above method embodiment, which will not be described again here.
  • the first processing module 102 is configured to use the current number of scheduling failures as a weight and calculate the current resource proportion value corresponding to the current task to be performed based on the computing resources required by the current task to be performed and the current computing resources of each resource node. For details, please refer to the relevant description of step S102 in the above method embodiment, which will not be described again here.
  • the second processing module 103 is used to determine the target priority queue to which the current resource proportion value belongs. For details, please refer to the relevant description of step S103 in the above method embodiment, which will not be described again here.
  • the third processing module 104 is used to determine the position of the current to-be-operated task in the target priority queue according to the relationship between the resource proportion value and the resource proportion value corresponding to other to-be-operated tasks in the target priority queue, so as to prioritize the target.
  • the level queue performs task scheduling
  • the current pending task is scheduled according to the position of the current pending task in the target priority queue.
  • the target priority queue is sorted in descending order according to the resource proportion of the pending task. For details, please refer to the relevant description of step S104 in the above method embodiment, which will not be described again here.
  • the task scheduling device provided by the embodiment of the present invention is used to execute the task scheduling method provided by the above embodiment. Its implementation method is the same as the principle. For details, please refer to the relevant description of the above method embodiment, which will not be described again.
  • the task scheduling device takes into account the impact of the number of job scheduling failures on the priority when sorting job priorities.
  • the more the number of job scheduling failures the higher the target priority.
  • the higher the scheduling priority in the queue it solves the problem of jobs being unable to be scheduled for a long time due to multiple scheduling failures, ensuring the task execution efficiency of jobs that fail to be scheduled multiple times, thereby improving the overall task scheduling efficiency and user experience.
  • Figure 5 shows a Kubernetes scheduler according to an embodiment of the present invention.
  • the Kubernetes scheduler includes: a processor 901 and a memory 902.
  • the processor 901 and the memory 902 can be connected through a bus or other means.
  • Figure 5 takes connection via bus as an example.
  • the processor 901 may be a central processing unit (Central Processing Unit (CPU).
  • the processor 901 can also be other general-purpose processors, digital signal processors (Digital Signal Processor (DSP), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components and other chips, or a combination of the above types of chips.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the memory 902 can be used to store non-transitory software programs, non-transitory computer executable programs and modules, such as program instructions/modules corresponding to the methods in the above method embodiments.
  • the processor 901 executes various functional applications and data processing of the processor by running non-transient software programs, instructions and modules stored in the memory 902, that is, implementing the method in the above method embodiment.
  • the memory 902 may include a program storage area and a data storage area, where the program storage area may store an operating system and an application program required for at least one function; the storage data area may store data created by the processor 901 and the like.
  • memory 902 may include high-speed random access memory and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device.
  • the memory 902 optionally includes memory located remotely relative to the processor 901, and these remote memories may be connected to the processor 901 through a network. Examples of the above-mentioned networks include but are not limited to the Internet, intranets, local area networks, mobile communication networks and combinations thereof.
  • One or more modules are stored in the memory 902, and when executed by the processor 901, perform the methods in the above method embodiments.
  • the storage medium can be a magnetic disk, an optical disk, a read-only storage memory (Read-Only Memory, ROM), random access memory (Random Access Memory (RAM), flash memory (Flash Memory), hard disk (Hard Disk Drive, abbreviation: HDD) or solid-state drive (Solid-State Drive, SSD), etc.; the storage medium may also include a combination of the above types of memories.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供了一种任务调度方法、装置及Kubernetes调度器,该方法包括:获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源;以当前调度失败次数为权重,计算当前待作业任务对应的当前资源占比值;确定当前资源占比值所属的目标优先级队列;按照资源占比值与目标优先级队列中的其他待作业任务对应的资源占比值的大小关系,确定当前待作业任务在目标优先级队列的位置,以在对目标优先级队列进行任务调度时,按照当前待作业任务在目标优先级队列的位置进行任务调度。通过考虑作业调度失败次数对于优先级的影响,解决了作业多次调度失败长时间不能调度的问题,保障重复多次调度失败作业的任务执行效率。

Description

一种任务调度方法、装置及Kubernetes调度器 技术领域
本发明涉及Kubernetes资源管理技术领域,具体涉及一种任务调度方法、装置及Kubernetes调度器。
背景技术
Kubernetes构建在Docker容器技术之上,为用户提供了一个容器化应用的整体解决方案 ,它具有强大的容器编排能力 ,遵循微服务架构理论,现今Kubernetes已成为Docker生态圈应用最为广泛的开源容器集群调度系统。Kubernetes使用Docker对应用程序进行打包、实例化及运行,以集群的方式运行及管理跨主机的容器,解决不同主机之间所运行的容器之间的通信问题。其中,调度器是Kubernetes容器集群管理系统中加载并运行的调度程序,其负责收集、统计分析容器集群管理系统中所有资源节点的资源使用情况,然后以此为依据将新建的作业分配到优先级最高的可用资源节点上运行。
技术问题
随着Kubernetes项目逐步趋于稳定,越来越多的用户开始把Kubernetes用在规模更大、业务更加复杂的私有集群中。在现有的Kubernetes调度器任务调度算法中,由于是采用先来先服务的调度策略,在作业调度失败后,虽然可以通过添加延迟等方式对调度失败的任务进行了再次调整,但是添加延迟会造成资源的浪费,并且也无法保障重复多次调度失败作业的任务执行效率。因此当前的调度机制已难以满足用户对任务处理效率的需求。
技术解决方案
有鉴于此,本发明实施例提供了一种任务调度方法、装置及Kubernetes调度器以克服现有技术中Kubernetes调度器的任务调度方式难以保障重复多次调度失败作业的任务执行效率的问题。
根据第一方面,本发明实施例提供了任务调度方法,应用于Kubernetes调度器,所述方法包括:
获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源;
以所述当前调度失败次数为权重,基于所述当前待作业任务所需的计算资源和所述当前各资源节点的当前计算资源,计算所述当前待作业任务对应的当前资源占比值;
确定所述当前资源占比值所属的目标优先级队列;
按照所述资源占比值与所述目标优先级队列中的其他待作业任务对应的资源占比值的大小关系,确定所述当前待作业任务在所述目标优先级队列的位置,以在对所述目标优先级队列进行任务调度时,按照所述当前待作业任务在所述目标优先级队列的位置对所述当前待作业任务进行任务调度,所述目标优先级队列按照待作业任务资源占比值从大到小的顺序进行位置排序。
可选地,所述以所述当前调度失败次数为权重,基于所述当前待作业任务所需的计算资源和所述当前各资源节点的当前计算资源,计算所述当前待作业任务对应的当前资源占比值,包括:
计算所述当前待作业任务所需的计算资源中的每一种计算资源和所述当前各资源节点的当前计算资源中对应的计算资源平均值的占比,得到每一种计算资源对应的占比值;
计算各种计算资源对应的占比值的和,并以所述当前调度失败次数为权重,计算所述当前待作业任务对应的当前资源占比值。
可选地,所述方法还包括:
按照资源占比值从大到小的顺序划分若干优先级队列;
确定各优先级队列的调度优先级及任务执行时间片,所述任务执行时间片为优先级队列中的待作业任务被调度时规定的任务执行时长,优先级队列对应的资源占比值越大,其对应的调度优先级越高,且高优先级队列的任务执行时间片大于低优先级中每个待作业任务的任务执行时间片;
按照各优先级队列的调度优先级及任务执行时间片依次对各优先级队列中的待作业任务进行任务调度。
可选地,所述按照各优先级队列的调度优先级及任务执行时间片依次对各优先级队列中的待作业任务进行任务调度,包括:
按照各优先级队列的调度优先级从高到低的顺序依次判断当前优先级队列是否有待作业任务;
在当前优先级队列有待作业任务时,按照各待作业任务在所述当前优先级队列的位置依次进行任务调度;
在当前优先级队列没有待作业任务时,继续判断下一优先级队列是否有待作业任务,直至所有待作业任务均完成任务调度。
可选地,在按照各待作业任务在所述当前优先级队列的位置依次进行任务调度的过程中,所述方法还包括:
在监测到有新的待作业任务加入调度优先级更高的优先级队列时,停止对所述当前优先级队列的待作业任务进行任务调度;
对加入至调度优先级更高的优先级队列的新的待作业任务进行任务调度,直至调度优先级更高的优先级队列为空,恢复对所述当前优先级队列的待作业任务进行任务调度。
可选地,所述对所述当前待作业任务进行任务调度,包括:
从当前各资源节点中筛选能够满足所述当前待作业任务所需的计算资源的备选资源节点;
计算各备选资源节点的资源空闲率;
将资源空闲率最大的备选资源节点作为调度节点与所述当前待作业任务进行绑定,以利用所述调度节点完成所述当前待作业任务。
可选地,所述方法还包括:
在所述调度节点与所述当前待作业任务绑定失败时,对所述当前调度失败次数进行更新,并返回所述获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源的步骤。
根据第二方面,本发明实施例提供了一种任务调度装置,应用于Kubernetes调度器,所述装置包括:
获取模块,用于获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源;
第一处理模块,用于以所述当前调度失败次数为权重,基于所述当前待作业任务所需的计算资源和所述当前各资源节点的当前计算资源,计算所述当前待作业任务对应的当前资源占比值;
第二处理模块,用于确定所述当前资源占比值所属的目标优先级队列;
第三处理模块,用于按照所述资源占比值与所述目标优先级队列中的其他待作业任务对应的资源占比值的大小关系,确定所述当前待作业任务在所述目标优先级队列的位置,以在对所述目标优先级队列进行任务调度时,按照所述当前待作业任务在所述目标优先级队列的位置对所述当前待作业任务进行任务调度,所述目标优先级队列按照待作业任务资源占比值从大到小的顺序进行位置排序。
根据第三方面,本发明实施例提供了一种Kubernetes调度器,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面及其任意一种可选实施方式中所述的方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行第一方面,或者其任意一种可选实施方式中所述的方法。
有益效果
本发明实施例提供的任务调度方法,通过获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源;以当前调度失败次数为权重,基于当前待作业任务所需的计算资源和当前各资源节点的当前计算资源,计算当前待作业任务对应的当前资源占比值;确定当前资源占比值所属的目标优先级队列;按照资源占比值与目标优先级队列中的其他待作业任务对应的资源占比值的大小关系,确定当前待作业任务在目标优先级队列的位置,以在对目标优先级队列进行任务调度时,按照当前待作业任务在目标优先级队列的位置对当前待作业任务进行任务调度。从而通过在对作业优先级排序中考虑了作业调度失败次数对于优先级的影响,作业调度失败次数越多,在目标优先级队列中调度优先级越高,解决了作业多次调度失败导致长时间不能进行调度的问题,保障重复多次调度失败作业的任务执行效率,进而提高了整体的任务调度效率,提高用户使用体验。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的任务调度方法的流程图;
图2为本发明实施例的任务调度机制的工作原理示意图;
图3为本发明实施例对任务进行动态调度的调度过程示意图;
图4为本发明实施例的任务调度装置的结构示意图;
图5为本发明实施例的Kubernetes调度器的结构示意图。
本发明的实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
基于上述问题,本发明实施例提供了一种任务调度方法,如图1所示,该任务调度方法具体包括如下步骤:
步骤S101: 获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源。
其中,计算资源包括:执行当前待作业任务所需的CPU、内存、硬盘、带宽、GPU等。当前调度失败次数为当前待作业任务执行任务调度失败的次数,具体为其同资源节点绑定失败的次数。当前各资源节点的当前计算资源为Kubernetes集群中部署的资源节点以下简称节点的CPU、内存、硬盘、带宽、GPU等资源的当前占用情况。
步骤S102:以当前调度失败次数为权重,基于当前待作业任务所需的计算资源和当前各资源节点的当前计算资源,计算当前待作业任务对应的当前资源占比值。
其中,该当前资源占比值用于表征待作业任务的任务调度优先级,当前资源占比值越大,则对应的调度优先级越高。
步骤S103:确定当前资源占比值所属的目标优先级队列。
其中,事先根据资源占比值的范围设置多个优先级队列,不同优先级队列对应的资源占比值的范围不同,根据当前资源占比值,确定当前待作业任务对应的优先级队列。
步骤S104:按照资源占比值与目标优先级队列中的其他待作业任务对应的资源占比值的大小关系,确定当前待作业任务在目标优先级队列的位置,以在对目标优先级队列进行任务调度时,按照当前待作业任务在目标优先级队列的位置对当前待作业任务进行任务调度。
其中,目标优先级队列按照待作业任务资源占比值从大到小的顺序进行位置排序。
通过执行上述步骤,本发明实施例提供的任务调度方法,通过在对作业优先级排序中考虑了作业调度失败次数对于优先级的影响,作业调度失败次数越多,在目标优先级队列中调度优先级越高,解决了作业多次调度失败导致长时间不能进行调度的问题,保障重复多次调度失败作业的任务执行效率,进而提高了整体的任务调度效率,提高用户使用体验。
具体地,在一实施例中,上述的步骤S102具体包括如下步骤:
步骤S201:计算当前待作业任务所需的计算资源中的每一种计算资源和当前各资源节点的当前计算资源中对应的计算资源平均值的占比,得到每一种计算资源对应的占比值。
步骤S202:计算各种计算资源对应的占比值的和,并以当前调度失败次数为权重,计算当前待作业任务对应的当前资源占比值。
具体地,假设当前待作业任务为云计算任务,则根据云计算任务的CPU、内存、带宽、磁盘、GPU资源及调度失败次数Cou, Cou初始为1,请求计算其资源占比值 计算公式如下:
其中, 分别表示云计算任务 请求的计算资源。 分别表示所有节点的计算资源的平均值。 分别表示云计算任务 所需计算资源各自的资源占比。所得云计算任务 的资源占比值越高则任务调度优先级越大。
通过将节点影响因素在传统的CPU和内存基础上增加了硬盘、带宽和GPU的因素,考量因素更加全面与完善,使得任务调度顺序更加合理。
具体地,在一实施例中,本发明实施例提供的任务调度方法还包括如下步骤:
步骤S301:按照资源占比值从大到小的顺序划分若干优先级队列。
具体地,优先级队列的设置数量可以根据任务调度的精确度要求进行灵活的设置,并且各个优先级队列对应的资源占比值的范围也可以根据实际资源占比值的分布情况进行灵活设置,示例性地,假设大多待作业任务的资源占比值在50%-80%,则可以在该范围内设置多个优先级队列,如:70%-80%为一个优先级队列,60%-70%为一个优先级队列,50%-60%为一个优先级队列,50%以下为一个优先级队列,80%以上为一个优先级队列等,本发明仅以此为例,并不以此为限。
步骤S302:确定各优先级队列的调度优先级及任务执行时间片。
其中,任务执行时间片为优先级队列中的待作业任务被调度时规定的任务执行时长,优先级队列对应的资源占比值越大,其对应的调度优先级越高,且高优先级队列的任务执行时间片大于低优先级中每个待作业任务的任务执行时间片。
步骤S303:按照各优先级队列的调度优先级及任务执行时间片依次对各优先级队列中的待作业任务进行任务调度。
具体地,通过设置多个就绪队列,并为各个队列赋予不同的优先级。在优先级越高的队列中,为每个作业所规定的执行时间片就越大。从而通过将作业调度优先级队列由现有技术中的先进先后出队列调度方式,改为具有多个不同优先级的多级反馈队列,优先级越高的队列,执行的时间片越大,从而保障高优先级队列的待作业任务由于资源占比值较大,能够获得足够的任务执行时间,保障任务执行效率。
具体地,在一实施例中,上述的步骤S303具体包括如下步骤:
步骤S31:按照各优先级队列的调度优先级从高到低的顺序依次判断当前优先级队列是否有待作业任务。
其中,只有在高调度优先级的优先级队列空闲时,Kubernetes调度器才会调度低调度优先级的优先级队列中的待作业任务。
步骤S32:在当前优先级队列有待作业任务时,按照各待作业任务在当前优先级队列的位置依次进行任务调度。
具体地,在按照各待作业任务在当前优先级队列的位置依次进行任务调度的过程中,在监测到有新的待作业任务加入调度优先级更高的优先级队列时,停止对当前优先级队列的待作业任务进行任务调度;对加入至调度优先级更高的优先级队列的新的待作业任务进行任务调度,直至调度优先级更高的优先级队列为空,恢复对当前优先级队列的待作业任务进行任务调度。
进一步地,仅当第一队列空闲的时候,调度程序才调度第二队列中的作业运行;仅当第1到(i-1)队列空时,才会调度第i队列中的作业运行,并执行相应的时间片轮转。示例性地,如果Kubernetes调度器的处理机正在处理第i队列中某作业,又有新作业进入优先级较高的i-1队列,则此i-1队列抢占正在运行的Kubernetes调度器的处理机,并停止正在运行的进程。 
步骤S33:在当前优先级队列没有待作业任务时,继续判断下一优先级队列是否有待作业任务,直至所有待作业任务均完成任务调度。
具体地,在一实施例中,在上述步骤S104中对当前待作业任务进行任务调度,具体包括如下步骤:
步骤S401:从当前各资源节点中筛选能够满足当前待作业任务所需的计算资源的备选资源节点。
具体地,通过使用GeneralPredicates策略进行节点的预选,若节点符合预选条件,则进入节点优选,若该节点不符合节点预选策略,则舍弃当前节点。
1)以Go语言为例,使用PodFitsResources方法,检查Pod的request字段,计算宿主机的CPU和内存资源等是否够用。
2)使用PodFitsHost检查宿主机名字是否跟当前作业的spec.nodeName一致。
3)使用PodFitsHostPorts方法检查当前作业申请的宿主机端口是不是跟已经被使用的端口有冲突。
4)使用PodMatchNodeSelector检查当前作业的nodeSelector指定的节点是否与待考察节点匹配。
步骤S402:计算各备选资源节点的资源空闲率。
具体地,在这个阶段为节点进行优先级赋值,优先值范围是0-10分,得分最高的节点为最后与作业绑定的最佳节点。其目的是根据主机情况选择出空闲资源最多的主机。资源空闲率score计算过程如下:
其中, 分别表示当前节点在CPU、内存、带宽、硬盘和GPU的空闲计算资源比例。 分别表示所有作业的所需资源之和。备选资源节点对应的 所得值越高其对应的优先级越大。
步骤S403:将资源空闲率最大的备选资源节点作为调度节点与当前待作业任务进行绑定,以利用调度节点完成当前待作业任务。
具体地,通过将当前待作业任务的spec.nodename字段填上调度节点的名字,Kubernetes调度器向APIServer发起更新作业请求,完成作业与节点的绑定。从而通过对节点进行预选和优先两个阶段,得到最终完成待作业任务的调度节点,从而能够进一步提高待作业任务的执行效率。
具体地,在一实施例中,本发明实施例提供的调度方法还包括如下步骤:
步骤S404:在调度节点与当前待作业任务绑定失败时,对当前调度失败次数进行更新,并返回步骤S101。
具体地,若作业与节点绑定失败,对当前作业的Cou进行加1,并重复执行上述步骤S101。从而通过在对作业优先级赋值中考虑了作业调度失败次数,对于优先级的影响。作业调度失败次数越多,在下一次计算中优先级越高。解决了作业多次绑定失败导致长时间不能进行调度的问题。
本发明实施例提供的任务调度方法适用于云平台中多主机上的容器化的应用。尤其适用于大规模微服务架构下,具有多用户专用实例,对网络进行精细渐变控制,需要实现容器弹性伸缩的情况。
示例性地,如图2和3所示,通过API-Server发起待作业任务,多级反馈队列由上述多个不同调度优先级的优先级队列构成,调度器收集CPU、内存、硬盘、带宽、GPU负载信息,计算资源负载值即上述资源占比值,调度器在多级反馈队列中调度作业任务,并通过节点预选、优选筛选调度节点,将调度节点与作业任务进行绑定,如果绑定失败,则将该作业任务加入未调度队列,并对调度此时幅值,即将调度失败次数加1后重新将作业任务加入多级反馈队列中,如果调度成功,则利用etcd数据库中调度节点对应的计算资源执行待作业任务。
通过执行上述步骤,本发明实施例提供的任务调度方法,通过在对作业优先级排序中考虑了作业调度失败次数对于优先级的影响,作业调度失败次数越多,在目标优先级队列中调度优先级越高,解决了作业多次调度失败导致长时间不能进行调度的问题,保障重复多次调度失败作业的任务执行效率,进而提高了整体的任务调度效率,提高用户使用体验。
本发明实施例还提供了一种任务调度装置,如图4所示,该任务调度装置包括:
获取模块101,用于获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源。详细内容参见上述方法实施例中步骤S101的相关描述,在此不再进行赘述。
第一处理模块102,用于以当前调度失败次数为权重,基于当前待作业任务所需的计算资源和当前各资源节点的当前计算资源,计算当前待作业任务对应的当前资源占比值。详细内容参见上述方法实施例中步骤S102的相关描述,在此不再进行赘述。
第二处理模块103,用于确定当前资源占比值所属的目标优先级队列。详细内容参见上述方法实施例中步骤S103的相关描述,在此不再进行赘述。
第三处理模块104,用于按照资源占比值与目标优先级队列中的其他待作业任务对应的资源占比值的大小关系,确定当前待作业任务在目标优先级队列的位置,以在对目标优先级队列进行任务调度时,按照当前待作业任务在目标优先级队列的位置对当前待作业任务进行任务调度,目标优先级队列按照待作业任务资源占比值从大到小的顺序进行位置排序。详细内容参见上述方法实施例中步骤S104的相关描述,在此不再进行赘述。
本发明实施例提供的任务调度装置,用于执行上述实施例提供的任务调度方法,其实现方式与原理相同,详细内容参见上述方法实施例的相关描述,不再赘述。
通过上述各个组成部分的协同合作,本发明实施例提供的任务调度装置,通过在对作业优先级排序中考虑了作业调度失败次数对于优先级的影响,作业调度失败次数越多,在目标优先级队列中调度优先级越高,解决了作业多次调度失败导致长时间不能进行调度的问题,保障重复多次调度失败作业的任务执行效率,进而提高了整体的任务调度效率,提高用户使用体验。
图5示出了本发明实施例的一种Kubernetes调度器,如图5所示,该Kubernetes调度器包括:处理器901和存储器902,其中,处理器901和存储器902可以通过总线或者其他方式连接,图5中以通过总线连接为例。
处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如上述方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
上述Kubernetes调度器具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

  1. 一种任务调度方法,应用于Kubernetes调度器,其特征在于,所述方法包括:
    获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源;
    以所述当前调度失败次数为权重,基于所述当前待作业任务所需的计算资源和所述当前各资源节点的当前计算资源,计算所述当前待作业任务对应的当前资源占比值;
    确定所述当前资源占比值所属的目标优先级队列;
    按照所述资源占比值与所述目标优先级队列中的其他待作业任务对应的资源占比值的大小关系,确定所述当前待作业任务在所述目标优先级队列的位置,以在对所述目标优先级队列进行任务调度时,按照所述当前待作业任务在所述目标优先级队列的位置对所述当前待作业任务进行任务调度,所述目标优先级队列按照待作业任务资源占比值从大到小的顺序进行位置排序。
  2. 根据权利要求1所述的方法,其特征在于,所述以所述当前调度失败次数为权重,基于所述当前待作业任务所需的计算资源和所述当前各资源节点的当前计算资源,计算所述当前待作业任务对应的当前资源占比值,包括:
    计算所述当前待作业任务所需的计算资源中的每一种计算资源和所述当前各资源节点的当前计算资源中对应的计算资源平均值的占比,得到每一种计算资源对应的占比值;
    计算各种计算资源对应的占比值的和,并以所述当前调度失败次数为权重,计算所述当前待作业任务对应的当前资源占比值。
  3. 根据权利要求1所述的方法,其特征在于,还包括:
    按照资源占比值从大到小的顺序划分若干优先级队列;
    确定各优先级队列的调度优先级及任务执行时间片,所述任务执行时间片为优先级队列中的待作业任务被调度时规定的任务执行时长,优先级队列对应的资源占比值越大,其对应的调度优先级越高,且高优先级队列的任务执行时间片大于低优先级中每个待作业任务的任务执行时间片;
    按照各优先级队列的调度优先级及任务执行时间片依次对各优先级队列中的待作业任务进行任务调度。
  4. 根据权利要求3所述的方法,其特征在于,所述按照各优先级队列的调度优先级及任务执行时间片依次对各优先级队列中的待作业任务进行任务调度,包括:
    按照各优先级队列的调度优先级从高到低的顺序依次判断当前优先级队列是否有待作业任务;
    在当前优先级队列有待作业任务时,按照各待作业任务在所述当前优先级队列的位置依次进行任务调度;
    在当前优先级队列没有待作业任务时,继续判断下一优先级队列是否有待作业任务,直至所有待作业任务均完成任务调度。
  5. 根据权利要求4所述的方法,其特征在于,在按照各待作业任务在所述当前优先级队列的位置依次进行任务调度的过程中,所述方法还包括:
    在监测到有新的待作业任务加入调度优先级更高的优先级队列时,停止对所述当前优先级队列的待作业任务进行任务调度;
    对加入至调度优先级更高的优先级队列的新的待作业任务进行任务调度,直至调度优先级更高的优先级队列为空,恢复对所述当前优先级队列的待作业任务进行任务调度。
  6. 根据权利要求1所述的方法,其特征在于,所述对所述当前待作业任务进行任务调度,包括:
    从当前各资源节点中筛选能够满足所述当前待作业任务所需的计算资源的备选资源节点;
    计算各备选资源节点的资源空闲率;
    将资源空闲率最大的备选资源节点作为调度节点与所述当前待作业任务进行绑定,以利用所述调度节点完成所述当前待作业任务。
  7. 根据权利要求6所述的方法,其特征在于,还包括:
    在所述调度节点与所述当前待作业任务绑定失败时,对所述当前调度失败次数进行更新,并返回所述获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源的步骤。
  8. 一种任务调度装置,应用于Kubernetes调度器,其特征在于,所述装置包括:
    获取模块,用于获取当前待作业任务所需的计算资源、当前调度失败次数以及当前各资源节点的当前计算资源;
    第一处理模块,用于以所述当前调度失败次数为权重,基于所述当前待作业任务所需的计算资源和所述当前各资源节点的当前计算资源,计算所述当前待作业任务对应的当前资源占比值;
    第二处理模块,用于确定所述当前资源占比值所属的目标优先级队列;
    第三处理模块,用于按照所述资源占比值与所述目标优先级队列中的其他待作业任务对应的资源占比值的大小关系,确定所述当前待作业任务在所述目标优先级队列的位置,以在对所述目标优先级队列进行任务调度时,按照所述当前待作业任务在所述目标优先级队列的位置对所述当前待作业任务进行任务调度,所述目标优先级队列按照待作业任务资源占比值从大到小的顺序进行位置排序。
  9. 一种Kubernetes调度器,其特征在于,包括:
    存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-7任一项所述的方法。
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行如权利要求1-7任一项所述的方法。
PCT/CN2022/141812 2022-07-29 2022-12-26 一种任务调度方法、装置及Kubernetes调度器 WO2024021489A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210913982.8 2022-07-29
CN202210913982.8A CN115454589A (zh) 2022-07-29 2022-07-29 一种任务调度方法、装置及Kubernetes调度器

Publications (1)

Publication Number Publication Date
WO2024021489A1 true WO2024021489A1 (zh) 2024-02-01

Family

ID=84296863

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/141812 WO2024021489A1 (zh) 2022-07-29 2022-12-26 一种任务调度方法、装置及Kubernetes调度器

Country Status (2)

Country Link
CN (1) CN115454589A (zh)
WO (1) WO2024021489A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117873691A (zh) * 2024-03-13 2024-04-12 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及可读存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115454589A (zh) * 2022-07-29 2022-12-09 天翼云科技有限公司 一种任务调度方法、装置及Kubernetes调度器
CN116109110B (zh) * 2023-04-11 2023-06-23 华能信息技术有限公司 一种业务中台的任务调度方法
CN116483549B (zh) * 2023-06-25 2023-09-19 清华大学 智能相机系统的任务调度方法、装置、相机及存储介质
CN116720712B (zh) * 2023-08-07 2023-12-29 泰能天然气有限公司 一种燃气应急调度数据管理系统
CN117112231B (zh) * 2023-09-22 2024-04-16 中国人民解放军91977部队 一种多模型协同处理方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590002A (zh) * 2017-09-15 2018-01-16 东软集团股份有限公司 任务分配方法、装置、存储介质、设备及分布式任务系统
CN111488206A (zh) * 2020-03-08 2020-08-04 苏州浪潮智能科技有限公司 一种深度学习任务调度方法、系统、终端及存储介质
CN112363827A (zh) * 2020-10-27 2021-02-12 中国石油大学(华东) 一种基于延迟因子的多资源指标Kubernetes调度方法
US20220006879A1 (en) * 2020-07-03 2022-01-06 Electronics And Telecommunications Research Institute Intelligent scheduling apparatus and method
CN114443241A (zh) * 2021-12-22 2022-05-06 天翼云科技有限公司 一种任务动态调度方法、任务下发方法及其装置
CN114489970A (zh) * 2021-12-29 2022-05-13 武汉达梦数据技术有限公司 Kubernetes中利用Coscheduling插件实现队列排序的方法及系统
CN115454589A (zh) * 2022-07-29 2022-12-09 天翼云科技有限公司 一种任务调度方法、装置及Kubernetes调度器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590002A (zh) * 2017-09-15 2018-01-16 东软集团股份有限公司 任务分配方法、装置、存储介质、设备及分布式任务系统
CN111488206A (zh) * 2020-03-08 2020-08-04 苏州浪潮智能科技有限公司 一种深度学习任务调度方法、系统、终端及存储介质
US20220006879A1 (en) * 2020-07-03 2022-01-06 Electronics And Telecommunications Research Institute Intelligent scheduling apparatus and method
CN112363827A (zh) * 2020-10-27 2021-02-12 中国石油大学(华东) 一种基于延迟因子的多资源指标Kubernetes调度方法
CN114443241A (zh) * 2021-12-22 2022-05-06 天翼云科技有限公司 一种任务动态调度方法、任务下发方法及其装置
CN114489970A (zh) * 2021-12-29 2022-05-13 武汉达梦数据技术有限公司 Kubernetes中利用Coscheduling插件实现队列排序的方法及系统
CN115454589A (zh) * 2022-07-29 2022-12-09 天翼云科技有限公司 一种任务调度方法、装置及Kubernetes调度器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117873691A (zh) * 2024-03-13 2024-04-12 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN115454589A (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
WO2024021489A1 (zh) 一种任务调度方法、装置及Kubernetes调度器
Mattess et al. Scaling mapreduce applications across hybrid clouds to meet soft deadlines
Pastorelli et al. HFSP: size-based scheduling for Hadoop
US10275287B2 (en) Concurrent distributed graph processing system with self-balance
CN111367630A (zh) 一种基于云计算的多用户多优先级的分布式协同处理方法
CN109783225B (zh) 一种多租户大数据平台的租户优先级管理方法及系统
WO2021180092A1 (zh) 任务调度方法和装置
CN109992418B (zh) Sla感知的多租户大数据平台资源优先级调度方法及系统
US10437645B2 (en) Scheduling of micro-service instances
CN106201681B (zh) Hadoop平台下基于预释放资源列表的任务调度方法
CN114579285B (zh) 一种任务运行系统、方法及计算设备
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN111026519A (zh) 基于分布式的任务优先级调度方法和系统及存储介质
CN106776395A (zh) 一种共享集群的任务调度方法及装置
CN114625500A (zh) 云环境下拓扑感知的微服务应用调度的方法及应用
CN110048966B (zh) 基于截止时间的最小化系统开销的Coflow调度方法
WO2020108337A1 (zh) 一种cpu资源调度方法及电子设备
CN116010064A (zh) Dag作业调度和集群管理的方法、系统及装置
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
WO2024022142A1 (zh) 资源使用方法和装置
CN115640113A (zh) 多平面弹性调度方法
KR20150089665A (ko) 워크플로우 작업 스케줄링 장치
Nzanywayingoma et al. Task scheduling and virtual resource optimising in Hadoop YARN-based cloud computing environment
Patil et al. Review on a comparative study of various task scheduling algorithm in cloud computing environment
Kaladevi et al. Processor co-allocation enabling advanced reservation of jobs in MultiCluster systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22952918

Country of ref document: EP

Kind code of ref document: A1