CN113127179A - 资源调度方法、装置、电子设备及计算机可读介质 - Google Patents

资源调度方法、装置、电子设备及计算机可读介质 Download PDF

Info

Publication number
CN113127179A
CN113127179A CN201911395401.0A CN201911395401A CN113127179A CN 113127179 A CN113127179 A CN 113127179A CN 201911395401 A CN201911395401 A CN 201911395401A CN 113127179 A CN113127179 A CN 113127179A
Authority
CN
China
Prior art keywords
new
task set
task
data volume
primary
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
CN201911395401.0A
Other languages
English (en)
Inventor
金士英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201911395401.0A priority Critical patent/CN113127179A/zh
Priority to PCT/CN2020/139085 priority patent/WO2021136068A1/zh
Publication of CN113127179A publication Critical patent/CN113127179A/zh
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/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/5011Allocation 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本公开提供了一种资源调度方法,其包括:响应新的任务请求判断执行器是否均处于工作状态,若是,则将新任务加入一级缓存队列等待;若否,则将所述新任务加入二级缓存队列等待或被所述执行器执行。该方法既降低了延时性,提高了用户的体验;又兼顾了服务器的吞吐量,提高了服务器的使用效率。本公开还提供了一种资源调度装置、电子设备及计算机可读介质。

Description

