CN116166395A - 任务调度方法、装置、介质及电子设备 - Google Patents

任务调度方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN116166395A
CN116166395A CN202211578829.0A CN202211578829A CN116166395A CN 116166395 A CN116166395 A CN 116166395A CN 202211578829 A CN202211578829 A CN 202211578829A CN 116166395 A CN116166395 A CN 116166395A
Authority
CN
China
Prior art keywords
resource
processed
task
target
resources
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
CN202211578829.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.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine Technology 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 Beijing Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202211578829.0A priority Critical patent/CN116166395A/zh
Publication of CN116166395A publication Critical patent/CN116166395A/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)

Abstract

本公开涉及一种任务调度方法、装置、介质及电子设备,方法包括:从多个待处理任务中确定目标待处理任务,待处理任务携带目标资源类型标识,目标资源类型标识用于标识待处理任务所需的资源类型;根据目标待处理任务的目标资源类型标识,调用第一调度器基于第一资源池维护的可用资源为目标待处理任务分配对应的资源,或,调用第二调度器基于第二资源池维护的可用资源为目标待处理任务分配对应的资源;第一调度器和第二调度器分开独立运行,实现了同一作业中需求不同资源类型的不同待处理任务能够采用相应资源类型的资源进行处理。

Description

任务调度方法、装置、介质及电子设备
技术领域
本公开涉及电子信息技术领域,具体地,涉及一种任务调度方法、装置、介质及电子设备。
背景技术
为了提高集群资源利用率,混部技术应运而生。混部技术用于收集集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源,以供再次分配,从而提高资源利用率。其中,空闲资源是供集群中所有租户共享,空闲资源的资源量是不断变化的,且随时可能被回收,不稳定性较强,因此,也可以称为不稳定资源,对应的,由于固定资源稳定性较强,也可以称为稳定资源。
在相关技术中,固定资源和空闲资源分别处于不同集群,互相物理隔离。用户根据作业的资源的需求,向不同的集群提交作业,以使用不同的资源对作业进行处理。而目前只能将租户提交的作业提交到一个集群,但是存在一个作业需求两种资源的任务的情况,由于固定资源相较于空闲资源的计费更高,若将此作业提交到固定资源对应的集群,租户成本上升,导致用户体验较差;而若降低租户成本,将此作业提交到空闲资源对应的集群,这可能导致此作业中不能中断的任务因空闲资源的不稳定性发生中断的情况。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种任务调度方法,所述方法包括:
从多个待处理任务中确定目标待处理任务,所述目标待处理任务是所述多个待处理任务中优先被分配资源的待处理任务,所述待处理任务携带目标资源类型标识,所述目标资源类型标识用于标识所述待处理任务所需的资源类型;所述待处理任务所需的资源类型为集群系统维护的第一资源池和第二资源池的资源所对应的资源类型中的一种;所述第一资源池用于动态维护所述集群系统提供的固定资源,所述第二资源池用于动态维护所述集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源;
根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源为所述目标待处理任务分配对应的资源,或,调用第二调度器基于所述第二资源池维护的可用资源为所述目标待处理任务分配对应的资源;其中,所述第一调度器用于调度所述第一资源池中资源,所述第二调度器用于调度所述第二资源池中资源,且所述第一调度器和所述第二调度器分开独立运行。
第二方面,本公开提供一种任务调度装置,包括:
第一确定模块,用于从多个待处理任务中确定目标待处理任务,所述目标待处理任务是所述多个待处理任务中优先被分配资源的待处理任务,所述待处理任务携带目标资源类型标识,所述目标资源类型标识用于标识所述待处理任务所需的资源类型;所述待处理任务所需的资源类型为集群系统维护的第一资源池和第二资源池的资源所对应的资源类型中的一种;所述第一资源池用于动态维护所述集群系统提供的固定资源,所述第二资源池用于动态维护所述集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源;
调用模块,用于根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源为所述目标待处理任务分配对应的资源,或,调用第二调度器基于所述第二资源池维护的可用资源为所述目标待处理任务分配对应的资源;其中,所述第一调度器用于调度所述第一资源池中资源,所述第二调度器用于调度所述第二资源池中资源,且所述第一调度器和所述第二调度器分开独立运行。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面中所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面中所述方法的步骤
通过上述技术方案,集群系统维护有第一资源池和第二资源池,且第一资源池用于动态维护集群系统提供的固定资源,第二资源池用于动态维护集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源,为实现一个集群系统能够处理同一作业中需求不同资源类型的资源的不同待处理任务提供基础,基于此,待处理任务携带有目标资源类型标识,目标资源类型标识用于标识待处理任务所需的资源类型,如此,可以根据目标待处理任务的目标资源类型标识,调用第一调度器基于第一资源池维护的可用资源为目标待处理任务分配对应的资源,或,调用第二调度器基于第二资源池维护的可用资源为目标待处理任务分配对应的资源,实现了同一作业中需求不同资源类型的不同待处理任务能够采用相应资源类型的资源进行处理,避免可以使用空闲资源而为目标待处理任务分配固定资源导致成本上升的情况,且还避免了不能中断的目标待处理任务分配空闲资源因空闲资源的不稳定性发生中断的情况;此外,第一调度器和第二调度器分开独立运行,通过两个相互独立的调度器来调度需求不同资源类型的目标待处理任务,由于两个调度器处理的资源类型不同,在不对调度器加锁的情况下,也不会相互干扰,减少资源消耗。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据本公开一示例性实施例示出的一种集群系统的示意图。
图2是根据本公开一示例性实施例示出的一种任务调度方法的流程图。
图3是根据本公开一示例性实施例示出的一种任务调度装置的框图。
图4是根据本公开一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
同时,可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
在相关技术中,处理任务的资源可以分为两类,固定资源和空闲资源,固定资源因其具备稳定性也可以称为稳定资源,空闲资源因其具备不稳定性也可以称为不稳定资源。其中,稳定资源在租户间不做共享,每个租户单独享有集群系统分配给自身的稳定资源。而不稳定资源是租户间的共享资源,且随时可能被回收。如背景技术所言,某些作业存在同时使用两种资源的需求。例如,有一个中心服务和计算服务,中心服务和计算服务都属于同一作业中的任务。中心服务的稳定性非常重要,计算结果和进度都保存在这里,因此需要使用稳定资源,但是计算服务只是不断地执行计算子任务,是一个无状态服务,失败后可以重新启动,而不影响整个计算过程,所以可以使用不稳定资源。而目前的集群系统都面向一种资源类型的资源,由于稳定资源相较于不稳定资源的计费更高,若将此作业提交到稳定资源对应的集群,租户成本上升,导致用户体验较差;而若降低租户成本,将此作业提交到不稳定资源对应的集群,这可能导致此作业中不能中断的任务因不稳定资源的不稳定性发生中断的情况。
有鉴于此,本公开提供一种任务调度方法、装置、介质及电子设备,实现了一个集群系统能够处理同一作业中需求不同资源类型的资源的不同任务。
图1是根据本公开一示例性实施例示出的一种集群系统的示意图。集群系统包括资源管理器和不同的资源节点(资源节点1、资源节点2,…,资源节点N,其中,N为大于2的自然整数),集群系统维护有第一资源池和第二资源池,第一资源池用于动态维护集群系统提供的固定资源,第二资源池用于动态维护集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源;固定资源的资源量是基于各个资源节点的上报情况汇总得到的;空闲资源的资源量也是基于各个资源节点的上报情况汇总得到的。
其中,集群系统还可以包括第一调度器和第二调度器,第一调度器用于调度第一资源池维护的资源对需求第一资源池中资源的任务进行处理,第二调度器用于调度第二资源池维护的资源对需求第二资源池中资源的任务进行处理,第一调度器和第二调度器分开独立运行。
以下结合图1所示的集群系统对本公开进行进一步解释说明。
图2是根据本公开一示例性实施例示出的一种任务调度方法,该任务调度方法可以应用于图1所示的集群系统,该集群系统可以理解为独立的电子设备。参照图2,该任务调度方法可以包括以下步骤:
步骤S201,从多个待处理任务中确定目标待处理任务,目标待处理任务是多个待处理任务中优先被分配资源的待处理任务,待处理任务携带目标资源类型标识,目标资源类型标识用于标识待处理任务所需的资源类型;待处理任务所需的资源类型为集群系统维护的第一资源池和第二资源池的资源所对应的资源类型中的一种;第一资源池用于动态维护集群系统提供的固定资源,第二资源池用于动态维护集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源。
其中,待处理任务是租户发起的待处理作业中的任务,这里的待处理作业可以包括至少一个待处理任务,这里的待处理任务可以是指包含一个或多个程序的服务,用于提供租户某一种或几种功能。
值得说明的是,电子设备一般接收的是租户发起的待处理作业,根据待处理作业解析得到待处理任务。其中,待处理作业还可以携带每个任务的实例数量、启动命令、镜像地址等参数。
步骤S202,根据目标待处理任务的目标资源类型标识,调用第一调度器基于第一资源池维护的可用资源为目标待处理任务分配对应的资源,或,调用第二调度器基于第二资源池维护的可用资源为目标待处理任务分配对应的资源;其中,第一调度器用于调度第一资源池中资源,第二调度器用于调度第二资源池中资源,且第一调度器和第二调度器分开独立运行。
其中,若目标待处理任务的目标资源类型标识对应的所需的资源类型是固定资源对应的资源类型,则调用第一调度器基于第一资源池维护的可用资源为目标待处理任务分配对应的资源;若目标待处理任务的目标资源类型标识对应的所需的资源类型是空闲资源对应的类型,则调用第二调度器基于第二资源池维护的可用资源为目标待处理任务分配对应的资源。其中,以下将固定资源对应的资源类型称为固定类型,将空闲资源对应的资源类型称为空闲类型。
通过上述技术方案,集群系统维护有第一资源池和第二资源池,且第一资源池用于动态维护集群系统提供的固定资源,第二资源池用于动态维护集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源,为实现一个集群系统能够处理同一作业中需求不同资源类型的资源的不同待处理任务提供基础,基于此,待处理任务携带有目标资源类型标识,目标资源类型标识用于标识待处理任务所需的资源类型,如此,可以根据目标待处理任务的目标资源类型标识,调用第一调度器基于第一资源池维护的可用资源为目标待处理任务分配对应的资源,或,调用第二调度器基于第二资源池维护的可用资源为目标待处理任务分配对应的资源,实现了同一作业中需求不同资源类型的不同待处理任务能够采用相应资源类型的资源进行处理,避免可以使用空闲资源而为目标待处理任务分配固定资源导致成本上升的情况,且还避免了不能中断的目标待处理任务分配空闲资源因空闲资源的不稳定性发生中断的情况;此外,第一调度器和第二调度器分开独立运行,通过两个相互独立的调度器来调度需求不同资源类型的目标待处理任务,由于两个调度器处理的资源类型不同,在不对调度器加锁的情况下,也不会相互干扰,减少资源消耗。
在一些实施例中,上述方法还可以包括:接收待处理任务;根据待处理任务的目标资源类型标识,将待处理任务存储到与目标资源类型标识对应的缓存容器。
其中,这里的接收待处理任务的实施方式可以参照上述相关实施例,本实施例在此不作赘述。
值得说明的是,集群系统维护有第一缓存容器和第二缓存容器,第一缓存容器用于存储所需的资源为第一资源池中资源的待处理任务,即在待处理任务的目标资源类型标识待处理任务所需的资源类型为第一资源池中的资源所对应的类型时,则将待处理任务存储至第一缓存容器;第二缓存容器用于存储所需的资源为第二资源池中资源的待处理任务,即在待处理任务的目标资源类型标识待处理任务所需的资源类型为第二资源池中的资源所对应的类型时,则将待处理任务存储至第二缓存容器。
由于同一时间可能会提交大量的待处理任务,而集群系统的处理能力有限,因此,可以将待处理任务存储到对应的缓存容器,以实现待处理任务的缓存。且按照待处理任务所需资源的资源类型来进行缓存,便于集群系统对请求不同资源类型的资源的待处理任务的独立管理。
在将待处理任务存储到对应的缓存容器的情况下,上述从多个待处理任务中确定目标待处理任务的步骤可以通过以下方式实施:调用第一调度器从第一缓存容器中获取第一目标待处理任务,第一目标待处理任务为第一缓存容器中优先被分配资源的待处理任务;以及,调用第二调度器从第二缓存容器中获取第二目标待处理任务,第二目标待处理任务为第二缓存容器中优先被分配资源的待处理任务。
其中,第一调度器只调度固定资源,第一调度器可以在第一缓存容器中选择第一目标待处理任务并为其分配对应的资源,实现第一目标待处理任务的处理;第二调度器只调度空闲资源,第二调度器可以在第二缓存容器中选择第二目标待处理任务并为其分配对应的资源,实现第二目标待处理任务的处理。
通过上述方式,设置两个不同的缓存容器,用于分别存储租户发起的需求不同资源类型的资源的待处理任务,在此基础上,再通过两个分开独立运行的调度器来为需求不同资源类型的资源的待处理任务分配对应的资源。
在一些实施例中,集群系统中维护有资源组,资源组用于维护各租户的资源属性,资源属性包括资源属性包括第一资源量、第二资源量和第三资源量,第一资源量用于标识租户能够使用第二资源池中资源的最小资源量,第二资源量用于标识租户能够使用第二资源池中资源的最大资源量,第三资源量用于标识租户能够使用第一资源中资源的最大资源量和最小资源量,通过以下方式从对应的缓存容器中获取目标待处理任务:调用调度器根据资源组中各租户的资源属性,筛选出已使用资源量小于最大可用资源量、且已使用资源量与参照资源量差距最大的目标租户,调度器从对应的缓存容器中与目标租户对应的所有待处理任务中选择目标待处理任务。
值得说明的是,资源属性用于确定当前应该被分配资源的待处理任务所对应的租户。
其中,在缓存容器为第一缓存容器的情况下,对应的,最大可用资源量和参照资源量均为第三资源量,已使用资源为已使用固定资源量,已使用固定资源量即已使用的固定资源对应的资源量,调度器为第一调度器;在缓存容器为第二缓存容器的情况下,对应的,最大可用资源量为第二资源量,参照资源量为第一资源量,已使用资源为已使用空闲资源量,已使用空闲资源量即已使用的空闲资源对应的资源量,调度器为第二调度器。
值得说明的是,租户对应的第一资源量用于表征该租户至少可以使用的空闲资源对应的资源量,集群系统能够保证该租户一定能够使用到该值。租户对应的第二资源量表征该租户最多可以使用的空闲资源对应的资源量,集群系统为了避免某一租户空闲资源使用过多,因此通过第二资源量用于约束租户能够使用的空闲资源所对应的资源量。
值得说明的是,第二资源量可能小于集群系统能够为其提供的第一资源量。
其中,第一资源量和第二资源量是实时变化的,可以根据集群系统的实际的剩余空闲资源总量来确定,其中,剩余空闲资源总量用于表征集群系统当前还未被使用的空闲资源所对应的资源量,剩余空闲资源总量是通过所有资源节点上报的未被使用的空闲资源所对应的资源量所确定的,即所有资源节点上报的未被使用的空闲资源所对应的资源量量的总和为剩余空闲资源总量,这里的资源节点例如图1所示的各资源节点。
举例来讲,可以通过以下方式得到第一资源量和第二资源量:获取第一剩余资源总量,其中,第一剩余资源总量是通过上报的未被分配的空闲资源所确定的;针对每个租户,根据该租户对应的预设份额和第一剩余资源总量,确定该租户的第一资源量,并根据该租户对应的预设上限值和该第一资源量,确定该租户的第二资源量。
其中,预设份额和预设上限值是通过集群系统进行设定的,预设份额和第一剩余资源总量的乘积为第一资源量。示例地,每个租户的预设份额可以是相等的。例如,以每个租户的预设份额是相等的为例,第一剩余资源总量为100份,租户为4个,则每个租户的预设份额为1/4,则每个租户的第一资源量为25份,即表征集群系统当前能够为每个租户提供25份的空闲资源供每个租户进行使用,这里的份数用于描述资源量。
其中,第一资源量与预设上限值的乘积为第二资源量。由前文可知,为了避免某一租户空闲资源使用过多,通过预设上限值来确定第二资源量,从而实现利用预设上限值来约束租户最多能够使用的空闲资源。
承接上述示例,例如,集群系统当前能够为租户提供25份的空闲资源供每个租户进行使用,而预设上限值为2/5,则租户最多能够使用的空闲资源量为10份,这里的份数用于描述资源量。
值得说明的是,第三资源量即表征了该租户至少可以使用的固定资源所对应的资源量,同时,也表征了该租户最多可以使用的固定资源所对应的资源量。其中,第三资源量可以由集群系统设定,可以是固定不变的值。
值得说明的是,在分配资源时,若租户已使用资源量大于最多可以使用的资源量,则表征已经不能为租户分配资源了,即这种租户不能作为目标租户,进一步地,为保证各租户已使用资源量同时达到最小资源量的时间差异最小化,解决了多租户场景下集群系统调度不均衡的问题,需要将已使用资源与最小资源量差距最大的租户作为目标租户,这里最小资源量意指上述的参照资源量。
通过上述方式,各调度器结合资源组维护的各租户的资源属性来确定目标租户,调度器再从对应的缓存容器中与目标租户对应的所有待处理任务中选择目标待处理任务,避免为已使用资源量大于最多可以使用的资源量的租户分配资源,并同时解决了多租户场景下集群系统调度不均衡的问题。
以下针对不同调度器确定目标待处理任务的实施过程进行示例性说明。
针对第一调度器而言,第一调度器通过以下方式从对应的第一缓存容器中获取第一目标待处理任务:第一调度器根据各租户的第三资源量,筛选出已使用的固定资源的资源量小于第三资源量,且已使用的固定资源的资源量与第三资源量差距最大的目标租户;第一调度器从第一缓存容器中与目标租户对应的所有待处理任务中选择第一目标待处理任务。
其中,关于第三资源量的说明可以参照上述相关实施例。
通过上述方式,避免为已使用的固定资源的资源量大于最多可以使用的稳定资源量的租户继续分配固定资源,并同时解决了多租户场景下集群系统固定资源调度不均衡的问题。
针对第二调度器而言,第二调度器通过以下方式从对应的第二缓存容器中获取第二目标待处理任务:第二调度器根据各租户的第一资源量和第二资源量,筛选出已使用的空闲资源的资源量小于第二资源量,且已使用的空闲资源的资源量与第一资源量差距最大的目标租户;第二调度器从第二缓存容器中与目标租户对应的所有待处理任务中选择第二目标待处理任务。
其中,关于第一资源量和第二资源量的说明可以参照上述相关实施例。
通过上述方式,避免为已使用的空闲资源的资源量大于最多可以使用的空闲资源的资源量的租户继续分配空闲资源,并同时解决了多租户场景下集群系统空闲资源调度不均衡的问题。
在一些实施例中,调用调度器从对应的缓存容器中与目标租户对应的所有待处理任务中选择目标待处理任务可以通过以下方式实施:调用调度器根据预设作业排序策略和预设任务排序策略,对在对应的缓存容器中与目标租户对应的所有待处理任务进行排序,得到排序结果;调用调度器将排序结果中的首个待处理任务确定为目标待处理任务。
其中,目标租户的排序结果中排列在前的待处理任务相较于排列在后的待处理任务优先被分配资源进行处理。
值得说明的是,对所有待处理任务进行排序的排序方式可以进行预配置,即可以对预设作业排序策略和预设任务排序策略进行预配置。
值得说明的是,由于目标租户的待处理任务中可能存在属于不同待处理作业的情况,因此,可以先从作业维度,即根据预设作业排序策略对所有待处理任务进行排序,接着,再从任务维度,即根据预设任务排序策略对属于同一待处理作业的任务进行排序,从而得到最终的排序结果。
示例地,预设作业排序策略包括属于第一作业的待处理任务排列在属于第二作业的待处理任务之前,在任意两个作业中,优先级高的作业为第一作业,优先级低的作业为第二作业。
示例地,预设任务排序策略包括同一作业中的第一待处理任务排列在第二待处理任务之前,在同一作业的任意两个待处理任务中,优先级高的待处理任务为第一待处理任务,优先级低的待处理任务为第二待处理任务。
其中,每个待处理任务优先级以及待处理任务对应的待处理作业的优先级可以预先设置,并携带在待处理任务中,即每一待处理任务携带有该待处理任务所属待处理作业的作业优先级以及该待处理任务的任务优先级。
通过上述方式,利用优先级来进行排序,从而使优先级高的待处理作业中优先级高的待处理任务能够优先被处理。
以下结合上述示例的预设作业排序策略和预设任务排序策略,针对不同调度器根据预设作业排序策略和预设任务排序策略对在对应的缓存容器中与所述目标租户对应的所有待处理任务进行排序的实施过程进行示例性说明。
针对第一调度器而言,第一调度器根据预设作业排序策略,对在对应的第一缓存容器中与目标租户对应的所有待处理任务进行排序,得到第一排序结果;第一调度器根据预设任务排序策略,对第一排序结果中的所有待处理任务进行排序,得到第二排序结果,其中,第二排序结果中的首个待处理任务为第一目标待处理任务。
其中,这里的第一缓存容器中与目标租户对应的所有待处理任务为请求资源类型固定类型的待处理任务。
值得说明的是,在第二排序结果中,属于第一作业的待处理任务排列在属于第二作业的待处理任务之前,且同一作业中的第一待处理任务排列在第二待处理任务之前。示例地,以第一缓存容器中与目标租户对应的所有待处理任务包括待处理任务A1、待处理任务B1、待处理任务B2和待处理任务C1为例,其中,待处理任务A1属于待处理作业A,待处理任务B1和待处理任务B2属于待处理作业B,待处理任务C1属于待处理作业C,待处理作业A的优先级低于待处理作业B且低于待处理作业C,待处理作业B的优先级高于待处理作业C,待处理任务B2的优先级高于待处理任务B1。对待处理任务A1、待处理任务B1、待处理任务B2和待处理任务C1按照预设作业排序策略进行排序,得到的第一排序结果为[待处理任务B1、待处理任务B2、待处理任务C1、待处理任务A1];对第一排序结果按照预设任务排序策略进行排序,得到的第二排序结果为[待处理任务B2、待处理任务B1、待处理任务C1、待处理任务A1],则待处理任务B2为第一目标待处理任务。
其中,关于预设作业排序策略、预设任务排序策略、第一作业、第二作业、第一待处理任务以及第二待处理任务的解释说明可以参照上述相关实施例,本实施例在此不做赘述。
针对第二调度器而言,第二调度器根据预设作业排序策略,对在对应的第二缓存容器中与目标租户对应的所有待处理任务进行排序,得到第三排序结果;第二调度器根据预设任务排序策略,对第三排序结果中的所有待处理任务进行排序,得到第四排序结果,其中,第四排序结果中的首个待处理任务为第二目标待处理任务。
其中,这里的第二缓存容器中与目标租户对应的所有待处理任务为请求资源类型为空闲类型的待处理任务。
值得说明的是,在第四排序结果中,属于第一作业的待处理任务排列在属于第二作业的待处理任务之前,且同一作业中的第一待处理任务排列在第二待处理任务之前。示例地,以第二缓存容器中与目标租户对应的所有待处理任务包括待处理任务a1、待处理任务b1、待处理任务b2和待处理任务c1为例,其中,待处理任务a1属于待处理作业A,待处理任务b1和待处理任务b2属于待处理作业B,待处理任务c1属于待处理作业C,待处理作业A的优先级低于待处理作业B且低于待处理作业C,待处理作业B的优先级高于待处理作业C,待处理任务b2的优先级高于待处理任务b1。对待处理任务a1、待处理任务b1、待处理任务b2和待处理任务c1按照预设作业排序策略进行排序,得到的第三排序结果为[待处理任务b1、待处理任务b2、待处理任务c1、待处理任务a1];对第三排序结果按照预设任务排序策略进行排序,得到的第四排序结果为[待处理任务b2、待处理任务b1、待处理任务c1、待处理任务a1],则待处理任务b2为第二目标待处理任务。
其中,关于预设作业排序策略、预设任务排序策略、第一作业、第二作业、第一待处理任务以及第二待处理任务的解释说明可以参照上述相关实施例,本实施例在此不做赘述。
在一些实施例中,待处理任务携带有资源节点优先级规则,上述的根据目标待处理任务的目标资源类型标识,调用第一调度器基于第一资源池维护的可用资源为目标待处理任务分配对应的资源,或调用第二调度器基于第二资源池维护的可用资源为目标待处理任务分配对应的资源的步骤可以通过以下方式实施:根据目标待处理任务的目标资源类型标识,调用第一调度器基于第一资源池维护的可用资源确定具有与目标待处理任务的目标资源类型标识对应的资源的第一候选资源节点,并按照资源节点优先级规则为目标待处理任务分配第一候选资源节点中优先级最高的目标第一候选资源节点上与目标待处理任务的目标资源类型标识对应的资源;或,调用第二调度器基于第二资源池维护的可用资源确定具有与目标待处理任务的目标资源类型标识对应的资源的第二候选资源节点,并按照资源节点优先级规则为目标待处理任务分配第二候选资源节点中优先级最高的目标第二候选资源节点上与目标待处理任务的目标资源类型标识对应的资源。
值得说明的是,资源节点通常可以提供至少一种资源类型的资源以处理目标待处理任务。因此,对于目标待处理任务而言,至少包括与目标待处理任务的目标资源类型标识对应的资源的资源节点能够作为处理目标待处理任务的候选资源节点。
示例地,在目标待处理任务的目标资源类型标识为请求固定类型对应的固定资源的情况下,其第一候选资源节点可以为仅包括固定类型对应的固定资源的资源节点,也可以为同时包括固定类型对应的固定资源和空闲类型对应的空闲资源的资源节点。
示例地,在目标待处理任务的目标资源类型标识为请求空闲类型对应的空闲资源的情况下,其第二候选资源节点可以为仅包括空闲类型对应的空闲资源的资源节点,也可以为同时包括固定类型对应的固定资源和空闲类型对应的空闲资源的资源节点。
示例地,这里的资源节点优先级规则可以是高速资源节点的优先级高于低速资源节点的优先级。对应的,即在多个第一候选资源节点中,优先采用高速资源节点来作为最终处理目标待处理任务的目标第一候选资源节点,并利用目标第一候选资源节点上与目标待处理任务的目标资源类型标识对应的资源来处理目标待处理任务。对应的,即在多个第二候选资源节点中,优先采用高速资源节点来作为最终处理目标待处理任务的目标第二候选资源节点,并利用目标第二候选资源节点上与目标待处理任务的目标资源类型标识对应的资源来处理目标待处理任务。
示例地,这里的资源节点优先级规则可以是剩余资源量大的资源节点的优先级高于剩余资源量小的资源节点。对应的,即在多个第一候选资源节点中,优先采用剩余可用资源量最大的第一候选资源节点来作为处理目标待处理任务的目标第一候选资源节点,并利用目标第一候选资源节点上与目标待处理任务的目标资源类型标识对应的资源来处理目标待处理任务。对应的,即在多个第二候选资源节点中,优先采用剩余可用资源量最大的第二候选资源节点来作为处理目标待处理任务的目标第二候选资源节点,并利用目标第二候选资源节点上与目标待处理任务的目标资源类型标识对应的资源来处理目标待处理任务。其中,在目标待处理任务是需求固定资源时,这里的剩余资源量表征的是第一资源池中剩余可用的固定资源;在目标待处理任务是需求空闲资源时,这里的剩余资源量表征的是第而资源池中剩余可用的空闲资源。
通过上述方式,通过设置资源节点优先级规则来进一步筛选最合适目标待处理任务的资源节点,并将该资源节点上与目标待处理任务的目标资源类型标识对应的资源类型的资源分配给目标待处理任务,以处理目标待处理任务。
图3是根据本公开一示例性实施例示出的一种任务调度装置的框图,参照图3,该任务调度装置300包括:
第一确定模块301,用于从多个待处理任务中确定目标待处理任务,所述目标待处理任务是所述多个待处理任务中优先被分配资源的待处理任务,所述待处理任务携带目标资源类型标识,所述目标资源类型标识用于标识所述待处理任务所需的资源类型;所述待处理任务所需的资源类型为集群系统维护的第一资源池和第二资源池的资源所对应的资源类型中的一种;所述第一资源池用于动态维护所述集群系统提供的固定资源,所述第二资源池用于动态维护所述集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源;
调用模块302,用于根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源为所述目标待处理任务分配对应的资源,或,调用第二调度器基于所述第二资源池维护的可用资源为所述目标待处理任务分配对应的资源;其中,所述第一调度器用于调度所述第一资源池中资源,所述第二调度器用于调度所述第二资源池中资源,且所述第一调度器和所述第二调度器分开独立运行。
可选地,所述装置300还包括:
接收模块,接收待处理任务;
存储模块,根据所述待处理任务的目标资源类型标识,将所述待处理任务存储到与所述目标资源类型标识对应的缓存容器,所述集群系统维护有第一缓存容器和第二缓存容器,所述第一缓存容器用于存储所需的资源为所述第一资源池中资源的待处理任务,所述第二缓存容器用于存储所需的资源为所述第二资源池中资源的待处理任务;
所述第一确定模块301具体用于:
调用第一调度器从所述第一缓存容器中获取第一目标待处理任务,所述第一目标待处理任务为所述第一缓存容器中优先被分配资源的待处理任务;以及,
调用所述第二调度器从所述第二缓存容器中获取第二目标待处理任务,所述第二目标待处理任务为所述第二缓存容器中优先被分配资源的待处理任务。
可选地,所述集群系统中维护有资源组,所述资源组用于维护各租户的资源属性,所述资源属性包括第一资源量、第二资源量和第三资源量,所述第一资源量用于标识租户能够使用所述第二资源池中资源的最小资源量,所述第二资源量用于标识租户能够使用所述第二资源池中资源的最大资源量,所述第三资源量用于标识租户能够使用所述第一资源中资源的最大资源量和最小资源量,所述第一确定模块301还具体用于:
调用调度器根据所述资源组中各租户的资源属性,筛选出已使用资源量小于最大可用资源量、且已使用资源量与参照资源量差距最大的目标租户,所述缓存容器为所述第一缓存容器,对应的,所述最大可用资源量和所述参照资源量均为所述第三资源量,所述缓存容器为所述第二缓存容器,对应的,所述最大可用资源量为所述第二资源量,所述参照资源量为所述第一资源量;
调用所述调度器从对应的缓存容器中与所述目标租户对应的所有待处理任务中选择目标待处理任务。
可选地,所述装置300还包括:
获取模块,用于获取第一剩余资源总量,其中,所述第一剩余资源总量是通过上报的未被分配的空闲资源所确定的;
第二确定模块,用于针对每个所述租户,根据该租户对应的预设份额和所述第一剩余资源总量,确定该租户的第一资源量,并根据该租户对应的预设上限值和该第一资源量,确定该租户的第二资源量。
可选地,所述第一确定模块301还具体用于:调用所述调度器根据预设作业排序策略和预设任务排序策略,对在对应的缓存容器中与所述目标租户对应的所有待处理任务进行排序,得到排序结果;所述排序结果中排列在前的待处理任务相较于排列在后的待处理任务优先被分配资源进行处理;
调用所述调度器将所述排序结果中的首个待处理任务确定为所述目标待处理任务。
可选地,所述预设作业排序策略包括属于第一作业的待处理任务排列在属于第二作业的待处理任务之前,在任意两个作业中,优先级高的作业为所述第一作业,优先级低的作业为所述第二作业。
可选地,所述预设任务排序策略包括同一作业中的第一待处理任务排列在第二待处理任务之前,在同一作业的任意两个待处理任务中,优先级高的待处理任务为所述第一待处理任务,优先级低的待处理任务为所述第二待处理任务。
可选地,所述待处理任务携带有资源节点优先级规则,所述调用模块包括:
第一调用子模块,用于根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源确定具有与所述目标待处理任务的目标资源类型标识对应的资源的第一候选资源节点,并按照所述资源节点优先级规则为所述目标待处理任务分配所述第一候选资源节点中优先级最高的目标第一候选资源节点上与所述目标待处理任务的目标资源类型标识对应的资源;
第二调用子模块,用于根据所述目标待处理任务的目标资源类型标识,调用第二调度器基于所述第二资源池维护的可用资源确定具有与所述目标待处理任务的目标资源类型标识对应的资源的第二候选资源节点,并按照所述资源节点优先级规则为所述目标待处理任务分配所述第二候选资源节点中优先级最高的目标第二候选资源节点上与所述目标待处理任务的目标资源类型标识对应的资源。
其中,关于上述装置中各模块的实施方式可以参照上述方法实施例,本实施例在此不作赘述。
本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现上述方法实施例中方法的步骤。
本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现上述方法实施例中方法的步骤。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,电子设备可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从多个待处理任务中确定目标待处理任务,所述目标待处理任务是所述多个待处理任务中优先被分配资源的待处理任务,所述待处理任务携带目标资源类型标识,所述目标资源类型标识用于标识所述待处理任务所需的资源类型;所述待处理任务所需的资源类型为集群系统维护的第一资源池和第二资源池的资源所对应的资源类型中的一种;所述第一资源池用于动态维护所述集群系统提供的固定资源,所述第二资源池用于动态维护所述集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源;根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源为所述目标待处理任务分配对应的资源,或,调用第二调度器基于所述第二资源池维护的可用资源为所述目标待处理任务分配对应的资源;其中,所述第一调度器用于调度所述第一资源池中资源,所述第二调度器用于调度所述第二资源池中资源,且所述第一调度器和所述第二调度器分开独立运行。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

