CN113886052A - Task scheduling method, device, equipment and storage medium - Google Patents

Task scheduling method, device, equipment and storage medium Download PDF

Info

Publication number
CN113886052A
CN113886052A CN202111246517.5A CN202111246517A CN113886052A CN 113886052 A CN113886052 A CN 113886052A CN 202111246517 A CN202111246517 A CN 202111246517A CN 113886052 A CN113886052 A CN 113886052A
Authority
CN
China
Prior art keywords
priority
task
executed
user
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111246517.5A
Other languages
Chinese (zh)
Inventor
吴革水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sensetime Technology Development Co Ltd
Original Assignee
Shanghai Sensetime Technology Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sensetime Technology Development Co Ltd filed Critical Shanghai Sensetime Technology Development Co Ltd
Priority to CN202111246517.5A priority Critical patent/CN113886052A/en
Publication of CN113886052A publication Critical patent/CN113886052A/en
Priority to PCT/CN2022/095524 priority patent/WO2023071172A1/en
Pending legal-status Critical Current

Links

Images

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
    • 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
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Abstract

The embodiment of the application discloses a task scheduling method, a task scheduling device and a task scheduling storage medium, wherein the method comprises the following steps: acquiring a task to be executed and submitting a user of the task to be executed; determining the priority of the user and the priority resource residual amount of the user; determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount; and scheduling the tasks to be executed in the target cluster based on the priority of the tasks to be executed. In the embodiment of the application, the priority of the user and the resource use condition of the user are comprehensively considered, so that the task scheduling is more flexible, the condition that the resource use is unreasonable due to the fact that the user abuses the high priority can be reduced, and the task execution requirement of the user can be met more reasonably.

Description