资源调度方法、装置、电子设备及计算机可读介质
技术领域
本公开实施例涉及深度学习技术领域,特别涉及一种资源调度方法、装置、电子设备及计算机可读介质。
背景技术
深度学习的模型在训练完成后,常被部署在基于云计算资源的服务器上,以供客户端根据自己的推离任务使用该模型。在实际应用中,服务器通常同时服务不同客户端的推理任务请求,而且这些客户端的推理任务请求常使用不同模型或使用不同版本的模型。服务器不仅要满足客户端对延时性的要求,还要考虑自身性能(如吞吐量)和资源使用效率的问题。
由于服务器的运算能力较强,完成一个推理任务请求和多个推理任务请求花费的时间相差不大。为了提高性能和资源使用效率,服务器通常将多个小的推理任务请求(资源占用较小)合并成一个大的任务集,如当一个推理任务请求含有的数据量较少时,先将该推理任务请求放置在等待队列,等待后续的推理任务请求合并成一个数据量较大的任务集,再进行计算。这种调度方式无疑加大了客户端的时延。而且,当服务器有可用的计算资源(比如空闲的线程、CPU、GPU等)时,由于需要形成足够数据量的任务集后才开始计算,服务器“被迫”处于闲置状态,导致服务器资源的浪费。另外,服务器开始计算时,将任务集从缓存拷贝到计算资源上也需要一定的时间开销。
发明内容
本公开实施例提供一种资源调度方法、装置、电子设备及计算机可读介质,以解决现有技术中由于服务器的调度方式的缺陷而导致时延较长和资源使用效率不佳的问题。
第一方面,本公开实施例提供一种资源调度方法,其包括:
响应新的任务请求判断执行器是否均处于工作状态,若是,则将新任务加入一级缓存队列等待;若否,则将所述新任务加入二级缓存队列等待或被所述执行器执行。
第二方面,本公开实施例提供一种资源调度的装置,其包括:缓存模块和执行模块,所述缓存模块用于存储一级缓存队列的新任务;所述执行模块用于存储二级缓存队列的新任务和执行所述新任务;其中,
所述缓存模块包括至少一个一级任务集,所述一级任务集用于在执行器均处于工作状态时,存储一级缓存队列的新任务;
所述执行模块包括至少一个执行器,所述执行器包括一对二级任务集和执行模型,所述二级任务集用于所述执行器处于空闲状态或等待状态时,存放二级缓存队列的新任务;所述执行模型用于执行所述新任务。
第三方面,本公开实施例提供一种电子设备,其包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开实施例提供的资源调度方法。
第四方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开实施例提供的资源调度方法。
本公开实施例提供的资源调度方法,当收到新的任务请求后,判断执行装置中的执行器是否均处于工作状态,若否,则将新任务加入一级缓存队列等待;若是,则将所述新任务加入二级缓存队列等待或被所述执行器执行,即,如果有可用资源,则新任务会进入二级缓存队列,并在条件满足时立即开始计算,无需额外的等待和拷贝时间,如果无可用资源,则新任务会进入一级缓存队列,待执行器有空闲时,新任务第一时间被调度,既降低了延时性,提高了用户的体验;又兼顾了服务器的吞吐量,提高了服务器的使用效率。
附图说明
附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种服务器的示意性框图;
图2为本公开实施例提供的另一种资源调度方法的流程图;
图3为本公开实施例提供的另一种资源调度方法的流程图;
图4为本公开实施例的资源调度方法中执行器完成任务后的流程图;
图5为本公开实施例提供的一种资源调度装置的示例性框图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的资源调度方法、装置、电子设备及计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
本公开实施例提供的资源调度方法,主要是针对深度学习训练模块完成训练后,被部署在基于云资源的服务器,以供客户端的调用。为了降低服务器的时延,同时兼顾吞吐量,提高服务器的资源利用率。
本公开实施例提供的服务器采用多级缓存机制,根据服务器中执行器的使用情况,将客户端的任务缓存在不同的缓存队列,以使服务器及时完成任务。
图1为本公开实施例提供一种的服务器的示意性框图。如图1所示,服务器包括缓存模块100和执行模块200,其中,缓存模块100包括至少一个一级任务集101,用于存储一级缓存队列的新任务,每个一级任务集101至少可以存放一个任务。执行模块200包括至少一个执行器201,执行器201用于存放二级缓存队列的新任务以及执行任务,而且每个二级任务集201至少可以存放一个任务。执行任务可以是基于模型计算图的特征的过程。
第一方面,本公开实施例提供一种资源调度方法,图2为本公开实施例的资源调度方法的流程图。
如图2所示,本公开实施例提供的资源调度方法包括:
201,判断执行器是否均处于工作状态。
响应新的任务请求判断执行模块中的执行器是否均处于工作状态。
需要说明的是,执行器通常存在三种状态,即空闲状态、等待状态和工作状态。当执行器处于工作状态时,无法承接任务。当执行器处于空闲状态和等待状态时,可以承接任务。任务包括但不限于推理任务。
202,在执行器均处于工作状态时,将新任务加入一级缓存队列等待。
当所有的执行器均处于工作状态时,说明没有可用的资源,新任务加入一级缓存队列等待。
203,在存在非工作状态的执行器时,则将所述新任务加入二级缓存队列等待或被所述执行器执行。
当存在非工作状态的执行器时,说明有可用的资源,新任务被加入二级缓存队列。被加入二级缓存队列的新任务可能被立刻执行,也可能需要在二级缓存队列中等待,在条件满足时被执行。
在一些实施例中,当判断至少一个执行器处于非工作状态时,可以进一步判断是否存在处于等待状态的执行器,若否,再判断是否存在处于空闲状态的执行器。换言之,当判断至少一个执行器处于非工作状态时,优先为处于等待状态的执行器分配任务,再为处于空闲状态的执行器分配任务。当没有处于等待状态的执行器和处于空闲状态的执行器时,才将任务加入一级缓存队列等待。
本公开实施例提供的资源调度方法,当收到新的任务请求后,如果有可用资源,则新任务会进入二级缓存队列,并在条件满足时立即开始计算,无需额外的等待和拷贝时间,如果无可用资源,则新任务会进入一级缓存队列,待执行器有空闲时,新任务第一时间被调度,既降低了延时性,提高了用户的体验;又兼顾了服务器的吞吐量,提高了服务器的使用效率。
图3为本公开实施例提供的一种资源调度方法的流程图。
参照图3,本公开实施例提供的资源调度方法包括:
301,判断是否存在处于等待状态的执行器。
当服务器收到客户端的任务请求时,判断服务器中是否存在处于等待状态的执行器。若服务器存在处于等待状态的执行器,说明服务器存在可用资源,则执行步骤302;若服务器不存在处于等待状态的执行器,则转至步骤304。
302,根据当前二级任务集的当前数据量和所述新任务的数据量获得二级任务集的总数据量,并判断总数据量是否大于预设的最大二级任务集数据量;若是,则执行步骤303;若否,则执行步骤305。
其中,处于等待状态的执行器对应的二级任务集中通常已经有任务,将当前二级任务集中已有的任务的数据量和新任务的数据量相加获得当前二级任务集的总数量。最大二级任务集数据量是预设可以根据实际需要设定,也可以根据二级任务集的存储容量设定。
需要说明的是,二级任务集包括开放状态和关闭状态,当二级任务集处于开放状态时,新任务可以加入该二级任务集的缓存队列。当二级任务集处于关闭状态时,不能在加入新任务,而且,当二级任务集处于关闭状态时,执行器将执行该二级任务集内的任务。
303,关闭当前二级任务集,执行器进入工作状态。
当总数据量大于预设的最大二级任务集数据量时,关闭当前二级任务集,即修改当前二级任务集的状态为关闭状态,使该当前二级任务集对应的执行器进入工作状态,开始计算该当前二级任务集内的任务。需要说明的是,由于总数据量大于预设的最大二级任务集数据量,新任务无法排列在该二级任务集的缓存队列内,因此,新任务未被进入工作状态的执行器执行。
304,判断是否存在空闲状态的执行器。
当总数据量大于预设的最大二级任务集数据量时,说明该新任务无法排列在该当前二级任务集的缓存队列内,需要寻找新的执行器。因此,需要判断是否存在空闲的执行器,若是,则转至步骤306;若否,则转至步骤309。
305,将新任务加入当前二级任务集。
当总数据量不大于预设的最大二级任务集数据量,将新任务加入当前二级任务集,然后转至步骤307。
306,将新任务加入新创建的新二级任务集。
当执行模块中存在空闲状态的执行器时,创建新二级任务集,并将新任务加入新二级任务集,然后转至步骤307。
307,判断二级任务集的数据量是否等于最大二级任务集数据量。
在步骤307中,不管是当前二级任务集,还是新二级任务集,均要判断二级任务集的数据量是否等于最大二级任务集数据量。
当二级任务集的数据量等于最大二级任务集数据量,则转至步骤303。当二级任务集的数据量小于最大二级任务集数据量时,执行步骤308。
308,将执行器修改为等待状态。
当二级任务集的数据量小于最大二级任务集数据量时,将新二级任务集对应的执行器进入等待状态。对于当前二级任务集,由于已经处于等待状态,因此不涉及修改状态步骤。
309,判断一级缓存队列中是否有处于开放状态的当前一级任务集。
当不存在空闲的执行器时,说明执行模块没有可被利用的资源,新任务需要缓存在缓冲模块内,需要为新任务寻找合适的一级任务集。
因此,通过判断一级缓存队列中是否有处于开放状态的当前一级任务集,新任务优先加入处于开放状态的当前一级任务集的缓冲队列。当一级缓存队列中有处于开放状态的当前一级任务集,则执行步骤310;当一级缓存队列中不存在处于开放状态的当前一级任务集,则执行步骤314。
310,判断一级缓存总数据量是否小于或等于预设的最大一级任务集数据量。
其中,一级缓存总数据量是根据当前一级任务集的当前数据量和新任务的数据量获得的,即将当前一级任务集的当前数据量和新任务的数据量相加获得一级缓存总数据量。
若所述总数据量等于或小于预设的最大一级任务集数据量,则转至步骤311;若所述总数据量大于预设的最大一级任务集数据量,则转至步骤313。
311,将新任务加入当前一级任务集。
当总数据量等于或小于预设的最大一级任务集数据量时,说明该一级任务集仍有存放新任务的空间,将新任务进入当前一级任务集。
312,判断所述总数据量是否等于所述最大一级任务集数据量。
判断所述总数据量是否等于所述最大一级任务集数据量,若是,则关闭所述当前一级任务集,即将当前一级任务集的状态修改为关闭状态,该当前一级任务集的一级缓存队列不再接收新任务。若否,则保持当前一级任务集的开放状态,以接收新任务并加入一级缓存队列等待。
313,关闭当前一级任务集。
若所述总数据量大于预设的最大一级任务集数据量,说明该一级任务集不再接收新任务,然后执行步骤314。关闭所述当前一级任务集,即将当前一级任务集的状态修改为关闭状态,该当前一级任务集的一级缓存队列不再接收新任务。
314,判断一级缓存队列是否已满。
当一级缓存队列中不存在处于开放状态的一级任务集时,判断一级缓存队列是否已满。或者,当关闭当前一级任务集时,判断一级缓存队列是否已满。若级缓存队列已满,则返回失败消息,说明当前服务器处于繁忙状态,无法接收客户端的新任务。若一级缓存队列未满,则执行步骤315。
315,创建新的一级任务集。
若一级缓存队列未满,说明服务器仍有可利用资源,创建新的一级任务集,将该新创建的一级任务集设置为开放状态。由于服务器中其他任务集已被关闭,新创建的一级任务集成为当前一级任务集。
在上述实施例中,二级任务集在总数据量满足条件时关闭,以使执行器执行二级任务集中的任务。
在一些实施例中,二级任务集也可以基于执行器的等待时间关闭。具体地,当执行器处于等待状态的时间达到预设的等待时长时,关闭所述执行器对应的所述二级任务集,并进入工作状态。
需要说明的是,当执行器处于等待状态的时间达到预设的等待时长时,不管二级任务集的数据量是否达到最大二级任务集数据量,均调整为关闭状态,并使对应的执行器进入工作状态,从而避免延时过长。
在一些实施例中,执行器完成二级任务集中的任务后,还可以从缓存装置内获得新的任务集。
图4为本公开实施例的资源调度方法中执行器完成任务后的流程图。如图4所示,执行器完成二级任务集中的任务后,还包括:
401,判断一级缓存队列是否为空。
一级缓存队列是执行模块处于繁忙状态时缓存的任务队列,一级缓存队列为空时,说明服务器没有接收到新任务。若一级缓存队列为空,则执行步骤402;若一级缓存队列不为空,则执行步骤403。
402,所述执行器进入空闲状态。
由于没有新任务,将执行器的状态修改为空闲状态。
403,提取一级缓存队列中的任务集。
当一级缓存队列不为空时,说明有客户端发来新任务,需要及时处理这些任务。服务器从一级缓存队列中提取一级任务集。提取的一级任务集优先选择缓存模块中最先形成的一级任务集,以避免增加时延。
在一些实施例中,只要执行器提取的一级任务集,不管该一级任务集是否处于关闭状态,均进入执行模块。
404,执行器进入工作状态以执行任务集。
执行器提取一级任务集后,立即转为工作状态,完成该任务。
第二方面,本公开实施例提供一种资源调度装置。图5为本公开实施例提供的一种资源调度装置的示例性框图。如图5所示,资源调度装置包括:缓存模块500和执行模块600,其中,所述缓存模块500用于存储一级缓存队列的新任务;所述执行模块600用于存储二级缓存队列的新任务和执行所述新任务。
在一些实施例中,所述缓存模块500包括至少一个一级任务集501,所述一级任务集501用于在执行器均处于工作状态时,存储一级缓存队列的新任务;
所述执行模块600包括至少一个执行器601,每个执行器601包括一对二级任务集611和执行模型612,所述二级任务集611用于当所述执行器处于空闲状态或等待状态时,存放二级缓存队列的新任务;所述执行器612用于执行任务。
本公开实施例提供的资源调度装置,当服务器收到新的任务请求后,判断执行装置中的执行器是否均处于工作状态,若否,则将新任务加入一级缓存队列等待;若是,则将所述新任务加入二级缓存队列等待或被所述执行器执行,即,如果有可用资源,则新任务会进入二级缓存队列,并在条件满足时立即开始计算,无需额外的等待和拷贝时间,如果无可用资源,则新任务会进入一级缓存队列,待执行器有空闲时,新任务第一时间被调度,既降低了延时性,提高了用户的体验;又兼顾了服务器的吞吐量,提高了服务器的使用效率。
第三方面,本公开实施例提供一种电子设备,其包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一种资源调度方法。
第四方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种资源调度方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