Claims (11)

1.一种任务调度方法,其特征在于,所述方法包括:
从多个待处理任务中确定目标待处理任务,所述目标待处理任务是所述多个待处理任务中优先被分配资源的待处理任务,所述待处理任务携带目标资源类型标识,所述目标资源类型标识用于标识所述待处理任务所需的资源类型;所述待处理任务所需的资源类型为集群系统维护的第一资源池和第二资源池的资源所对应的资源类型中的一种;所述第一资源池用于动态维护所述集群系统提供的固定资源,所述第二资源池用于动态维护所述集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源;
根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源为所述目标待处理任务分配对应的资源,或,调用第二调度器基于所述第二资源池维护的可用资源为所述目标待处理任务分配对应的资源;其中,所述第一调度器用于调度所述第一资源池中资源,所述第二调度器用于调度所述第二资源池中资源,且所述第一调度器和所述第二调度器分开独立运行。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收待处理任务;
根据所述待处理任务的目标资源类型标识,将所述待处理任务存储到与所述目标资源类型标识对应的缓存容器,所述集群系统维护有第一缓存容器和第二缓存容器,所述第一缓存容器用于存储所需的资源为所述第一资源池中资源的待处理任务,所述第二缓存容器用于存储所需的资源为所述第二资源池中资源的待处理任务;
所述从多个待处理任务中确定目标待处理任务包括:
调用第一调度器从所述第一缓存容器中获取第一目标待处理任务,所述第一目标待处理任务为所述第一缓存容器中优先被分配资源的待处理任务;以及,
调用所述第二调度器从所述第二缓存容器中获取第二目标待处理任务,所述第二目标待处理任务为所述第二缓存容器中优先被分配资源的待处理任务。
3.根据权利要求2所述的方法,其特征在于,所述集群系统中维护有资源组,所述资源组用于维护各租户的资源属性,所述资源属性包括第一资源量、第二资源量和第三资源量,所述第一资源量用于标识租户能够使用所述第二资源池中资源的最小资源量,所述第二资源量用于标识租户能够使用所述第二资源池中资源的最大资源量,所述第三资源量用于标识租户能够使用所述第一资源中资源的最大资源量和最小资源量,通过以下方式从对应的缓存容器中获取目标待处理任务:
调用调度器根据所述资源组中各租户的资源属性,筛选出已使用资源量小于最大可用资源量、且已使用资源量与参照资源量差距最大的目标租户,所述缓存容器为所述第一缓存容器,对应的,所述最大可用资源量和所述参照资源量均为所述第三资源量,所述缓存容器为所述第二缓存容器,对应的,所述最大可用资源量为所述第二资源量,所述参照资源量为所述第一资源量;
调用所述调度器从对应的缓存容器中与所述目标租户对应的所有待处理任务中选择目标待处理任务。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取第一剩余资源总量,其中,所述第一剩余资源总量是通过上报的未被分配的空闲资源所确定的;
针对每个所述租户,根据该租户对应的预设份额和所述第一剩余资源总量,确定该租户的第一资源量,并根据该租户对应的预设上限值和该第一资源量,确定该租户的第二资源量。
5.根据权利要求3所述的方法,其特征在于,所述调用所述调度器从对应的缓存容器中与所述目标租户对应的所有待处理任务中选择目标待处理任务,包括:
调用所述调度器根据预设作业排序策略和预设任务排序策略,对在对应的缓存容器中与所述目标租户对应的所有待处理任务进行排序,得到排序结果;所述排序结果中排列在前的待处理任务相较于排列在后的待处理任务优先被分配资源进行处理;
调用所述调度器将所述排序结果中的首个待处理任务确定为所述目标待处理任务。
6.根据权利要求5所述的方法,其特征在于,所述预设作业排序策略包括属于第一作业的待处理任务排列在属于第二作业的待处理任务之前,在任意两个作业中,优先级高的作业为所述第一作业,优先级低的作业为所述第二作业。
7.根据权利要求5所述的方法,其特征在于,所述预设任务排序策略包括同一作业中的第一待处理任务排列在第二待处理任务之前,在同一作业的任意两个待处理任务中,优先级高的待处理任务为所述第一待处理任务,优先级低的待处理任务为所述第二待处理任务。
8.根据权利要求1所述的方法,其特征在于,所述待处理任务携带有资源节点优先级规则,所述根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源为所述目标待处理任务分配对应的资源,或,调用第二调度器基于所述第二资源池维护的可用资源为所述目标待处理任务分配对应的资源,包括:
根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源确定具有与所述目标待处理任务的目标资源类型标识对应的资源的第一候选资源节点,并按照所述资源节点优先级规则为所述目标待处理任务分配所述第一候选资源节点中优先级最高的目标第一候选资源节点上与所述目标待处理任务的目标资源类型标识对应的资源;
或,调用第二调度器基于所述第二资源池维护的可用资源确定具有与所述目标待处理任务的目标资源类型标识对应的资源的第二候选资源节点,并按照所述资源节点优先级规则为所述目标待处理任务分配所述第二候选资源节点中优先级最高的目标第二候选资源节点上与所述目标待处理任务的目标资源类型标识对应的资源。
9.一种任务调度装置,其特征在于,包括:
第一确定模块,用于从多个待处理任务中确定目标待处理任务,所述目标待处理任务是所述多个待处理任务中优先被分配资源的待处理任务,所述待处理任务携带目标资源类型标识,所述目标资源类型标识用于标识所述待处理任务所需的资源类型;所述待处理任务所需的资源类型为集群系统维护的第一资源池和第二资源池的资源类型中的一种;所述第一资源池用于动态维护所述集群系统提供的固定资源,所述第二资源池用于动态维护所述集群系统提供的固定资源在使用过程中产生可供再分配的空闲资源;
调用模块,用于根据所述目标待处理任务的目标资源类型标识,调用第一调度器基于所述第一资源池维护的可用资源为所述目标待处理任务分配对应的资源,或,调用第二调度器基于所述第二资源池维护的可用资源为所述目标待处理任务分配对应的资源;其中,所述第一调度器用于调度所述第一资源池中资源,所述第二调度器用于调度所述第二资源池中资源,且所述第一调度器和所述第二调度器分开独立运行。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-8中任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-8中任一项所述方法的步骤。
CN202211578829.0A 2022-12-05 2022-12-05 任务调度方法、装置、介质及电子设备 Pending CN116166395A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211578829.0A CN116166395A (zh) 2022-12-05 2022-12-05 任务调度方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211578829.0A CN116166395A (zh) 2022-12-05 2022-12-05 任务调度方法、装置、介质及电子设备