Task scheduling method, device, equipment and storage medium
Technical Field
The present application relates to, but not limited to, the field of computer technologies, and in particular, to a task scheduling method, apparatus, device, and storage medium.
Background
Multitasking is a common scenario in a cluster application, and in the scenario of multitasking, the running sequence of each task and the use of running resources need to be managed through task scheduling. However, the task scheduling scheme in the related art has poor flexibility in task scheduling, and cannot reasonably meet the task execution requirement of the user.
Disclosure of Invention
In view of this, embodiments of the present application provide a method, an apparatus, a device, and a storage medium for task scheduling.
The technical scheme of the embodiment of the application is realized as follows:
in one aspect, an embodiment of the present application provides a task scheduling method, where the method includes:
acquiring a task to be executed and submitting a user of the task to be executed;
determining the priority of the user and the priority resource residual amount of the user;
determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount;
and scheduling the tasks to be executed in the target cluster based on the priority of the tasks to be executed.
In some embodiments, the determining the priority of the task to be performed based on the priority of the user and the priority resource surplus includes:
determining the quantity of target resources required by executing the task to be executed;
and determining the priority of the user as the priority of the task to be executed under the condition that the number of the target resources does not exceed the surplus limit of the priority resources.
In some embodiments, the determining the priority of the task to be performed based on the priority of the user and the priority resource surplus includes:
and under the condition that the number of the target resources exceeds the surplus limit of the priority resources, determining the priority of the task to be executed as a set basic priority, wherein the basic priority is lower than the priority of each user.
In some embodiments, the scheduling, in the target cluster, the task to be executed based on the priority of the task to be executed includes:
acquiring the priority of each task which is currently running;
under the condition that at least one target task exists in each task currently running, determining the current target available resource total amount of the target cluster based on the resource total amount occupied by the at least one target task; the priority of the target task is lower than that of the task to be executed;
determining the quantity of target resources required by executing the task to be executed;
and under the condition that the quantity of the target resources does not exceed the total quantity of the target available resources, stopping running at least one target task to at least obtain the target resources with the quantity of the target resources, and running the task to be executed by utilizing the target resources.
In some embodiments, the stopping at least one of the target tasks to obtain at least the target resource of the target resource amount includes:
and sequentially stopping running at least one target task according to the sequence of the priorities of the tasks from low to high until the target resources with the target resource quantity are obtained.
In some embodiments, the scheduling the task to be executed in the target cluster based on the priority of the task to be executed further includes:
putting the task to be executed into a task queue waiting for scheduling under the condition that at least one of the following conditions is met:
the priority of each task which is currently running is not lower than the priority of the task to be executed;
the target amount of resources exceeds the target total amount of available resources;
and the priority of the task to be executed is a set basic priority.
In some embodiments, the determining the priority of the user and the priority resource surplus of the user includes:
determining the priority of the user and the priority resource quota of the user based on the set priority configuration information;
acquiring the current resource usage of the user;
and determining the priority resource residual amount of the user based on the priority resource quota and the current resource usage amount.
In some embodiments, the task to be executed is submitted to a target partition of the target cluster by the user, and the priority resource surplus limit of the user are the priority and the priority resource surplus limit of the user in the target partition respectively;
the scheduling the task to be executed in the target cluster based on the priority of the task to be executed comprises:
and scheduling the tasks to be executed in the target partitions of the target clusters based on the priorities of the tasks to be executed.
In another aspect, an embodiment of the present application provides a task scheduling apparatus, where the apparatus includes:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring a task to be executed and submitting a user of the task to be executed;
the first determining module is used for determining the priority of the user and the priority resource residual amount of the user;
the second determining module is used for determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount;
and the scheduling module is used for scheduling the tasks to be executed in the target cluster based on the priority of the tasks to be executed.
In another aspect, an embodiment of the present application provides a computer device, which includes a memory and a processor, where the memory stores a computer program that is executable on the processor, and the processor implements some or all of the steps of the above method when executing the program.
In yet another aspect, the present application provides a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements some or all of the steps of the above method.
In yet another aspect, the present application provides a computer program, which includes computer readable code, and when the computer readable code is executed in a computer device, a processor in the display device executes some or all of the steps for implementing the method.
In yet another aspect, the present application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and when the computer program is read and executed by a computer, the computer program implements some or all of the steps of the above method.
In the embodiment of the application, a task to be executed is obtained and a user submitting the task to be executed is obtained; determining the priority of the user and the priority resource residual amount of the user; determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount; and scheduling the task to be executed in the target cluster based on the priority of the task to be executed. Therefore, the priority of the task to be executed is determined based on the priority of the user submitting the task to be executed and the priority resource surplus, the priority of the user and the resource use condition of the user are comprehensively considered, the task scheduling can be more flexible, the condition that the resource use is unreasonable due to the fact that the user abuses high priority can be reduced, and the task execution requirement of the user can be met more reasonably.
Drawings
Fig. 1 is a schematic flowchart illustrating an implementation process of a task scheduling method according to an embodiment of the present application;
fig. 2 is a schematic flowchart illustrating an implementation process of a task scheduling method according to an embodiment of the present application;
fig. 3 is a schematic flowchart illustrating an implementation process of a task scheduling method according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a task scheduling device according to an embodiment of the present disclosure;
fig. 5 is a hardware entity diagram of a computer device according to an embodiment of the present disclosure.
Detailed Description
In order to make the purpose, technical solutions and advantages of the present application clearer, the technical solutions of the present application are further described in detail with reference to the drawings and the embodiments, the described embodiments should not be considered as limiting the present application, and all other embodiments obtained by a person of ordinary skill in the art without creative efforts belong to the protection scope of the present application. In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict.
In the following description, references to the terms "first/second/third" merely distinguish between similar items and do not denote a particular order, but rather denote a particular order, and it is to be understood that "first/second/third" may, where permissible, be interchanged with a particular order or sequence, such that embodiments of the application described herein may be practiced in other than that shown or described herein. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application.
In the related art, the task scheduling method sets priorities for users, and can support users with higher priorities to seize running resources of users with lower priorities, and if a user with higher priority abuses a plurality of tasks submitted by priorities, tasks submitted by other users with priorities lower than or equal to the priority of the user cannot run, so that the task scheduling flexibility is poor, and the task execution requirements of the users cannot be reasonably met.
The embodiment of the application provides a task scheduling method which can be executed by a processor of a computer device. The computer device refers to a device with data processing capability, such as a server, a notebook computer, a tablet computer, a desktop computer, a smart television, a set-top box, a mobile device (e.g., a mobile phone, a portable video player, a personal digital assistant, a dedicated messaging device, and a portable game device). Fig. 1 is a schematic flow chart of an implementation process of a task scheduling method provided in an embodiment of the present application, and as shown in fig. 1, the method includes the following steps S101 to S104:
step S101, acquiring a task to be executed and submitting a user of the task to be executed.
Here, the task to be performed may be any suitable task, including but not limited to one or more of an information processing task, an image processing task, an audio processing task, a big data computing task, and the like, which is not limited by the embodiment of the present application. The task to be executed may be actively acquired from an external system by a processor executing the task scheduling method, may be issued to the processor by the external system after being submitted to the external system by a user, or may be automatically generated by the processor based on preset task configuration information, which is not limited herein. For example, the external system may write the task to be executed into the message queue, and the processor may read the task to be executed from the message queue according to a specific message consumption policy; the processor can also provide a service interface for issuing the tasks, and the external system can issue the tasks to be executed to the scheduling service by calling the service interface.
The user submitting the task to be executed may be obtained by analyzing task information of the task to be executed, or may be obtained from a request for submitting the task to be processed in the process of obtaining the task to be executed, which is not limited herein.
In some implementations, the task to be performed can be a task that the user is currently submitting. In other embodiments, the task to be executed may be a task retrieved from a task queue waiting to be scheduled during each task scheduling.
Step S102, determining the priority of the user and the priority resource residual amount of the user.
Here, the priority of the user may be preconfigured, may be default, and may be dynamically determined according to information such as the type and number of tasks to be executed submitted by the user, which is not limited in this embodiment of the application.
The user's priority resource remaining quota refers to the currently remaining unused quota in the user's priority resource quota. A user's priority resource quota refers to the amount of run resources that are available for the user to schedule based on the user's priority. The execution resources may include, but are not limited to, one or more of Graphics Processing Unit (GPU) resources, Central Processing Unit (CPU) resources, storage resources, and the like, and are not limited thereto. In implementation, the priority resource quota of the user may be preconfigured, may be default, or may be dynamically determined according to information such as the type and number of the tasks to be executed submitted by the user, which is not limited in this embodiment of the application.
In some embodiments, suitable priorities and priority resource quotas can be configured for a plurality of users and/or user groups in advance, and based on corresponding configuration information, the priority, priority resource quotas of each user and/or user group and the currently remaining unused quota in the priority resource quotas of the users and/or user groups can be determined. In the case of the priority and the priority resource quota configured by taking the user group as a unit, the priority of the user may be the priority of the user group to which the user belongs, the priority resource quota of the user may be part or all of the priority resource quota of the user group to which the user belongs, and the priority resource surplus limit of the user may also be part or all of the priority resource surplus limit of the user group to which the user belongs, which is not limited herein.
Step S103, determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount.
Here, the priority of the task to be performed may be determined based on the priority of the user in a case where the priority resource remaining amount of the user is sufficient. For example, the priority of the user may be determined as the priority of the task to be executed when the priority resource remaining amount of the user is greater than or equal to the number of resources required for executing the task to be executed; and under the condition that the priority resource residual amount of the user is less than the quantity of resources required for executing the task to be executed, determining the priority of the task to be executed as a default lower priority or not setting the priority for the task to be executed. For another example, the priority of the user may be determined as the priority of the task to be executed when the priority resource remaining amount of the user is greater than or equal to the set number threshold; and under the condition that the priority resource residual amount of the user is smaller than the number threshold, determining the priority of the task to be executed as a default lower priority or not setting the priority for the task to be executed. For another example, in a case where the priority of the user is not set, it may be determined that the priority of the task to be executed is a default lower priority or the priority is not set for the task to be executed. In implementation, a person skilled in the art may determine the priority of the task to be executed based on the priority of the user and the remaining amount of the priority resource in a suitable manner according to an actual situation, which is not limited in the embodiment of the present application.
And step S104, scheduling the tasks to be executed in the target cluster based on the priority of the tasks to be executed.
Here, a scheduling order of the tasks to be executed may be determined based on the priorities of the tasks to be executed, and the tasks to be executed may be scheduled in the target cluster according to the scheduling order. In implementation, a person skilled in the art may schedule the tasks to be executed in the target cluster in a suitable manner according to the actual situation based on the priority of the tasks to be executed. For example, when there is a low-priority task with a priority lower than that of the task to be executed in the task currently running, resources occupied by the low-priority task may be preempted for the task to be executed, so as to run the task to be executed; when there is no low-priority task with a priority lower than that of the task to be executed in the currently running tasks, the task to be executed needs to be queued for scheduling.
In the embodiment of the application, a task to be executed is obtained and a user submitting the task to be executed is obtained; determining the priority of the user and the priority resource residual amount of the user; determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount; and scheduling the task to be executed in the target cluster based on the priority of the task to be executed. Therefore, the priority of the task to be executed is determined based on the priority of the user submitting the task to be executed and the priority resource surplus, the priority of the user and the resource use condition of the user are comprehensively considered, the task scheduling can be more flexible, the condition that the resource use is unreasonable due to the fact that the user abuses high priority can be reduced, and the task execution requirement of the user can be met more reasonably.
In some embodiments, the step S102 may include:
step S111, determining the priority of the user and the priority resource quota of the user based on the set priority configuration information;
here, the priority configuration information is information for describing relevant parameters such as the priority of the user and the priority resource quota. In implementation, the priority configuration information may be configured by the user in advance according to actual conditions, may be default, or may be dynamically set according to the type, number, and the like of the tasks submitted by the plurality of users in the history in the task scheduling process, which is not limited herein.
In some implementations, the priority configuration information can be a configuration file that includes priorities of multiple users and a priority resource quota. In implementation, the priority configuration information may be one or more of a JS Object Notation (JSON) file, an Extensible Markup Language (XML) file, and the like, which is not limited in this embodiment of the present application.
Step S112, acquiring the current resource usage of the user;
here, the current resource usage amount of the user is the number of the running resources currently used by the user, and the current resource usage amount of the user can be obtained by counting the number of resources occupied by the task submitted by the user in the currently running task.
Step S113, determining a priority resource remaining amount of the user based on the priority resource quota and the current resource usage amount.
Here, the priority resource remaining amount of the user may be determined by comparing the priority resource quota of the user with the current resource usage amount. For example, it may be determined that the priority resource remaining amount of the user is 0 when the priority resource quota is less than or equal to the current resource usage amount; the priority resource quota of the user may be determined to be a difference between the priority resource quota and the current resource usage amount when the priority resource quota is larger than the current resource usage amount.
In the above embodiment, the priority of the user and the priority resource quota of the user are determined based on the set priority configuration information, the current resource usage amount of the user is obtained, and the priority resource remaining amount of the user is determined based on the priority resource quota and the current resource usage amount. Therefore, the set priority of the user and the priority resource residual amount of the user can be simply and quickly acquired, and the task scheduling efficiency can be improved.
In some embodiments, the task to be executed is submitted to a target partition of the target cluster by the user, and the priority resource surplus limit of the user are the priority and the priority resource surplus limit of the user in the target partition respectively; the step S104 may include:
step S121, based on the priority of the task to be executed, scheduling the task to be executed in the target partition of the target cluster.
Here, the target cluster may include a plurality of partitions, and the user may designate a target partition for executing the task to be executed when submitting the task to be executed. In implementation, the priority of each partition of a target cluster and the priority resource quota of each partition may be set for each user, after a target partition of a task to be executed submitted by the user is determined, the priority of the user in the target partition and the priority resource quota of the user in the target partition may be determined, and then the priority resource surplus limit of the user in the target partition may be determined, and based on the priority of the user in the target partition and the priority resource surplus limit of the user in the target partition, the priority of the task to be executed may be determined, and based on the priority of the task to be executed, the task to be executed is scheduled in the target partition of the target cluster.
In the above embodiment, the priority and the priority resource quota may be set for the user in units of partitions, and the task may be scheduled in units of partitions. Therefore, the flexibility of task scheduling can be further improved, and the task execution requirements of users can be met more reasonably.
The embodiment of the application provides a task scheduling method which can be executed by a processor of a computer device. As shown in fig. 2, the method includes steps S201 to S205:
step S201, acquiring a task to be executed and submitting a user of the task to be executed.
Step S202, determining the priority of the user and the priority resource residual amount of the user.
Here, the steps S201 to S202 correspond to the steps S101 to S102, respectively, and specific embodiments of the steps S101 to S102 may be referred to when the steps S201 to S202 are performed.
Step S203, determining the number of target resources required for executing the task to be executed.
Here, the target resource quantity required for executing the task to be executed may be specified by the user when submitting the task to be executed, may be a default, and may also be obtained by analyzing information such as a task type and a task target of the task to be executed, which is not limited herein.
Step S204, under the condition that the number of the target resources does not exceed the surplus limit of the priority resources, determining the priority of the user as the priority of the task to be executed.
Step S205, based on the priority of the task to be executed, scheduling the task to be executed in the target cluster.
Here, the step S205 corresponds to the step S104, and the specific implementation of the step S104 can be referred to.
In some embodiments, the method further comprises:
step S211, under the condition that the target resource quantity exceeds the priority resource residual amount, determining the priority of the task to be executed as a set basic priority, wherein the basic priority is lower than the priority of each user.
Here, the base priority may be a task priority set by default. The base priority is lower than the priority of each user.
For example, it may be configured that the priority of the user 1 is P0, the priority of the user 1 is 4, the priority of the user 2 is P1, and the priority of the user 2 is 8, where the priority P0 is higher than P1, and the order of the tasks submitted by the users is: the user 1 submits the task 1 with the target resource quantity required by the task 1 being 2, the user 1 submits the task 2 with the target resource quantity required by the task 2 being 4, the user 2 submits the task 3 with the target resource quantity required by the task 3 being 4, the user 2 submits the task 4 with the target resource quantity required by the task 4 being 6, so that the priority resource residual amount of the user 1 when submitting the task 1 is 4, the target resource quantity of the task 1 does not exceed the priority resource residual amount, the priority of the task 1 can be determined as the priority P0 of the user 1, the priority resource residual amount of the user 1 is 2 at this time, the target resource quantity of the task 2 when submitting the task 2 exceeds the priority resource residual amount, the priority of the task 2 is determined as the basic priority P2, the basic priority is lower than P0 and P1, the priority resource residual amount of the user 2 when submitting the task 3 is 8, the target resource quantity of the task 3 does not exceed the priority resource residual amount, the priority of the task 3 can be determined as the priority P1 of the user 2, at this time, the priority resource residual amount of the user 2 is 4, the target resource quantity of the task 4 exceeds the priority resource residual amount when the task 4 is submitted, and the priority of the task 4 is determined as the basic priority P2, so that the priorities of the tasks 1, 2, 3 and 4 are respectively P0, P2, P1 and P2, wherein the priorities from P0 to P2 are sequentially reduced.
In the embodiment of the application, when the number of target resources required for executing the task to be executed exceeds the remaining limit of the priority resources of the user submitting the task to be executed, the priority of the task to be executed is determined to be a set basic priority, and the basic priority is lower than the priority of each user. Therefore, the priority of the task which is submitted by the user and exceeds the residual limit of the priority resource can be set as the basic priority, so that the condition that the resource is unreasonable to use due to abuse of the high priority by the user can be reduced, and the task execution requirement of the user can be met more reasonably.
The embodiment of the application provides a task scheduling method which can be executed by a processor of a computer device. As shown in fig. 3, the method includes steps S301 to S307 as follows:
step S301, acquiring a task to be executed and submitting a user of the task to be executed.
Step S302, determining the priority of the user and the priority resource residual amount of the user.
Step S303, determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount.
Here, the steps S301 to S303 correspond to the steps S101 to S103, respectively, and specific embodiments of the steps S101 to S103 may be referred to when the steps are performed.
In step S304, the priority of each task currently running is acquired.
Here, a person skilled in the art may obtain the priority of each task currently running in any suitable manner according to the actual situation, and the embodiment of the present application is not limited thereto. In some embodiments, each task currently running and the priority of each task may be recorded in the scheduling configuration information of the target cluster, and the priority of each task currently running may be obtained by querying the scheduling configuration information.
Step S305, determining a total amount of resources available for the target cluster based on a total amount of resources occupied by at least one target task when at least one target task exists in each task currently running; and the priority of the target task is lower than that of the task to be executed.
Here, the total amount of the current target available resources of the target cluster is the total amount of resources that can be currently provided to the task to be executed in a resource preemption or resource allocation manner, so as to execute the task to be executed. In some embodiments, the current resources of the target cluster are already occupied, and the current target available resource total amount of the target cluster is the total amount of resources occupied by the at least one target task. In some embodiments, the target cluster further has idle resources, and the total amount of the target available resources of the target cluster is the sum of the total amount of the resources occupied by the at least one target task and the amount of the idle resources currently available to the target cluster.
Step S306, determining the target resource quantity required for executing the task to be executed.
Step S307, under the condition that the number of the target resources does not exceed the total number of the target available resources, stopping running at least one target task to at least obtain the target resources with the number of the target resources, and running the task to be executed by using the target resources.
Here, the target task may be stopped by ending the process of running the target task, or a running end instruction may be sent to the running target task so that the target task stops running based on the running end instruction. In implementation, a person skilled in the art may stop running to indicate a target task in an appropriate manner according to actual situations, which is not limited in the embodiment of the present application.
In some embodiments, the stopped target task may be placed again in the task queue waiting to be scheduled.
In the embodiment of the application, when at least one target task with a priority lower than that of a task to be executed exists in each task currently running, the current target available resource total amount of a target cluster is determined based on the resource total amount occupied by the at least one target task, and when the target resource amount required by the task to be executed does not exceed the target available resource total amount, the running of the at least one target task is stopped, so that at least the target resource with the target resource amount is obtained, and the task to be executed is executed by using the obtained target resource. Therefore, the task with higher priority can be supported to preempt the resources occupied by the task with lower priority, so that the task with higher priority can be preferentially executed.
In some embodiments, the stopping of the running of at least one of the target tasks in step S307 to release at least the target resource of the target resource quantity includes:
and step S311, sequentially stopping running at least one target task according to the sequence of the priorities of the tasks from low to high until the target resources with the target resource quantity are obtained.
In implementation, when a plurality of target tasks are in the same priority, the stopping order of the plurality of target tasks may be determined according to the submission times of the plurality of target tasks, for example, the target task with the submission time later may be stopped first; the stopping order of the plurality of target tasks may be determined according to the task types of the plurality of target tasks, for example, the off-line computing task may be stopped first, and then the real-time computing task may be stopped.
In the above embodiment, at least one target task is stopped to run in sequence according to the priority of the task from low to high until the target resource of the target resource number is obtained. Therefore, the stable operation of the task with higher priority can be further preferentially ensured, and the task execution requirement of the user can be more reasonably met.
In some embodiments, the method further comprises:
step S321, putting the task to be executed into a task queue waiting for scheduling when at least one of the following conditions is satisfied: the priority of each task which is currently running is not lower than the priority of the task to be executed; the target amount of resources exceeds the target total amount of available resources; and the priority of the task to be executed is a set basic priority.
Here, the task in the task queue waiting for scheduling continues to wait for the next task scheduling to wait for allocating enough resources for executing the task and execute the task using the allocated resources. In this way, each task submitted by the user can be scheduled for execution.
The following describes an application of the task scheduling method provided in the embodiment of the present application in an actual scenario, and the method may be applied to any suitable task scheduling service, such as a task scheduling service implemented based on a Simple Linux Utility for Resource Management (SLURM), a task scheduling service implemented based on a Load Sharing Facility (LSF), and a task scheduling service implemented based on an Oracle Grid Engine (OGE). A scene in which a resource for executing a task in a target cluster is a GPU resource is taken as an example for explanation.
The embodiment of the present application provides a task scheduling method, which may be executed by a task scheduling service, and the method includes steps S401 to S402 as follows:
step S401, when the task scheduling service is started, priority configuration information is obtained;
here, the priority configuration information includes a priority and a GPU quota of each user in each partition, and the priority configuration information may be a JSON file.
Step S402, in the process of running the task scheduling service, when the user submits the task to be executed to the target partition of the target cluster, the following steps S421 to S423 are executed:
step S421, under the condition that the number of the GPU cards submitted by the user for executing the task to be executed is less than or equal to the number of the GPU cards which are currently idle in the target partition, scheduling the GPU cards which are currently idle to execute the task to be executed;
step S422, when the number of GPU cards required by the user to execute the task to be executed is larger than the number of GPU cards currently idle in the target partition, and the number of the GPU cards required by the user to execute the task to be executed is smaller than or equal to the surplus limit of the GPU quota of the user, determining that the priority of the task to be executed is the same as the configured priority of the user, traversing the running tasks according to the sequence of the priorities from low to high of the tasks, and scheduling the task to be executed according to the priority of each task;
here, during scheduling, a task with a higher priority may preempt resources of a task with a lower priority, and a task with the same priority first guarantees running resources of a task submitted first.
In some embodiments, the process of task scheduling may include:
step S431, under the condition that the priority of each task currently running is higher than or equal to the priority of the task to be executed, putting the task to be executed into a task queue to be scheduled, and continuing to queue;
step S432, when at least one target task with the priority smaller than that of the task to be executed exists in each task currently running, and the total number of GPU cards occupied by the at least one target task and the GPU cards currently idle in the target partition is smaller than the number of GPU cards needed for executing the task to be executed, the task to be executed is put into a task queue to be scheduled and is queued continuously;
step S433, in the case that there is at least one target task with a priority smaller than that of the task to be executed in the current running of each task, and the total number of the GPU cards occupied by the at least one target task and the GPU cards currently idle in the target partition is not smaller than the number of the GPU cards required for executing the task to be executed, stopping running the at least one target task to obtain at least one GPU card required for executing the task to be executed, and executing the task to be executed by using the at least one GPU card.
Step S423, when the number of GPU cards required for executing the task to be executed submitted by the user is greater than the number of GPU cards currently idle in the target partition, and the number of GPU cards for executing the task to be executed submitted by the user is greater than the remaining amount of the GPU quota of the user, determining the priority of the task to be executed as the basic priority, and placing the task to be executed into a task queue to be scheduled to continue queuing.
For example, in a case that task 1 and task 2 submitted by user 1 are running in a target partition of a target cluster, and GPU resources in the target partition are fully occupied, the task scheduling service receives task 3 submitted by user 2, where the priority of user 1 is P0 and the GPU quota is 4, the number of GPU cards occupied by executing task 1 is 4 and the priority of task 1 is P0, the number of GPU cards occupied by executing task 2 is 4 and the priority of task 2 is a base priority, the priority of user 2 is P1 and the GPU quota is 8, the priority of P1 is lower than P0 and higher than the base priority, in which case, the scheduling process for task 3 may be as follows: under the condition that the number of GPU cards required for executing the task 3 is larger than the GPU quota of the user 2, the priority of the task 3 is a basic priority, the resources of the task 1 and the task 2 cannot be preempted, and the task 3 is put into a task queue to be scheduled and continues to queue; under the condition that the number of GPU cards required for executing the task 3 is smaller than or equal to the GPU quota of the user 2, the priority of the task 3 is P1, the resource of the task 2 can be preempted, and the number of the GPU cards required for executing the task 3 is compared with the number of the GPU cards occupied for executing the task 2; under the condition that the number of GPU cards required for executing the task 3 is less than or equal to the number of GPU cards occupied by the task 2, stopping running the task 2 to obtain GPU cards required for running the task 3, and running the task 3; when the number of GPU cards required to execute task 3 is greater than the number of GPU cards occupied by task 2, the GPU cards required to run task 3 cannot be obtained even if task 2 stops running, and therefore task 3 is put into a task queue waiting for scheduling and continues to queue.
In the embodiment of the application, by configuring the priority and the GPU quota of each user in each partition, the requirements of users with the same or lower priorities for executing tasks can be met while the task of a user with a higher priority is preferentially executed in the task scheduling process, so that resources in a cluster are reasonably used.
Fig. 4 is a schematic structural diagram of a task scheduling device according to an embodiment of the present application, and as shown in fig. 4, the task scheduling device 500 includes: an obtaining module 510, a first determining module 520, a second determining module 530, and a scheduling module 540, wherein:
an obtaining module 510, configured to obtain a task to be executed and a user who submits the task to be executed;
a first determining module 520, configured to determine a priority of the user and a priority resource remaining amount of the user;
a second determining module 530, configured to determine the priority of the task to be executed based on the priority of the user and the remaining amount of the priority resource;
and the scheduling module 540 is configured to schedule the task to be executed in the target cluster based on the priority of the task to be executed.
In some embodiments, the second determination module is further configured to: determining the quantity of target resources required by executing the task to be executed; and determining the priority of the user as the priority of the task to be executed under the condition that the number of the target resources does not exceed the surplus limit of the priority resources.
In some embodiments, the second determination module is further configured to: and under the condition that the number of the target resources exceeds the surplus limit of the priority resources, determining the priority of the task to be executed as a set basic priority, wherein the basic priority is lower than the priority of each user.
In some embodiments, the scheduling module is further configured to: acquiring the priority of each task which is currently running; under the condition that at least one target task exists in each task currently running, determining the current target available resource total amount of the target cluster based on the resource total amount occupied by the at least one target task; the priority of the target task is lower than that of the task to be executed; determining the quantity of target resources required by executing the task to be executed; and under the condition that the quantity of the target resources does not exceed the total quantity of the target available resources, stopping running at least one target task to at least obtain the target resources with the quantity of the target resources, and running the task to be executed by utilizing the target resources.
In some embodiments, the scheduling module is further configured to: and sequentially stopping running at least one target task according to the sequence of the priorities of the tasks from low to high until the target resources with the target resource quantity are obtained.
In some embodiments, the scheduling module is further configured to: putting the task to be executed into a task queue waiting for scheduling under the condition that at least one of the following conditions is met: the priority of each task which is currently running is not lower than the priority of the task to be executed; the target amount of resources exceeds the target total amount of available resources; and the priority of the task to be executed is a set basic priority.
In some embodiments, the first determining module is further configured to: determining the priority of the user and the priority resource quota of the user based on the set priority configuration information; acquiring the current resource usage of the user; and determining the priority resource residual amount of the user based on the priority resource quota and the current resource usage amount.
In some embodiments, the task to be executed is submitted to a target partition of the target cluster by the user, and the priority resource surplus limit of the user are the priority and the priority resource surplus limit of the user in the target partition respectively; the scheduling module is further configured to: and scheduling the tasks to be executed in the target partitions of the target clusters based on the priorities of the tasks to be executed.
The above description of the apparatus embodiments, similar to the above description of the method embodiments, has similar beneficial effects as the method embodiments. For technical details not disclosed in the embodiments of the apparatus of the present application, reference is made to the description of the embodiments of the method of the present application for understanding.
It should be noted that, in the embodiment of the present application, if the task scheduling method is implemented in the form of a software functional module and is sold or used as a standalone product, the task scheduling method may also be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or a part contributing to the related art may be embodied in the form of a software product stored in a storage medium, and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read Only Memory (ROM), a magnetic disk, or an optical disk. Thus, embodiments of the present application are not limited to any specific combination of hardware and software.
Correspondingly, the embodiment of the present application provides a computer device, which includes a memory and a processor, where the memory stores a computer program that can be run on the processor, and the processor implements the steps in the above method when executing the program.
Correspondingly, the embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, and the computer program realizes the steps of the above method when being executed by a processor. The computer readable storage medium may be transitory or non-transitory.
Accordingly, embodiments of the present application provide a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and when the computer program is read and executed by a computer, the computer program implements some or all of the steps of the above method. The computer program product may be embodied in hardware, software or a combination thereof. In an alternative embodiment, the computer program product is embodied in a computer storage medium, and in another alternative embodiment, the computer program product is embodied in a Software product, such as a Software Development Kit (SDK), or the like.
Here, it should be noted that: the above description of the storage medium, the computer program product and the device embodiments is similar to the description of the method embodiments described above, with similar advantageous effects as the method embodiments. For technical details not disclosed in the embodiments of the storage medium, the computer program product and the device of the present application, reference is made to the description of the embodiments of the method of the present application for understanding.
It should be noted that fig. 5 is a schematic hardware entity diagram of a computer device in an embodiment of the present application, and as shown in fig. 5, the hardware entity of the computer device 600 includes: a processor 601, a communication interface 602, and a memory 603, wherein:
the processor 601 generally controls the overall operation of the computer device 600.
The communication interface 602 may enable the computer device to communicate with other terminals or servers via a network.
The Memory 603 is configured to store instructions and applications executable by the processor 601, and may also buffer data (e.g., image data, audio data, voice communication data, and video communication data) to be processed or already processed by the processor 601 and modules in the computer apparatus 600, and may be implemented by a FLASH Memory (FLASH) or a Random Access Memory (RAM). Data may be transferred between the processor 601, the communication interface 602, and the memory 603 via the bus 604.
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application. The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above-described device embodiments are merely illustrative, for example, the division of the unit is only a logical functional division, and there may be other division ways in actual implementation, such as: multiple units or components may be combined, or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the coupling, direct coupling or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or units may be electrical, mechanical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units; can be located in one place or distributed on a plurality of network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be separately regarded as one unit, or two or more units may be integrated into one unit; the integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
Those of ordinary skill in the art will understand that: all or part of the steps for realizing the method embodiments can be completed by hardware related to program instructions, the program can be stored in a computer readable storage medium, and the program executes the steps comprising the method embodiments when executed; and the aforementioned storage medium includes: various media that can store program codes, such as a removable Memory device, a Read Only Memory (ROM), a magnetic disk, or an optical disk.
Alternatively, the integrated units described above in the present application may be stored in a computer-readable storage medium if they are implemented in the form of software functional modules and sold or used as independent products. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a removable storage device, a ROM, a magnetic or optical disk, or other various media that can store program code.
The above description is only for the embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application.