Claims (16)

1.一种资源调度方法,其包括:
响应新的任务请求判断执行器是否均处于工作状态,若是,则将新任务加入一级缓存队列等待;若否,则将所述新任务加入二级缓存队列等待或被所述执行器执行。
2.根据权利要求1所述的方法,其中,所述将所述新任务加入一级缓存队列等待,包括:
判断所述一级缓存队列中是否有处于开放状态的当前一级任务集;若有,则所述新任务进入所述当前一级任务集。
3.根据权利要求2所述的方法,其中,所述新任务进入所述当前一级任务集之后,还包括:
根据所述当前一级任务集的当前数据量和所述新任务的数据量获得总数据量;若所述总数据量等于或小于预设的最大一级任务集数据量,则所述新任务进入所述当前一级任务集;若所述总数据量大于预设的最大一级任务集数据量,则关闭所述当前一级任务集,并创建新一级任务集,使所述新任务进入所述新一级任务集等待。
4.根据权利要求3所述的方法,其中,所述新任务进入所述当前一级任务集之后,还包括:
判断所述总数据量是否等于所述最大一级任务集数据量,若是,则关闭所述当前一级任务集。
5.根据权利要求3所述的方法,其中,在所述总数据量大于预设的最大一级任务集数据量并关闭所述当前一级任务集之后,还包括:
判断所述一级缓存队列是否已满;若否,则创建新一级任务集,并将所述新一级任务集设置为开放状态;若是,则返回失败消息。
6.根据权利要求2所述的方法,其中,在所述一级缓存队列中无处于开放状态的当前一级任务集时,
判断所述一级缓存队列是否已满;若否,则创建新一级任务集,并将所述新一级任务集设置为开放状态;若是,则返回失败消息。
7.根据权利要求1所述的方法,其中,所述响应任务请求判断执行器是否均处于工作状态,包括:
响应所述任务请求判断是否有等待状态的执行器;若有,则根据当前二级任务集的当前数据量和所述新任务的数据量获得当前二级任务集的总数据量;若否,则判断是否有空闲状态的执行器。
8.根据权利要求7所述的方法,其中,所述根据当前二级任务集的当前数据量和所述新任务的数据量获得当前二级任务集的总数据量之后,还包括:
判断所述当前二级任务集的总数据量是否大于预设的最大二级任务集数据量,若是,则关闭所述当前二级任务集,使所述当前二级任务集对应的执行器进入工作状态,并判断是否有空闲状态的执行器;若否,则将所述新任务加入新创建的新二级任务集。
9.根据权利要求8所述的方法,其中,所述将所述新任务加入新创建的新二级任务集之后,还包括:
判断所述新二级任务集的数据量是否等于最大二级任务集数据量,若是,则关闭所述新二级任务集,并使所述新二级任务集对应的执行器进入工作状态;若否,则使所述新二级任务集对应的执行器进入等待状态。
10.根据权利要求8所述的方法,其中,所述判断是否有空闲状态的执行器之后,还包括:
若存在空闲的执行器,则创建新的二级任务集;
若不存在空闲的执行器,则判断二级缓存队列是否有开放状态的任务集。
11.根据权利要求10所述的方法,其中,所述创建新的二级任务集之后,还包括:
判断所述新二级任务集的总数据量是否大于预设的最大二级任务集数据量,若是,则关闭所述新二级任务集,并使所述新二级任务集对应的执行器进入工作状态;若否,则使所述新二级任务集对应的执行器进入等待状态。
12.根据权利要求9或11所述的方法,其中,当所述执行器处于等待状态的时间达到预设的等待时长时,关闭所述执行器对应的所述二级任务集,并进入工作状态。
13.根据权利要求1所述的方法,其中,所述执行器完成任务后,还包括:
判断一级缓存队列是否为空,若是,则所述执行器进入空闲状态;若否,则提取所述一级缓存队列中的一级任务集;
执行所述任务集。
14.一种资源调度的装置,其包括:缓存模块和执行模块,所述缓存模块用于存储一级缓存队列的新任务;所述执行模块用于存储二级缓存队列的新任务和执行所述新任务;其中,
所述缓存模块包括至少一个一级任务集,所述一级任务集用于在执行器均处于工作状态时,存储一级缓存队列的新任务;
所述执行模块包括至少一个执行器,所述执行器包括一对二级任务集和执行模型,所述二级任务集用于所述执行器当处于空闲状态或等待状态时,存放二级缓存队列的新任务;所述执行模型用于执行所述新任务。
15.一种电子设备,其包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-13任意一项所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-13任意一项所述的方法。
CN201911395401.0A 2019-12-30 2019-12-30 资源调度方法、装置、电子设备及计算机可读介质 Pending CN113127179A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911395401.0A CN113127179A (zh) 2019-12-30 2019-12-30 资源调度方法、装置、电子设备及计算机可读介质
PCT/CN2020/139085 WO2021136068A1 (zh) 2019-12-30 2020-12-24 资源调度方法、装置、电子设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911395401.0A CN113127179A (zh) 2019-12-30 2019-12-30 资源调度方法、装置、电子设备及计算机可读介质