Publications (1)

Publication Number Publication Date
CN116166395A true CN116166395A (zh) 2023-05-26

Family

ID=86413930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211578829.0A Pending CN116166395A (zh) 2022-12-05 2022-12-05 任务调度方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN116166395A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846979A (zh) * 2023-08-29 2023-10-03 云南昇顺科技有限公司 一种云计算环境下资源的调度方法及调度系统
CN116974771A (zh) * 2023-09-18 2023-10-31 腾讯科技(深圳)有限公司 资源调度方法、相关装置、电子设备及介质
CN117170873A (zh) * 2023-09-12 2023-12-05 广州云硕科技发展有限公司 基于人工智能的资源池管理方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846979A (zh) * 2023-08-29 2023-10-03 云南昇顺科技有限公司 一种云计算环境下资源的调度方法及调度系统
CN116846979B (zh) * 2023-08-29 2024-03-15 江苏睿鸿网络技术股份有限公司 一种云计算环境下资源的调度方法及调度系统
CN117170873A (zh) * 2023-09-12 2023-12-05 广州云硕科技发展有限公司 基于人工智能的资源池管理方法及系统
CN117170873B (zh) * 2023-09-12 2024-06-07 广州云硕科技发展有限公司 基于人工智能的资源池管理方法及系统
CN116974771A (zh) * 2023-09-18 2023-10-31 腾讯科技(深圳)有限公司 资源调度方法、相关装置、电子设备及介质
CN116974771B (zh) * 2023-09-18 2024-01-05 腾讯科技(深圳)有限公司 资源调度方法、相关装置、电子设备及介质

