WO2021136068A1 - Resource dispatching method and apparatus, electronic device, and computer readable medium - Google Patents
Resource dispatching method and apparatus, electronic device, and computer readable medium Download PDFInfo
- Publication number
- WO2021136068A1 WO2021136068A1 PCT/CN2020/139085 CN2020139085W WO2021136068A1 WO 2021136068 A1 WO2021136068 A1 WO 2021136068A1 CN 2020139085 W CN2020139085 W CN 2020139085W WO 2021136068 A1 WO2021136068 A1 WO 2021136068A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task set
- new
- level
- task
- current
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Definitions
- the embodiments of the present disclosure relate to the field of deep learning technology, and in particular, to a resource scheduling method, device, electronic device, and computer-readable medium.
- the deep learning model is often deployed on a server based on cloud computing resources, so that the client can use the model according to its own push-off task.
- the server usually serves the inference task requests of different clients at the same time, and the inference task requests of these clients often use different models or different versions of the model.
- the server must not only meet the client's requirements for latency, but also consider its own performance (such as throughput) and resource utilization efficiency.
- the server Due to the strong computing power of the server, the time it takes to complete one inference task request and multiple inference task requests is not much different.
- the server usually combines multiple small reasoning task requests (with less resource occupancy) into a large task set. For example, when a reasoning task request contains a small amount of data, the reasoning Task requests are placed in the waiting queue, waiting for subsequent inference task requests to be merged into a task set with a large amount of data, and then calculations are performed. This scheduling method undoubtedly increases the delay of the client.
- the server when the server has available computing resources (such as idle threads, CPUs, GPUs, etc.), since it needs to form a task set with sufficient data volume before computing starts, the server is "forced" to be in an idle state, resulting in a waste of server resources .
- the server when the server starts computing, it also takes a certain amount of time to copy the task set from the cache to the computing resources.
- the embodiments of the present disclosure provide a resource scheduling method, device, electronic device, and computer readable medium to solve the problems of long time delay and poor resource usage efficiency due to the defects of the server scheduling method in the prior art.
- embodiments of the present disclosure provide a resource scheduling method, which includes: responding to a new task request to determine whether the executors are all in a working state; if so, adding the new task to the first-level cache queue to wait; if not, then The new task is added to the second-level cache queue to wait or be executed by the executor.
- embodiments of the present disclosure provide an electronic device, which includes: one or more processors; a storage device, on which one or more programs are stored, when the one or more programs are used by the one or more Execution by multiple processors, so that the one or more processors implement the resource scheduling method provided in the embodiments of the present disclosure.
- an embodiment of the present disclosure provides a computer-readable medium on which a computer program is stored, and when the program is executed by a processor, the resource scheduling method provided by the embodiment of the present disclosure is implemented.
- FIG. 1 is a schematic block diagram of a server provided by an embodiment of the disclosure
- FIG. 2 is a flowchart of another resource scheduling method provided by an embodiment of the disclosure.
- FIG. 3 is a flowchart of another resource scheduling method provided by an embodiment of the disclosure.
- FIG. 4 is a flowchart after the executor completes the task in the resource scheduling method of the embodiment of the disclosure
- Fig. 5 is an exemplary block diagram of a resource scheduling device provided by an embodiment of the disclosure.
- the resource scheduling method provided by the embodiments of the present disclosure is mainly for the deep learning training module to be deployed on a cloud resource-based server after the deep learning training module completes the training, so as to be called by the client.
- the resource utilization rate of the server is improved.
- the server provided by the embodiment of the present disclosure adopts a multi-level caching mechanism, and according to the usage of the executor in the server, the tasks of the client are cached in different cache queues, so that the server can complete the tasks in time.
- FIG. 1 is a schematic block diagram of a server provided by an embodiment of the disclosure.
- the server includes a cache module 100 and an execution module 200.
- the cache module 100 includes at least one first-level task set 101 for storing new tasks in the first-level cache queue.
- Each first-level task set 101 can at least Store a task.
- the execution module 200 includes at least one executor 201, and the executor 201 is used to store new tasks in the second-level cache queue and execute tasks, and each second-level task set 201 can store at least one task.
- Performing tasks can be a process of calculating the characteristics of the graph based on the model.
- FIG. 2 is a flowchart of the resource scheduling method of an embodiment of the disclosure.
- the resource scheduling method provided by the embodiment of the present disclosure includes:
- the actuator usually has three states, namely, idle state, waiting state and working state. When the actuator is in working condition, it cannot take over the task. When the actuator is in the idle state and waiting state, it can take over tasks. Tasks include but are not limited to reasoning tasks.
- the new task is added to the second-level cache queue to wait or be executed by the executor.
- New tasks added to the second-level cache queue may be executed immediately, or they may need to wait in the second-level cache queue and be executed when the conditions are met.
- the executors in the waiting state when it is determined that at least one executor is in a non-working state, it can be further judged whether there is an actuator in a waiting state, and if not, it is judged whether there is an actuator in an idle state.
- priority is given to the executors in the waiting state, and then the executors in the idle state are allocated tasks.
- the task is added to the first-level cache queue to wait.
- the new task when a new task request is received, if there are available resources, the new task will enter the second-level cache queue, and start calculation immediately when the conditions are met, without additional waiting and copying time If there are no available resources, the new task will enter the first-level cache queue.
- the new task When the executor is free, the new task will be scheduled as soon as possible, which not only reduces the delay and improves the user experience, but also takes into account the throughput of the server. Increase the efficiency of the server.
- FIG. 3 is a flowchart of a resource scheduling method provided by an embodiment of the disclosure.
- the resource scheduling method provided by the embodiment of the present disclosure includes:
- the server When the server receives the task request from the client, it determines whether there is an executor in the waiting state in the server. If the server has an executor in the waiting state, it means that the server has available resources, then step 302 is executed; if the server does not have an executor in the waiting state, then go to step 304.
- the secondary task set corresponding to the executor in the waiting state usually already has tasks, and the data amount of the existing tasks in the current secondary task set and the data amount of the new task are added to obtain the total number of the current secondary task set.
- the maximum data volume of the second-level task set is preset and can be set according to actual needs, or can be set according to the storage capacity of the second-level task set.
- the second-level task set includes an open state and a closed state.
- a new task can be added to the cache queue of the second-level task set.
- the secondary task set is in the closed state, no new tasks can be added, and when the secondary task set is in the closed state, the executor will execute the tasks in the secondary task set.
- the current secondary task set is closed, and the executor enters the working state.
- the current second-level task set is closed, that is, the status of the current second-level task set is changed to the closed state, and the executor corresponding to the current second-level task set enters work Status, start to calculate the tasks in the current secondary task set. It should be noted that because the total data volume is greater than the preset maximum data volume of the second-level task set, the new task cannot be arranged in the cache queue of the second-level task set, and therefore, the new task is not executed by the executor that enters the working state.
- the new task is added to the current second-level task set, and then go to step 307.
- step 307 is performed.
- step 307 whether it is the current secondary task set or the new secondary task set, it is determined whether the data amount of the secondary task set is equal to the maximum secondary task set data amount.
- step 303 When the data amount of the secondary task set is equal to the maximum data amount of the secondary task set, go to step 303. When the data amount of the secondary task set is less than the maximum data amount of the secondary task set, step 308 is executed.
- the executor corresponding to the new second-level task set enters the waiting state. For the current secondary task set, since it is already in the waiting state, there is no step to modify the state.
- step 310 is executed; when there is no current level one task set in an open state in the first level cache queue, step 314 is executed.
- the total data volume of the first-level cache is obtained based on the current data volume of the current first-level task set and the data volume of the new task, that is, the current data volume of the current first-level task set and the data volume of the new task are added to obtain the first-level cache The total amount of data.
- step 311 If the total data amount is equal to or less than the preset maximum level one task set data amount, go to step 311; if the total data amount is greater than the preset maximum level one task set data amount, go to step 313.
- the total data volume is equal to or less than the preset maximum data volume of the first-level task set, it indicates that the first-level task set still has space for storing new tasks, and the new task is entered into the current first-level task set.
- the current first-level task set is closed, that is, the status of the current first-level task set is changed to the closed state.
- the first level cache queue no longer receives new tasks. If not, keep the open state of the current first-level task set to receive new tasks and join the first-level cache queue to wait.
- step 314 is executed. Closing the current first-level task set, that is, modifying the state of the current first-level task set to a closed state, and the first-level cache queue of the current first-level task set no longer receives new tasks.
- step 315 is executed.
- the first-level cache queue is not full, it means that the server still has available resources, create a new first-level task set, and set the newly created first-level task set to an open state. Since other task sets in the server have been closed, the newly created first-level task is integrated into the current first-level task set.
- the secondary task set is closed when the total data volume meets the condition, so that the executor executes the tasks in the secondary task set.
- the secondary task set may also be closed based on the waiting time of the executor. Specifically, when the time that the actuator is in the waiting state reaches a preset waiting time period, the secondary task set corresponding to the actuator is closed and enters the working state.
- the executor when the executor is in the waiting state for the preset waiting time, regardless of whether the data volume of the second-level task set reaches the maximum data volume of the second-level task set, it is adjusted to the closed state and the corresponding execution The inverter enters the working state, so as to avoid excessive delay.
- the executor after the executor completes the tasks in the secondary task set, it can also obtain a new task set from the cache device.
- FIG. 4 is a flowchart after the executor completes the task in the resource scheduling method of the embodiment of the disclosure. As shown in Figure 4, after the executor completes the tasks in the secondary task set, it also includes:
- the first level cache queue is a task queue cached when the execution module is in a busy state. When the first level cache queue is empty, it means that the server has not received a new task. If the first-level cache queue is empty, step 402 is executed; if the first-level cache queue is not empty, step 403 is executed.
- the actuator enters an idle state.
- the server extracts the first-level task set from the first-level cache queue.
- the extracted first-level task set preferentially selects the first-level task set formed in the cache module to avoid increasing the delay.
- the executor enters the working state to execute the task set.
- the executor After the executor extracts the first-level task set, it immediately turns to the working state and completes the task.
- Fig. 5 is an exemplary block diagram of a resource scheduling device provided by an embodiment of the disclosure.
- the resource scheduling device includes: a cache module 500 and an execution module 600, wherein the cache module 500 is used to store new tasks of the first-level cache queue; the execution module 600 is used to store the information of the second-level cache queue New task and execution of said new task.
- the cache module 500 includes at least one first-level task set 501, and the first-level task set 501 is used to store new tasks in the first-level cache queue when the executors are all in a working state;
- the execution module 600 includes at least one executor 601, and each executor 601 includes a pair of a secondary task set 611 and an execution model 612.
- the secondary task set 611 is used when the executor is in an idle state or a waiting state. When the time, the new task of the second-level cache queue is stored; the executor 612 is used to execute the task.
- the server when the server receives a new task request, it determines whether the executors in the execution device are all in a working state, and if not, the new task is added to the first-level cache queue to wait; if so, then The new task is added to the second-level cache queue to wait or be executed by the executor, that is, if there are available resources, the new task will enter the second-level cache queue, and start calculation immediately when the conditions are met, without additional waiting and Copy time, if there are no available resources, the new task will enter the first level cache queue.
- the new task When the executor is free, the new task will be scheduled as soon as possible, which not only reduces latency and improves user experience, but also takes into account the server The throughput improves the efficiency of the server.
- embodiments of the present disclosure provide an electronic device, which includes: one or more processors; a storage device, on which one or more programs are stored, when one or more programs are used by one or more processors Execution, so that one or more processors implement any one of the foregoing resource scheduling methods.
- embodiments of the present disclosure provide a computer-readable medium on which a computer program is stored, and when the program is executed by a processor, any one of the foregoing resource scheduling methods is implemented.
- Such software may be distributed on a computer-readable medium, and the computer-readable medium may include a computer storage medium (or a non-transitory medium) and a communication medium (or a transitory medium).
- the term computer storage medium includes volatile and non-volatile memory implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Sexual, removable and non-removable media.
- Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassette, tape, magnetic disk storage or other magnetic storage device, or Any other medium used to store desired information and that can be accessed by a computer.
- a communication medium usually contains computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium. .
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
相关申请的交叉引用Cross-references to related applications
本申请基于申请号为201911395401.0、申请日为2019年12月30日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以引入方式并入本申请。This application is based on a Chinese patent application with application number 201911395401.0 and an application date of December 30, 2019, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby incorporated into this application by way of introduction.
本公开实施例涉及深度学习技术领域,特别涉及一种资源调度方法、装置、电子设备及计算机可读介质。The embodiments of the present disclosure relate to the field of deep learning technology, and in particular, to a resource scheduling method, device, electronic device, and computer-readable medium.
深度学习的模型在训练完成后,常被部署在基于云计算资源的服务器上,以供客户端根据自己的推离任务使用该模型。在实际应用中,服务器通常同时服务不同客户端的推理任务请求,而且这些客户端的推理任务请求常使用不同模型或使用不同版本的模型。服务器不仅要满足客户端对延时性的要求,还要考虑自身性能(如吞吐量)和资源使用效率的问题。After the training is completed, the deep learning model is often deployed on a server based on cloud computing resources, so that the client can use the model according to its own push-off task. In practical applications, the server usually serves the inference task requests of different clients at the same time, and the inference task requests of these clients often use different models or different versions of the model. The server must not only meet the client's requirements for latency, but also consider its own performance (such as throughput) and resource utilization efficiency.
由于服务器的运算能力较强,完成一个推理任务请求和多个推理任务请求花费的时间相差不大。为了提高性能和资源使用效率,服务器通常将多个小的推理任务请求(资源占用较小)合并成一个大的任务集,如当一个推理任务请求含有的数据量较少时,先将该推理任务请求放置在等待队列,等待后续的推理任务请求合并成一个数据量较大的任务集,再进行计算。这种调度方式无疑加大了客户端的时延。而且,当服务器有可用的计算资源(比如空闲的线程、CPU、GPU等)时,由于需要形成足够数据量的任务集后才开始计算,服务器“被迫”处于闲置状态,导致服务器资源的浪费。另外,服务器开始计算时,将任务集从缓存拷贝到计算资源上也需要一定的时间开销。Due to the strong computing power of the server, the time it takes to complete one inference task request and multiple inference task requests is not much different. In order to improve performance and resource efficiency, the server usually combines multiple small reasoning task requests (with less resource occupancy) into a large task set. For example, when a reasoning task request contains a small amount of data, the reasoning Task requests are placed in the waiting queue, waiting for subsequent inference task requests to be merged into a task set with a large amount of data, and then calculations are performed. This scheduling method undoubtedly increases the delay of the client. Moreover, when the server has available computing resources (such as idle threads, CPUs, GPUs, etc.), since it needs to form a task set with sufficient data volume before computing starts, the server is "forced" to be in an idle state, resulting in a waste of server resources . In addition, when the server starts computing, it also takes a certain amount of time to copy the task set from the cache to the computing resources.
发明内容Summary of the invention
本公开实施例提供一种资源调度方法、装置、电子设备及计算机可读介质,以解决现有技术中由于服务器的调度方式的缺陷而导致时延较长和资源使用效率不佳的问题。The embodiments of the present disclosure provide a resource scheduling method, device, electronic device, and computer readable medium to solve the problems of long time delay and poor resource usage efficiency due to the defects of the server scheduling method in the prior art.
第一方面,本公开实施例提供一种资源调度方法,其包括:响应新的任务请求判断执行器是否均处于工作状态,若是,则将新任务加入一级缓存队列等待;若否,则将所述新任务加入二级缓存队列等待或被所述执行器执行。In the first aspect, embodiments of the present disclosure provide a resource scheduling method, which includes: responding to a new task request to determine whether the executors are all in a working state; if so, adding the new task to the first-level cache queue to wait; if not, then The new task is added to the second-level cache queue to wait or be executed by the executor.
第二方面,本公开实施例提供一种电子设备,其包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开实施例提供的资源调度方法。In a second aspect, embodiments of the present disclosure provide an electronic device, which includes: one or more processors; a storage device, on which one or more programs are stored, when the one or more programs are used by the one or more Execution by multiple processors, so that the one or more processors implement the resource scheduling method provided in the embodiments of the present disclosure.
第三方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开实施例提供的资源调度方法。In a third aspect, an embodiment of the present disclosure provides a computer-readable medium on which a computer program is stored, and when the program is executed by a processor, the resource scheduling method provided by the embodiment of the present disclosure is implemented.
附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:The accompanying drawings are used to provide a further understanding of the embodiments of the present disclosure, and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the present disclosure, and do not constitute a limitation to the present disclosure. The above and other features and advantages will become more apparent to those skilled in the art by describing detailed example embodiments with reference to the accompanying drawings. In the accompanying drawings:
图1为本公开实施例提供的一种服务器的示意性框图;FIG. 1 is a schematic block diagram of a server provided by an embodiment of the disclosure;
图2为本公开实施例提供的另一种资源调度方法的流程图;FIG. 2 is a flowchart of another resource scheduling method provided by an embodiment of the disclosure;
图3为本公开实施例提供的另一种资源调度方法的流程图;FIG. 3 is a flowchart of another resource scheduling method provided by an embodiment of the disclosure;
图4为本公开实施例的资源调度方法中执行器完成任务后的流程图;FIG. 4 is a flowchart after the executor completes the task in the resource scheduling method of the embodiment of the disclosure;
图5为本公开实施例提供的一种资源调度装置的示例性框图。Fig. 5 is an exemplary block diagram of a resource scheduling device provided by an embodiment of the disclosure.
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图对本申请提供的资源调度方法、装置、电子设备及计算机可读介质进行 详细描述。In order to enable those skilled in the art to better understand the technical solutions of the present application, the resource scheduling method, device, electronic equipment, and computer-readable medium provided in the present application will be described in detail below with reference to the accompanying drawings.
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。Hereinafter, example embodiments will be described more fully with reference to the accompanying drawings, but the example embodiments may be embodied in different forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, the purpose of providing these embodiments is to make the present disclosure thorough and complete, and to enable those skilled in the art to fully understand the scope of the present disclosure.
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。As used herein, the term "and/or" includes any and all combinations of one or more related listed items.
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。The terms used herein are only used to describe specific embodiments and are not intended to limit the present disclosure. As used herein, the singular forms "a" and "the" are also intended to include the plural forms, unless the context clearly dictates otherwise. It will also be understood that when the terms "comprising" and/or "made of" are used in this specification, it specifies the presence of the described features, wholes, steps, operations, elements and/or components, but does not exclude the presence or Add one or more other features, wholes, steps, operations, elements, components, and/or groups thereof.
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。The embodiments described herein can be described with reference to plan views and/or cross-sectional views with the help of ideal schematic diagrams of the present disclosure. Therefore, the example illustrations may be modified according to manufacturing technology and/or tolerances. Therefore, the embodiment is not limited to the embodiment shown in the drawings, but includes a modification of the configuration formed based on the manufacturing process. Therefore, the regions illustrated in the drawings have schematic properties, and the shapes of the regions shown in the figures exemplify the specific shapes of the regions of the elements, but are not intended to be limiting.
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。Unless otherwise defined, the meanings of all terms (including technical and scientific terms) used herein are the same as those commonly understood by those of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with their meanings in the context of the related technology and the present disclosure, and will not be interpreted as having idealized or excessive formal meanings, Unless this article specifically defines it as such.
本公开实施例提供的资源调度方法,主要是针对深度学习训练模块完成训练后,被部署在基于云资源的服务器,以供客户端的调用。为了降低服务器的时延,同时兼顾吞吐量,提高服务器的资源利用率。The resource scheduling method provided by the embodiments of the present disclosure is mainly for the deep learning training module to be deployed on a cloud resource-based server after the deep learning training module completes the training, so as to be called by the client. In order to reduce the delay of the server, while taking into account the throughput, the resource utilization rate of the server is improved.
本公开实施例提供的服务器采用多级缓存机制,根据服务器中执行器的使用情况,将客户端的任务缓存在不同的缓存队列,以使服务器及时完成任务。The server provided by the embodiment of the present disclosure adopts a multi-level caching mechanism, and according to the usage of the executor in the server, the tasks of the client are cached in different cache queues, so that the server can complete the tasks in time.
图1为本公开实施例提供一种的服务器的示意性框图。如图1所示, 服务器包括缓存模块100和执行模块200,其中,缓存模块100包括至少一个一级任务集101,用于存储一级缓存队列的新任务,每个一级任务集101至少可以存放一个任务。执行模块200包括至少一个执行器201,执行器201用于存放二级缓存队列的新任务以及执行任务,而且每个二级任务集201至少可以存放一个任务。执行任务可以是基于模型计算图的特征的过程。FIG. 1 is a schematic block diagram of a server provided by an embodiment of the disclosure. As shown in FIG. 1, the server includes a cache module 100 and an execution module 200. The cache module 100 includes at least one first-level task set 101 for storing new tasks in the first-level cache queue. Each first-
第一方面,本公开实施例提供一种资源调度方法,图2为本公开实施例的资源调度方法的流程图。In the first aspect, an embodiment of the present disclosure provides a resource scheduling method. FIG. 2 is a flowchart of the resource scheduling method of an embodiment of the disclosure.
如图2所示,本公开实施例提供的资源调度方法包括:As shown in FIG. 2, the resource scheduling method provided by the embodiment of the present disclosure includes:
201,判断执行器是否均处于工作状态。201: Determine whether the actuators are all in working state.
响应新的任务请求判断执行模块中的执行器是否均处于工作状态。Respond to the new task request to determine whether the actuators in the execution module are all in working state.
需要说明的是,执行器通常存在三种状态,即空闲状态、等待状态和工作状态。当执行器处于工作状态时,无法承接任务。当执行器处于空闲状态和等待状态时,可以承接任务。任务包括但不限于推理任务。It should be noted that the actuator usually has three states, namely, idle state, waiting state and working state. When the actuator is in working condition, it cannot take over the task. When the actuator is in the idle state and waiting state, it can take over tasks. Tasks include but are not limited to reasoning tasks.
202,在执行器均处于工作状态时,将新任务加入一级缓存队列等待。202: When the executors are all in a working state, add a new task to the first-level cache queue to wait.
当所有的执行器均处于工作状态时,说明没有可用的资源,新任务加入一级缓存队列等待。When all the actuators are in working state, it means that there are no available resources, and the new task is added to the first-level cache queue to wait.
203,在存在非工作状态的执行器时,则将所述新任务加入二级缓存队列等待或被所述执行器执行。203. When there is an executor in a non-working state, the new task is added to the second-level cache queue to wait or be executed by the executor.
当存在非工作状态的执行器时,说明有可用的资源,新任务被加入二级缓存队列。被加入二级缓存队列的新任务可能被立刻执行,也可能需要在二级缓存队列中等待,在条件满足时被执行。When there is a non-working executor, it indicates that there are available resources, and the new task is added to the second-level cache queue. New tasks added to the second-level cache queue may be executed immediately, or they may need to wait in the second-level cache queue and be executed when the conditions are met.
在一些实施例中,当判断至少一个执行器处于非工作状态时,可以进一步判断是否存在处于等待状态的执行器,若否,再判断是否存在处于空闲状态的执行器。换言之,当判断至少一个执行器处于非工作状态时,优先为处于等待状态的执行器分配任务,再为处于空闲状态的执行器分配任务。当没有处于等待状态的执行器和处于空闲状态的执行器时,才将任务加入一级缓存队列等待。In some embodiments, when it is judged that at least one actuator is in a non-working state, it can be further judged whether there is an actuator in a waiting state, and if not, it is judged whether there is an actuator in an idle state. In other words, when it is determined that at least one executor is in a non-working state, priority is given to the executors in the waiting state, and then the executors in the idle state are allocated tasks. When there is no executor in the waiting state and the executor in the idle state, the task is added to the first-level cache queue to wait.
本公开实施例提供的资源调度方法,当收到新的任务请求后,如果 有可用资源,则新任务会进入二级缓存队列,并在条件满足时立即开始计算,无需额外的等待和拷贝时间,如果无可用资源,则新任务会进入一级缓存队列,待执行器有空闲时,新任务第一时间被调度,既降低了延时性,提高了用户的体验;又兼顾了服务器的吞吐量,提高了服务器的使用效率。According to the resource scheduling method provided by the embodiment of the present disclosure, when a new task request is received, if there are available resources, the new task will enter the second-level cache queue, and start calculation immediately when the conditions are met, without additional waiting and copying time If there are no available resources, the new task will enter the first-level cache queue. When the executor is free, the new task will be scheduled as soon as possible, which not only reduces the delay and improves the user experience, but also takes into account the throughput of the server. Increase the efficiency of the server.
图3为本公开实施例提供的一种资源调度方法的流程图。FIG. 3 is a flowchart of a resource scheduling method provided by an embodiment of the disclosure.
参照图3,本公开实施例提供的资源调度方法包括:3, the resource scheduling method provided by the embodiment of the present disclosure includes:
301,判断是否存在处于等待状态的执行器。301: Determine whether there is an actuator in a waiting state.
当服务器收到客户端的任务请求时,判断服务器中是否存在处于等待状态的执行器。若服务器存在处于等待状态的执行器,说明服务器存在可用资源,则执行步骤302;若服务器不存在处于等待状态的执行器,则转至步骤304。When the server receives the task request from the client, it determines whether there is an executor in the waiting state in the server. If the server has an executor in the waiting state, it means that the server has available resources, then step 302 is executed; if the server does not have an executor in the waiting state, then go to step 304.
302,根据当前二级任务集的当前数据量和所述新任务的数据量获得二级任务集的总数据量,并判断总数据量是否大于预设的最大二级任务集数据量;若是,则执行步骤303;若否,则执行步骤305。302. Obtain the total data volume of the second-level task set according to the current data volume of the current second-level task set and the data volume of the new task, and determine whether the total data volume is greater than the preset maximum second-level task set data volume; if so, Go to step 303; if not, go to step 305.
其中,处于等待状态的执行器对应的二级任务集中通常已经有任务,将当前二级任务集中已有的任务的数据量和新任务的数据量相加获得当前二级任务集的总数量。最大二级任务集数据量是预设可以根据实际需要设定,也可以根据二级任务集的存储容量设定。Among them, the secondary task set corresponding to the executor in the waiting state usually already has tasks, and the data amount of the existing tasks in the current secondary task set and the data amount of the new task are added to obtain the total number of the current secondary task set. The maximum data volume of the second-level task set is preset and can be set according to actual needs, or can be set according to the storage capacity of the second-level task set.
需要说明的是,二级任务集包括开放状态和关闭状态,当二级任务集处于开放状态时,新任务可以加入该二级任务集的缓存队列。当二级任务集处于关闭状态时,不能在加入新任务,而且,当二级任务集处于关闭状态时,执行器将执行该二级任务集内的任务。It should be noted that the second-level task set includes an open state and a closed state. When the second-level task set is in the open state, a new task can be added to the cache queue of the second-level task set. When the secondary task set is in the closed state, no new tasks can be added, and when the secondary task set is in the closed state, the executor will execute the tasks in the secondary task set.
303,关闭当前二级任务集,执行器进入工作状态。303. The current secondary task set is closed, and the executor enters the working state.
当总数据量大于预设的最大二级任务集数据量时,关闭当前二级任务集,即修改当前二级任务集的状态为关闭状态,使该当前二级任务集对应的执行器进入工作状态,开始计算该当前二级任务集内的任务。需要说明的是,由于总数据量大于预设的最大二级任务集数据量,新任务无法排列在该二级任务集的缓存队列内,因此,新任务未被进入工作状态的执行器执行。When the total data volume is greater than the preset maximum data volume of the second-level task set, the current second-level task set is closed, that is, the status of the current second-level task set is changed to the closed state, and the executor corresponding to the current second-level task set enters work Status, start to calculate the tasks in the current secondary task set. It should be noted that because the total data volume is greater than the preset maximum data volume of the second-level task set, the new task cannot be arranged in the cache queue of the second-level task set, and therefore, the new task is not executed by the executor that enters the working state.
304,判断是否存在空闲状态的执行器。304: Determine whether there is an actuator in an idle state.
当总数据量大于预设的最大二级任务集数据量时,说明该新任务无法排列在该当前二级任务集的缓存队列内,需要寻找新的执行器。因此,需要判断是否存在空闲的执行器,若是,则转至步骤306;若否,则转至步骤309。When the total data volume is greater than the preset maximum data volume of the second-level task set, it indicates that the new task cannot be arranged in the cache queue of the current second-level task set, and a new executor needs to be found. Therefore, it is necessary to determine whether there is an idle actuator, if yes, go to step 306; if not, go to step 309.
305,将新任务加入当前二级任务集。305. Add the new task to the current secondary task set.
当总数据量不大于预设的最大二级任务集数据量,将新任务加入当前二级任务集,然后转至步骤307。When the total data volume is not greater than the preset maximum data volume of the second-level task set, the new task is added to the current second-level task set, and then go to step 307.
306,将新任务加入新创建的新二级任务集。306. Add the new task to the newly created new secondary task set.
当执行模块中存在空闲状态的执行器时,创建新二级任务集,并将新任务加入新二级任务集,然后转至步骤307。When there is an executor in an idle state in the execution module, a new secondary task set is created, the new task is added to the new secondary task set, and then step 307 is performed.
307,判断二级任务集的数据量是否等于最大二级任务集数据量。307. Determine whether the data amount of the secondary task set is equal to the maximum data amount of the secondary task set.
在步骤307中,不管是当前二级任务集,还是新二级任务集,均要判断二级任务集的数据量是否等于最大二级任务集数据量。In
当二级任务集的数据量等于最大二级任务集数据量,则转至步骤303。当二级任务集的数据量小于最大二级任务集数据量时,执行步骤308。When the data amount of the secondary task set is equal to the maximum data amount of the secondary task set, go to step 303. When the data amount of the secondary task set is less than the maximum data amount of the secondary task set,
308,将执行器修改为等待状态。308. Modify the actuator to a waiting state.
当二级任务集的数据量小于最大二级任务集数据量时,将新二级任务集对应的执行器进入等待状态。对于当前二级任务集,由于已经处于等待状态,因此不涉及修改状态步骤。When the data amount of the second-level task set is less than the maximum data amount of the second-level task set, the executor corresponding to the new second-level task set enters the waiting state. For the current secondary task set, since it is already in the waiting state, there is no step to modify the state.
309,判断一级缓存队列中是否有处于开放状态的当前一级任务集。309. Determine whether there is a current first-level task set in an open state in the first-level cache queue.
当不存在空闲的执行器时,说明执行模块没有可被利用的资源,新任务需要缓存在缓冲模块内,需要为新任务寻找合适的一级任务集。When there is no idle executor, it means that the execution module has no available resources, the new task needs to be cached in the buffer module, and it is necessary to find a suitable first-level task set for the new task.
因此,通过判断一级缓存队列中是否有处于开放状态的当前一级任务集,新任务优先加入处于开放状态的当前一级任务集的缓冲队列。当一级缓存队列中有处于开放状态的当前一级任务集,则执行步骤310;当一级缓存队列中不存在处于开放状态的当前一级任务集,则执行步骤314。Therefore, by judging whether there is an open current level 1 task set in the level 1 cache queue, new tasks are preferentially added to the buffer queue of the current level 1 task set that is open. When there is an open current level one task set in the first level cache queue, step 310 is executed; when there is no current level one task set in an open state in the first level cache queue,
310,判断一级缓存总数据量是否小于或等于预设的最大一级任务集数据量。310. Determine whether the total data volume of the first-level cache is less than or equal to a preset maximum data volume of the first-level task set.
其中,一级缓存总数据量是根据当前一级任务集的当前数据量和新任务的数据量获得的,即将当前一级任务集的当前数据量和新任务的数据 量相加获得一级缓存总数据量。Among them, the total data volume of the first-level cache is obtained based on the current data volume of the current first-level task set and the data volume of the new task, that is, the current data volume of the current first-level task set and the data volume of the new task are added to obtain the first-level cache The total amount of data.
若所述总数据量等于或小于预设的最大一级任务集数据量,则转至步骤311;若所述总数据量大于预设的最大一级任务集数据量,则转至步骤313。If the total data amount is equal to or less than the preset maximum level one task set data amount, go to step 311; if the total data amount is greater than the preset maximum level one task set data amount, go to step 313.
311,将新任务加入当前一级任务集。311. Add the new task to the current first-level task set.
当总数据量等于或小于预设的最大一级任务集数据量时,说明该一级任务集仍有存放新任务的空间,将新任务进入当前一级任务集。When the total data volume is equal to or less than the preset maximum data volume of the first-level task set, it indicates that the first-level task set still has space for storing new tasks, and the new task is entered into the current first-level task set.
312,判断所述总数据量是否等于所述最大一级任务集数据量。312. Determine whether the total data amount is equal to the maximum first-level task set data amount.
判断所述总数据量是否等于所述最大一级任务集数据量,若是,则关闭所述当前一级任务集,即将当前一级任务集的状态修改为关闭状态,该当前一级任务集的一级缓存队列不再接收新任务。若否,则保持当前一级任务集的开放状态,以接收新任务并加入一级缓存队列等待。It is judged whether the total data volume is equal to the data volume of the maximum first-level task set. If so, the current first-level task set is closed, that is, the status of the current first-level task set is changed to the closed state. The first level cache queue no longer receives new tasks. If not, keep the open state of the current first-level task set to receive new tasks and join the first-level cache queue to wait.
313,关闭当前一级任务集。313, close the current first-level task set.
若所述总数据量大于预设的最大一级任务集数据量,说明该一级任务集不再接收新任务,然后执行步骤314。关闭所述当前一级任务集,即将当前一级任务集的状态修改为关闭状态,该当前一级任务集的一级缓存队列不再接收新任务。If the total data volume is greater than the preset maximum data volume of the first-level task set, it indicates that the first-level task set no longer receives new tasks, and then step 314 is executed. Closing the current first-level task set, that is, modifying the state of the current first-level task set to a closed state, and the first-level cache queue of the current first-level task set no longer receives new tasks.
314,判断一级缓存队列是否已满。314. Determine whether the first-level cache queue is full.
当一级缓存队列中不存在处于开放状态的一级任务集时,判断一级缓存队列是否已满。或者,当关闭当前一级任务集时,判断一级缓存队列是否已满。若级缓存队列已满,则返回失败消息,说明当前服务器处于繁忙状态,无法接收客户端的新任务。若一级缓存队列未满,则执行步骤315。When there is no first-level task set in an open state in the first-level cache queue, it is determined whether the first-level cache queue is full. Or, when the current level 1 task set is closed, it is determined whether the level 1 cache queue is full. If the level cache queue is full, a failure message will be returned, indicating that the current server is busy and cannot receive new tasks from the client. If the L1 cache queue is not full,
315,创建新的一级任务集。315, create a new first-level task set.
若一级缓存队列未满,说明服务器仍有可利用资源,创建新的一级任务集,将该新创建的一级任务集设置为开放状态。由于服务器中其他任务集已被关闭,新创建的一级任务集成为当前一级任务集。If the first-level cache queue is not full, it means that the server still has available resources, create a new first-level task set, and set the newly created first-level task set to an open state. Since other task sets in the server have been closed, the newly created first-level task is integrated into the current first-level task set.
在上述实施例中,二级任务集在总数据量满足条件时关闭,以使执行器执行二级任务集中的任务。In the foregoing embodiment, the secondary task set is closed when the total data volume meets the condition, so that the executor executes the tasks in the secondary task set.
在一些实施例中,二级任务集也可以基于执行器的等待时间关闭。具体地,当执行器处于等待状态的时间达到预设的等待时长时,关闭所述 执行器对应的所述二级任务集,并进入工作状态。In some embodiments, the secondary task set may also be closed based on the waiting time of the executor. Specifically, when the time that the actuator is in the waiting state reaches a preset waiting time period, the secondary task set corresponding to the actuator is closed and enters the working state.
需要说明的是,当执行器处于等待状态的时间达到预设的等待时长时,不管二级任务集的数据量是否达到最大二级任务集数据量,均调整为关闭状态,并使对应的执行器进入工作状态,从而避免延时过长。It should be noted that when the executor is in the waiting state for the preset waiting time, regardless of whether the data volume of the second-level task set reaches the maximum data volume of the second-level task set, it is adjusted to the closed state and the corresponding execution The inverter enters the working state, so as to avoid excessive delay.
在一些实施例中,执行器完成二级任务集中的任务后,还可以从缓存装置内获得新的任务集。In some embodiments, after the executor completes the tasks in the secondary task set, it can also obtain a new task set from the cache device.
图4为本公开实施例的资源调度方法中执行器完成任务后的流程图。如图4所示,执行器完成二级任务集中的任务后,还包括:FIG. 4 is a flowchart after the executor completes the task in the resource scheduling method of the embodiment of the disclosure. As shown in Figure 4, after the executor completes the tasks in the secondary task set, it also includes:
401,判断一级缓存队列是否为空。401: Determine whether the first level cache queue is empty.
一级缓存队列是执行模块处于繁忙状态时缓存的任务队列,一级缓存队列为空时,说明服务器没有接收到新任务。若一级缓存队列为空,则执行步骤402;若一级缓存队列不为空,则执行步骤403。The first level cache queue is a task queue cached when the execution module is in a busy state. When the first level cache queue is empty, it means that the server has not received a new task. If the first-level cache queue is empty,
402,所述执行器进入空闲状态。402. The actuator enters an idle state.
由于没有新任务,将执行器的状态修改为空闲状态。Since there is no new task, the state of the executor is changed to the idle state.
403,提取一级缓存队列中的任务集。403. Extract the task set in the first-level cache queue.
当一级缓存队列不为空时,说明有客户端发来新任务,需要及时处理这些任务。服务器从一级缓存队列中提取一级任务集。提取的一级任务集优先选择缓存模块中最先形成的一级任务集,以避免增加时延。When the first-level cache queue is not empty, it means that a client has sent new tasks, and these tasks need to be processed in time. The server extracts the first-level task set from the first-level cache queue. The extracted first-level task set preferentially selects the first-level task set formed in the cache module to avoid increasing the delay.
在一些实施例中,只要执行器提取的一级任务集,不管该一级任务集是否处于关闭状态,均进入执行模块。In some embodiments, as long as the first-level task set extracted by the executor, regardless of whether the first-level task set is in the closed state, all enter the execution module.
404,执行器进入工作状态以执行任务集。404: The executor enters the working state to execute the task set.
执行器提取一级任务集后,立即转为工作状态,完成该任务。After the executor extracts the first-level task set, it immediately turns to the working state and completes the task.
第二方面,本公开实施例提供一种资源调度装置。图5为本公开实施例提供的一种资源调度装置的示例性框图。如图5所示,资源调度装置包括:缓存模块500和执行模块600,其中,所述缓存模块500用于存储一级缓存队列的新任务;所述执行模块600用于存储二级缓存队列的新任务和执行所述新任务。In the second aspect, embodiments of the present disclosure provide a resource scheduling device. Fig. 5 is an exemplary block diagram of a resource scheduling device provided by an embodiment of the disclosure. As shown in FIG. 5, the resource scheduling device includes: a cache module 500 and an execution module 600, wherein the cache module 500 is used to store new tasks of the first-level cache queue; the execution module 600 is used to store the information of the second-level cache queue New task and execution of said new task.
在一些实施例中,所述缓存模块500包括至少一个一级任务集501,所述一级任务集501用于在执行器均处于工作状态时,存储一级缓存队列 的新任务;In some embodiments, the cache module 500 includes at least one first-level task set 501, and the first-level task set 501 is used to store new tasks in the first-level cache queue when the executors are all in a working state;
所述执行模块600包括至少一个执行器601,每个执行器601包括一对二级任务集611和执行模型612,所述二级任务集611用于当所述执行器处于空闲状态或等待状态时,存放二级缓存队列的新任务;所述执行器612用于执行任务。The execution module 600 includes at least one executor 601, and each executor 601 includes a pair of a secondary task set 611 and an execution model 612. The secondary task set 611 is used when the executor is in an idle state or a waiting state. When the time, the new task of the second-level cache queue is stored; the executor 612 is used to execute the task.
本公开实施例提供的资源调度装置,当服务器收到新的任务请求后,判断执行装置中的执行器是否均处于工作状态,若否,则将新任务加入一级缓存队列等待;若是,则将所述新任务加入二级缓存队列等待或被所述执行器执行,即,如果有可用资源,则新任务会进入二级缓存队列,并在条件满足时立即开始计算,无需额外的等待和拷贝时间,如果无可用资源,则新任务会进入一级缓存队列,待执行器有空闲时,新任务第一时间被调度,既降低了延时性,提高了用户的体验;又兼顾了服务器的吞吐量,提高了服务器的使用效率。In the resource scheduling device provided by the embodiment of the present disclosure, when the server receives a new task request, it determines whether the executors in the execution device are all in a working state, and if not, the new task is added to the first-level cache queue to wait; if so, then The new task is added to the second-level cache queue to wait or be executed by the executor, that is, if there are available resources, the new task will enter the second-level cache queue, and start calculation immediately when the conditions are met, without additional waiting and Copy time, if there are no available resources, the new task will enter the first level cache queue. When the executor is free, the new task will be scheduled as soon as possible, which not only reduces latency and improves user experience, but also takes into account the server The throughput improves the efficiency of the server.
第三方面,本公开实施例提供一种电子设备,其包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一种资源调度方法。In a third aspect, embodiments of the present disclosure provide an electronic device, which includes: one or more processors; a storage device, on which one or more programs are stored, when one or more programs are used by one or more processors Execution, so that one or more processors implement any one of the foregoing resource scheduling methods.
第四方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种资源调度方法。In a fourth aspect, embodiments of the present disclosure provide a computer-readable medium on which a computer program is stored, and when the program is executed by a processor, any one of the foregoing resource scheduling methods is implemented.
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施例中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性 介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。A person of ordinary skill in the art can understand that all or some of the steps, functional modules/units in the system, and apparatus in the methods disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware embodiments, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may consist of several physical components. The components are executed cooperatively. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit . Such software may be distributed on a computer-readable medium, and the computer-readable medium may include a computer storage medium (or a non-transitory medium) and a communication medium (or a transitory medium). As is well known by those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile memory implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Sexual, removable and non-removable media. Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassette, tape, magnetic disk storage or other magnetic storage device, or Any other medium used to store desired information and that can be accessed by a computer. In addition, it is well known to those of ordinary skill in the art that a communication medium usually contains computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium. .
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。Example embodiments have been disclosed herein, and although specific terms are adopted, they are used and should only be interpreted as general descriptive meanings, and are not used for the purpose of limitation. In some instances, it is obvious to those skilled in the art that, unless expressly indicated otherwise, the features, characteristics, and/or elements described in combination with a specific embodiment may be used alone, or features, characteristics, and/or elements described in combination with other embodiments may be used. Combination of features and/or components. Therefore, those skilled in the art will understand that various changes in form and details can be made without departing from the scope of the present disclosure as set forth by the appended claims.
Claims (15)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911395401.0A CN113127179A (en) | 2019-12-30 | 2019-12-30 | Resource scheduling method and device, electronic equipment and computer readable medium |
| CN201911395401.0 | 2019-12-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021136068A1 true WO2021136068A1 (en) | 2021-07-08 |
Family
ID=76686466
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/139085 Ceased WO2021136068A1 (en) | 2019-12-30 | 2020-12-24 | Resource dispatching method and apparatus, electronic device, and computer readable medium |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN113127179A (en) |
| WO (1) | WO2021136068A1 (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114138521A (en) * | 2021-12-07 | 2022-03-04 | 中国建设银行股份有限公司 | A state transfer method, device, device and storage medium |
| CN114140311A (en) * | 2021-11-04 | 2022-03-04 | 北京激浊扬清文化科技有限公司 | Delay control method for streaming media AI reasoning based on gstreamer |
| CN115168034A (en) * | 2022-06-30 | 2022-10-11 | 济南浪潮数据技术有限公司 | Information processing method and device and readable storage medium |
| CN115964143A (en) * | 2022-12-12 | 2023-04-14 | 深圳奥哲网络科技有限公司 | Asynchronous task processing method, system, electronic equipment and storage medium |
| CN116204285A (en) * | 2022-12-01 | 2023-06-02 | 深圳市闪剪智能科技有限公司 | Scheduling method, device, equipment and medium |
| CN117056085A (en) * | 2023-10-11 | 2023-11-14 | 深圳安天网络安全技术有限公司 | Load balancing method, device and safety protection system |
| CN117714475A (en) * | 2023-12-08 | 2024-03-15 | 江苏云工场信息技术有限公司 | Intelligent management method and system for edge cloud storage |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113821507B (en) * | 2021-07-28 | 2026-01-02 | 腾讯科技(深圳)有限公司 | Data processing methods and apparatus |
| CN114328624A (en) * | 2021-12-29 | 2022-04-12 | 上海柯林布瑞信息技术有限公司 | A query method, device and storage medium for hospital operation data |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1828481A (en) * | 2006-03-10 | 2006-09-06 | 浙江大学 | Energy-saving switching method for waiting overtime judge of flush type system outer apparatus |
| CN103150213A (en) * | 2011-12-06 | 2013-06-12 | 北大方正集团有限公司 | Method and device for balancing load |
| CN103399759A (en) * | 2013-06-29 | 2013-11-20 | 广州市动景计算机科技有限公司 | Network content downloading method and device |
| US20180307603A1 (en) * | 2017-04-25 | 2018-10-25 | Advanced Micro Devices, Inc. | Memory hierarchy-aware processing |
| CN109426572A (en) * | 2017-08-29 | 2019-03-05 | 杭州海康威视数字技术股份有限公司 | Task processing method, device and electronic equipment |
| CN109614049A (en) * | 2018-12-11 | 2019-04-12 | 湖南国科微电子股份有限公司 | Flash memory control method, flash controller and flash memory system |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101957780B (en) * | 2010-08-17 | 2013-03-20 | 中国电子科技集团公司第二十八研究所 | Resource state information-based grid task scheduling processor and grid task scheduling processing method |
| CN105389209B (en) * | 2015-12-25 | 2019-04-26 | 中国建设银行股份有限公司 | A kind of asynchronous batch tasks processing method and system |
| CN107562535A (en) * | 2017-08-02 | 2018-01-09 | 广东睿江云计算股份有限公司 | A kind of load-balancing method of task based access control scheduling, system |
| CN109582215B (en) * | 2017-09-29 | 2020-10-09 | 华为技术有限公司 | Hard disk operation command execution method, hard disk and storage medium |
-
2019
- 2019-12-30 CN CN201911395401.0A patent/CN113127179A/en active Pending
-
2020
- 2020-12-24 WO PCT/CN2020/139085 patent/WO2021136068A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1828481A (en) * | 2006-03-10 | 2006-09-06 | 浙江大学 | Energy-saving switching method for waiting overtime judge of flush type system outer apparatus |
| CN103150213A (en) * | 2011-12-06 | 2013-06-12 | 北大方正集团有限公司 | Method and device for balancing load |
| CN103399759A (en) * | 2013-06-29 | 2013-11-20 | 广州市动景计算机科技有限公司 | Network content downloading method and device |
| US20180307603A1 (en) * | 2017-04-25 | 2018-10-25 | Advanced Micro Devices, Inc. | Memory hierarchy-aware processing |
| CN109426572A (en) * | 2017-08-29 | 2019-03-05 | 杭州海康威视数字技术股份有限公司 | Task processing method, device and electronic equipment |
| CN109614049A (en) * | 2018-12-11 | 2019-04-12 | 湖南国科微电子股份有限公司 | Flash memory control method, flash controller and flash memory system |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114140311A (en) * | 2021-11-04 | 2022-03-04 | 北京激浊扬清文化科技有限公司 | Delay control method for streaming media AI reasoning based on gstreamer |
| CN114138521A (en) * | 2021-12-07 | 2022-03-04 | 中国建设银行股份有限公司 | A state transfer method, device, device and storage medium |
| CN115168034A (en) * | 2022-06-30 | 2022-10-11 | 济南浪潮数据技术有限公司 | Information processing method and device and readable storage medium |
| CN116204285A (en) * | 2022-12-01 | 2023-06-02 | 深圳市闪剪智能科技有限公司 | Scheduling method, device, equipment and medium |
| CN115964143A (en) * | 2022-12-12 | 2023-04-14 | 深圳奥哲网络科技有限公司 | Asynchronous task processing method, system, electronic equipment and storage medium |
| CN117056085A (en) * | 2023-10-11 | 2023-11-14 | 深圳安天网络安全技术有限公司 | Load balancing method, device and safety protection system |
| CN117056085B (en) * | 2023-10-11 | 2023-12-22 | 深圳安天网络安全技术有限公司 | Load balancing method, device and safety protection system |
| CN117714475A (en) * | 2023-12-08 | 2024-03-15 | 江苏云工场信息技术有限公司 | Intelligent management method and system for edge cloud storage |
| CN117714475B (en) * | 2023-12-08 | 2024-05-14 | 江苏云工场信息技术有限公司 | Intelligent management method and system for edge cloud storage |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113127179A (en) | 2021-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021136068A1 (en) | Resource dispatching method and apparatus, electronic device, and computer readable medium | |
| CN112764936B (en) | Edge calculation server information processing method and device based on deep reinforcement learning | |
| JP5744707B2 (en) | Computer-implemented method, computer program, and system for memory usage query governor (memory usage query governor) | |
| WO2022252456A1 (en) | Task scheduling method and apparatus, electronic device, and readable storage medium | |
| CN107341041B (en) | Multidimensional constraint backfill scheduling method for cloud tasks based on priority queue | |
| CN105718474B (en) | Method and device for controlling concurrent operations of MySQL database | |
| CN107291550B (en) | A Spark platform resource dynamic allocation method and system for iterative applications | |
| CN104901989A (en) | System and method for providing on-site service | |
| WO2022002247A1 (en) | Resource scheduling method, electronic device, and storage medium | |
| CN112862112A (en) | Federal learning method, storage medium, terminal, server, and federal learning system | |
| CN106897136A (en) | A kind of method for scheduling task and device | |
| CN116107731B (en) | Distributed cluster load control method and device | |
| US20260050486A1 (en) | Resource scheduling method, job processing method, scheduler, system, and related device | |
| CN108509280B (en) | Distributed computing cluster locality scheduling method based on push model | |
| CN110780991B (en) | A priority-based deep learning task scheduling method and device | |
| CN119512748A (en) | Load-aware scheduling method for reasoning system and reasoning system | |
| CN119149252A (en) | Load-aware scheduling method of inference system and inference system | |
| CN114741200A (en) | Data center station-oriented computing resource allocation method and device and electronic equipment | |
| CN111813535A (en) | Resource configuration determining method and device and electronic equipment | |
| CN106201681A (en) | Task scheduling algorithm based on pre-release the Resources list under Hadoop platform | |
| CN108228323B (en) | Hadoop task scheduling method and device based on data locality | |
| CN119718594B (en) | Method, device, equipment and medium for requesting rescheduling in large language model service | |
| CN111124439A (en) | Intelligent dynamic unloading algorithm with cloud edge cooperation | |
| WO2018196459A1 (en) | Download request processing method and apparatus, processing device and medium | |
| WO2024198139A1 (en) | Task execution method and apparatus, storage medium, and electronic device |
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: 20910538 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20910538 Country of ref document: EP Kind code of ref document: A1 |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 14.02.2023) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20910538 Country of ref document: EP Kind code of ref document: A1 |