Publications (1)

Publication Number Publication Date
CN113127179A true CN113127179A (zh) 2021-07-16

Family

ID=76686466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911395401.0A Pending CN113127179A (zh) 2019-12-30 2019-12-30 资源调度方法、装置、电子设备及计算机可读介质

Country Status (2)

Country Link
CN (1) CN113127179A (zh)
WO (1) WO2021136068A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117056085B (zh) * 2023-10-11 2023-12-22 深圳安天网络安全技术有限公司 一种负载均衡方法、装置和安全防护系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100365544C (zh) * 2006-03-10 2008-01-30 浙江大学 嵌入式系统外部设备带有等待超时判断的节能切换方法
CN103150213B (zh) * 2011-12-06 2016-06-22 北大方正集团有限公司 负载平衡方法和装置
CN103399759B (zh) * 2013-06-29 2017-02-08 广州市动景计算机科技有限公司 一种网络内容下载方法及装置
US20180307603A1 (en) * 2017-04-25 2018-10-25 Advanced Micro Devices, Inc. Memory hierarchy-aware processing
CN109426572B (zh) * 2017-08-29 2021-07-02 杭州海康威视数字技术股份有限公司 任务处理方法、装置及电子设备
CN109614049B (zh) * 2018-12-11 2022-03-25 湖南国科微电子股份有限公司 闪存控制方法、闪存控制器及闪存系统