Claims (11)

1. A method for task scheduling, the method comprising:
acquiring a task to be executed and submitting a user of the task to be executed;
determining the priority of the user and the priority resource residual amount of the user;
determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount;
and scheduling the tasks to be executed in the target cluster based on the priority of the tasks to be executed.
2. The method of claim 1, wherein the determining the priority of the task to be performed based on the priority of the user and the priority resource residual amount comprises:
determining the quantity of target resources required by executing the task to be executed;
and determining the priority of the user as the priority of the task to be executed under the condition that the number of the target resources does not exceed the surplus limit of the priority resources.
3. The method of claim 2, wherein determining the priority of the task to be performed based on the priority of the user and the priority resource remaining amount further comprises:
and under the condition that the number of the target resources exceeds the surplus limit of the priority resources, determining the priority of the task to be executed as a set basic priority, wherein the basic priority is lower than the priority of each user.
4. The method according to any one of claims 1 to 3, wherein the scheduling the task to be executed in the target cluster based on the priority of the task to be executed comprises:
acquiring the priority of each task which is currently running;
under the condition that at least one target task exists in each task currently running, determining the current target available resource total amount of the target cluster based on the resource total amount occupied by the at least one target task; the priority of the target task is lower than that of the task to be executed;
determining the quantity of target resources required by executing the task to be executed;
and under the condition that the quantity of the target resources does not exceed the total quantity of the target available resources, stopping running at least one target task to at least obtain the target resources with the quantity of the target resources, and running the task to be executed by utilizing the target resources.
5. The method of claim 4, wherein stopping running at least one of the target tasks to obtain at least the target resource of the target resource amount comprises:
and sequentially stopping running at least one target task according to the sequence of the priorities of the tasks from low to high until the target resources with the target resource quantity are obtained.
6. The method according to claim 4 or 5, wherein the scheduling the task to be executed in the target cluster based on the priority of the task to be executed further comprises:
putting the task to be executed into a task queue waiting for scheduling under the condition that at least one of the following conditions is met:
the priority of each task which is currently running is not lower than the priority of the task to be executed;
the target amount of resources exceeds the target total amount of available resources;
and the priority of the task to be executed is a set basic priority.
7. The method of any one of claims 1 to 6, wherein the determining the priority of the user and the priority resource remaining amount of the user comprises:
determining the priority of the user and the priority resource quota of the user based on the set priority configuration information;
acquiring the current resource usage of the user;
and determining the priority resource residual amount of the user based on the priority resource quota and the current resource usage amount.
8. The method according to any one of claims 1 to 7, wherein the task to be executed is submitted to a target partition of the target cluster by the user, and the priority and priority resource residual amount of the user are the priority and priority resource residual amount of the user in the target partition, respectively;
the scheduling the task to be executed in the target cluster based on the priority of the task to be executed comprises:
and scheduling the tasks to be executed in the target partitions of the target clusters based on the priorities of the tasks to be executed.
9. A task scheduling apparatus, comprising:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring a task to be executed and submitting a user of the task to be executed;
the first determining module is used for determining the priority of the user and the priority resource residual amount of the user;
the second determining module is used for determining the priority of the task to be executed based on the priority of the user and the priority resource residual amount;
and the scheduling module is used for scheduling the tasks to be executed in the target cluster based on the priority of the tasks to be executed.
10. A computer device comprising a memory and a processor, the memory storing a computer program operable on the processor, wherein the processor implements the steps of the method of any one of claims 1 to 8 when executing the program.
11. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 8.
CN202111246517.5A 2021-10-26 2021-10-26 Task scheduling method, device, equipment and storage medium Pending CN113886052A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111246517.5A CN113886052A (en) 2021-10-26 2021-10-26 Task scheduling method, device, equipment and storage medium
PCT/CN2022/095524 WO2023071172A1 (en) 2021-10-26 2022-05-27 Task scheduling method and apparatus, device, storage medium, computer program and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111246517.5A CN113886052A (en) 2021-10-26 2021-10-26 Task scheduling method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113886052A true CN113886052A (en) 2022-01-04