Similar Documents

Publication Publication Date Title
CN116166395A (zh) 任务调度方法、装置、介质及电子设备
CN111475235B (zh) 函数计算冷启动的加速方法、装置、设备及存储介质
CN114020470B (zh) 资源分配方法、装置、可读介质及电子设备
CN111427706B (zh) 数据处理方法、多服务器系统、数据库、电子设备及存储介质
CN112905342B (zh) 资源调度方法、装置、设备及计算机可读存储介质
CN113553178A (zh) 任务处理方法、装置和电子设备
CN114625536B (zh) 显存分配方法、装置、介质及电子设备
CN113722056A (zh) 任务调度方法、装置、电子设备和计算机可读介质
CN111580974B (zh) Gpu实例分配方法、装置、电子设备和计算机可读介质
CN115686346A (zh) 一种数据存储方法、设备及计算机可读存储介质
CN115237589A (zh) 一种基于sr-iov的虚拟化方法、装置和设备
CN112306685B (zh) 任务隔离方法、装置、电子设备及计算机可读介质
CN111813541B (zh) 一种任务调度方法、装置、介质和设备
CN111694670B (zh) 资源分配方法、装置、设备和计算机可读介质
CN109426561A (zh) 一种任务处理方法、装置及设备
CN117201496A (zh) 任务调度方法、任务提交方法、装置、设备及介质
CN113792869B (zh) 基于神经网络芯片的视频处理方法、装置和电子设备
CN112148448B (zh) 资源分配方法、装置、设备和计算机可读介质
CN115629853A (zh) 一种任务调度的方法和装置
CN111538717B (zh) 数据处理的方法、装置、电子设备及计算机可读介质
CN111694672B (zh) 资源分配方法、任务提交方法、装置、电子设备和介质
CN114489978A (zh) 资源调度方法、装置、设备及存储介质
CN118012563A (zh) 资源分配方法、装置、介质及电子设备
CN115309410B (zh) 边缘计算场景的边缘集群应用发布方法、装置和电子设备
CN114785794B (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