Also Published As

Publication number Publication date
WO2021136068A1 (zh) 2021-07-08

Similar Documents

Publication Publication Date Title
US8424007B1 (en) Prioritizing tasks from virtual machines
CN110837410A (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
CN111104208B (zh) 进程调度管理方法、装置、计算机设备及存储介质
CN113377540A (zh) 集群资源调度方法及装置、电子设备和存储介质
CN109492018B (zh) 一种数据同步系统自适应动态调整方法和装置
CN110737534A (zh) 任务的处理方法、装置和服务器
WO2012103231A1 (en) Computing platform with resource constraint negotiation
CN106960054B (zh) 数据文件的存取方法及装置
CN108509280B (zh) 一种基于推送模型的分布式计算集群本地性调度方法
CN110990154B (zh) 一种大数据应用优化方法、装置及存储介质
CN112486642B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN117251275B (zh) 多应用异步i/o请求的调度方法及系统、设备及介质
CN113127179A (zh) 资源调度方法、装置、电子设备及计算机可读介质
CN105574008B (zh) 应用于分布式文件系统的任务调度方法和设备
US11005776B2 (en) Resource allocation using restore credits
CN116089477B (zh) 分布式训练方法及系统
CN110888739B (zh) 延迟任务的分布式处理方法与装置
CN111177032A (zh) 缓存空间申请方法、系统、装置及计算机可读存储介质
CN108228323B (zh) 基于数据本地性的Hadoop任务调度方法及装置
CN111143063A (zh) 任务的资源预约方法及装置
CN116467053A (zh) 资源调度方法及装置、设备、存储介质
US9483317B1 (en) Using multiple central processing unit cores for packet forwarding in virtualized networks
CN107229519B (zh) 任务调度方法和装置
CN109933426B (zh) 服务调用的处理方法、装置、电子设备及可读存储介质

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