Family

ID=79014282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111246517.5A Pending CN113886052A (en) 2021-10-26 2021-10-26 Task scheduling method, device, equipment and storage medium

Country Status (2)

Country Link
CN (1) CN113886052A (en)
WO (1) WO2023071172A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086438A (en) * 2022-08-19 2022-09-20 南京芯驰半导体科技有限公司 Task processing method, video processing unit, component and traffic equipment
CN115658572A (en) * 2022-12-12 2023-01-31 北京象帝先计算技术有限公司 Task processing method and device, electronic equipment and computer readable storage medium
CN115981817A (en) * 2022-12-30 2023-04-18 深圳计算科学研究院 Task resource scheduling method and system for HTAP (hypertext transport protocol Access Point)
WO2023071172A1 (en) * 2021-10-26 2023-05-04 上海商汤智能科技有限公司 Task scheduling method and apparatus, device, storage medium, computer program and computer program product
WO2024001159A1 (en) * 2022-06-27 2024-01-04 中兴通讯股份有限公司 Resource scheduling method and apparatus, and electronic device and storage medium
WO2024032781A1 (en) * 2022-08-12 2024-02-15 虹软科技股份有限公司 Algorithm testing method and apparatus, and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541152A (en) * 2023-07-05 2023-08-04 杭州金智塔科技有限公司 Task processing method and system based on multiparty joint calculation
CN116643893B (en) * 2023-07-27 2023-10-20 合肥中科类脑智能技术有限公司 Method and device for scheduling computing task, storage medium and server
CN117196543B (en) * 2023-11-07 2024-01-30 北京龙德缘电力科技发展有限公司 Multi-purpose ammeter recharging management method and system based on fund pool

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014071868A (en) * 2012-10-02 2014-04-21 Fujitsu Semiconductor Ltd Optimization information acquisition program, optimization information acquisition device, and optimization information acquisition method
CN107145395B (en) * 2017-07-04 2020-12-08 北京百度网讯科技有限公司 Method and device for processing task
CN107291545B (en) * 2017-08-07 2019-12-10 星环信息科技(上海)有限公司 Task scheduling method and device for multiple users in computing cluster
CN108769254B (en) * 2018-06-25 2019-09-20 星环信息科技(上海)有限公司 Resource-sharing application method, system and equipment based on preemption scheduling
CN111078398A (en) * 2019-11-29 2020-04-28 苏州浪潮智能科技有限公司 GPU (graphics processing Unit) distribution method, equipment and storage medium
CN113377541A (en) * 2021-06-22 2021-09-10 云知声智能科技股份有限公司 Cluster resource allocation and recovery method and device, electronic equipment and storage medium
CN113886052A (en) * 2021-10-26 2022-01-04 上海商汤科技开发有限公司 Task scheduling method, device, equipment and storage medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023071172A1 (en) * 2021-10-26 2023-05-04 上海商汤智能科技有限公司 Task scheduling method and apparatus, device, storage medium, computer program and computer program product
WO2024001159A1 (en) * 2022-06-27 2024-01-04 中兴通讯股份有限公司 Resource scheduling method and apparatus, and electronic device and storage medium
WO2024032781A1 (en) * 2022-08-12 2024-02-15 虹软科技股份有限公司 Algorithm testing method and apparatus, and storage medium
CN115086438A (en) * 2022-08-19 2022-09-20 南京芯驰半导体科技有限公司 Task processing method, video processing unit, component and traffic equipment
CN115658572A (en) * 2022-12-12 2023-01-31 北京象帝先计算技术有限公司 Task processing method and device, electronic equipment and computer readable storage medium
CN115981817A (en) * 2022-12-30 2023-04-18 深圳计算科学研究院 Task resource scheduling method and system for HTAP (hypertext transport protocol Access Point)
CN115981817B (en) * 2022-12-30 2023-09-05 深圳计算科学研究院 Task resource scheduling method and system for HTAP

Also Published As

Publication number Publication date
WO2023071172A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
CN113886052A (en) Task scheduling method, device, equipment and storage medium
WO2018120991A1 (en) Resource scheduling method and device
CN112380020A (en) Computing power resource allocation method, device, equipment and storage medium
US20150121388A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US9304814B2 (en) Determine variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time
CN107515781B (en) Deterministic task scheduling and load balancing system based on multiple processors
CN112783659B (en) Resource allocation method and device, computer equipment and storage medium
CN112825042A (en) Resource management method and device, electronic equipment and storage medium
CN112988390A (en) Calculation power resource allocation method and device
CN111064746A (en) Resource allocation method, device, equipment and storage medium
CN111488206A (en) Deep learning task scheduling method, system, terminal and storage medium
WO2015052501A1 (en) Scheduling function calls
CN115543615A (en) Resource allocation method and device, electronic equipment and storage medium
CN114637536A (en) Task processing method, computing coprocessor, chip and computer equipment
JP5790758B2 (en) Scheduling method and scheduling system
CN111597044A (en) Task scheduling method and device, storage medium and electronic equipment
CN112925616A (en) Task allocation method and device, storage medium and electronic equipment
CN114721818A (en) Kubernetes cluster-based GPU time-sharing method and system
CN112817722A (en) Time-sharing scheduling method based on priority, terminal and storage medium
CN116233022A (en) Job scheduling method, server and server cluster
CN111813541B (en) Task scheduling method, device, medium and equipment
CN115509704A (en) Task scheduling method, device, equipment and storage medium
CN112073498B (en) Resource allocation method and device
CN114489978A (en) Resource scheduling method, device, equipment and storage medium
CN113806049A (en) Task queuing method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40062734

Country of ref document: HK