CN113961335A - 资源调度方法、资源调度系统及设备 - Google Patents

资源调度方法、资源调度系统及设备 Download PDF

Info

Publication number
CN113961335A
CN113961335A CN202010625668.0A CN202010625668A CN113961335A CN 113961335 A CN113961335 A CN 113961335A CN 202010625668 A CN202010625668 A CN 202010625668A CN 113961335 A CN113961335 A CN 113961335A
Authority
CN
China
Prior art keywords
scheduling
resource
crd
pod
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
CN202010625668.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 CN202010625668.0A priority Critical patent/CN113961335A/zh
Priority to EP21833960.4A priority patent/EP4177751A4/en
Priority to US18/004,067 priority patent/US20230266999A1/en
Priority to PCT/CN2021/103638 priority patent/WO2022002148A1/zh
Priority to JP2023500093A priority patent/JP7502550B2/ja
Publication of CN113961335A publication Critical patent/CN113961335A/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
    • 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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种资源调度方法、资源调度系统、设备及计算机可读存储介质,其中,资源调度方法包括从调度队列中获取调度对象;当所述调度对象为自定义资源,根据当前资源状态拆解所述自定义资源,得到调度单元列表,所述调度单元列表包括用于构成所述自定义资源的第一调度单元;依次调度所述调度单元列表中的所述第一调度单元。适用于Kubernetes调度平台,在调度时若调度对象为CRD,则根据当前资源状态拆解CRD,得到调度单元列表,调度单元列表包括Pod集合,这样Kubernetes调度平台可根据调度单元列表对全部Pod进行原子调度,且所有Pod按照队列依次进行调度,避免插入其它Pod,这样保证CRD能够被合理调度,调度效率高,使Kubernetes调度平台能够兼容各种业务场景。

Description

资源调度方法、资源调度系统及设备
技术领域
本发明涉及计算机技术领域,特别涉及一种资源调度方法、资源调度系统、设备及计算机可读存储介质。
背景技术
Kubernetes作为当前最主流的容器编排、调度平台,Kubernetes可通过良好的扩展性来支持用户自定义资源(Custom Resource Definitions,CRD)的管理,方便用户将自定义资源作为一个整体对象实体来管理。但是目前Kubernetes仅支持Pod的调度,要调度CRD需要专门的调度器,多调度器之间会引发资源调度冲突问题,同时也会出现以下问题:资源无法满足CRD的资源请求,导致CRD无法被调度;即使CRD能被成功调度,但是CRD并不是按最佳的资源分配方式进行调度,运行效率就会降低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明提出一种资源调度方法、资源调度系统、设备及计算机可读存储介质,能够将自定义资源拆解并进行调度,调度更高效。
第一方面,本发明实施例提供的资源调度方法,包括:
从调度队列中获取调度对象;
当所述调度对象为自定义资源,根据当前资源状态拆解所述自定义资源,得到调度单元列表,所述调度单元列表包括用于构成所述自定义资源的调度单元;
依次调度所述调度单元列表中的所述调度单元。
第二方面,本发明实施例提供的资源调度系统,包括:
调度器,用于从调度队列中获取调度对象;
拆分器,用于当所述调度对象为自定义资源,根据当前资源状态拆解所述自定义资源,得到调度单元列表,所述调度单元列表包括用于构成所述自定义资源的调度单元;
其中,所述调度器依次调度所述调度单元列表中的所述调度单元。
第三方面,本发明实施例提供的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面实施例的资源调度方法。
第四方面,本发明实施例提供的计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上述第一方面实施例的资源调度方法。
本发明实施例包括:资源调度时从调度队列中获取调度对象,若调度对象为自定义资源,则根据当前资源状态拆解自定义资源,得到调度单元列表,该调度单元列表包括用于构成自定义资源的第一调度单元,然后根据调度单元列表依次调度每个第一调度单元,能够应用于Kubernetes调度平台,在调度时若调度对象为CRD,则根据当前资源状态拆解CRD,得到调度单元列表,调度单元列表包括Pod的集合,这样Kubernetes调度平台可根据调度单元列表对全部Pod进行原子调度,且所有Pod按照队列依次进行调度,避免插入其它Pod,这样保证CRD能够被合理调度,调度效率高,使Kubernetes调度平台能够兼容各种业务场景。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一个实施例提供的系统架构平台的示意图;
图2是本发明一个实施例提供的资源调度方法的流程图;
图3是本发明另一实施例提供的资源调度方法的流程图;
图4是本发明另一实施例提供的资源调度方法的流程图;
图5是本发明另一实施例提供的资源调度方法的流程图;
图6是本发明另一实施例提供的资源调度方法的流程图;
图7是本发明另一实施例提供的资源调度方法的流程图;
图8是本发明另一实施例提供的资源调度方法的流程图;
图9是本发明另一实施例提供的资源调度方法的流程图;
图10是本发明另一实施例提供的资源调度方法的流程图;
图11是本发明另一实施例提供的资源调度方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。在Kubernetes中,可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理,Kubernetes有着广泛的应用,很多企业或者研究机构的云计算、人工智能等平台都是基于Kubernetes实现的。Kubernetes通过良好的扩展性来支持用户自定义资源(Custom Resource Definitions,CRD)的管理,方便用户将自定义资源作为一个整体对象实体来管理。
但是目前Kubernetes仅支持Pod的调度,Pod是Kubernetes中能够创建和部署的最小单元,是Kubernetes集群中的一个应用实例,总是部署在同一个节点上,Pod中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。Kubernetes调度CRD需要专门的调度器,多调度器之间会引发资源调度冲突问题。
针对Kubernetes默认调度器仅支持Pod的调度,不支持CRD对象的调度,Kubernetes默认调度器不能根据当前的资源状态将CRD对象自动合理地拆解成Pod。本发明提供了本发明提出一种资源调度方法、资源调度系统、设备及计算机可读储存介质,在资源调度时,从调度队列中获取调度对象,若调度对象为自定义资源,则根据当前资源状态拆解自定义资源,得到调度单元列表,该调度单元列表包括用于构成自定义资源的第一调度单元,然后根据调度单元列表依次调度每个第一调度单元,该资源调度方法能够应用于Kubernetes调度平台,第一调度单元为CRD对象,在调度时若调度对象为CRD,则根据当前资源状态拆解CRD,得到调度单元列表,调度单元列表包括Pod的集合,这样Kubernetes调度平台可根据调度单元列表对Pod进行原子调度,且所有Pod按照队列依次进行调度,避免插入其它Pod,这样保证CRD能够被合理调度,调度效率高,使Kubernetes调度平台能够兼容各种业务场景。
下面将结合附图对本发明的技术方案进行清楚、完整的描述,显然,以下所描述的实施例是本发明一部分实施例,并非全部实施例。
参见图1所示,图1是本发明一个实施例提供的用于执行资源调度方法的系统架构平台100示意图,该系统架构平台100也是就资源调度系统。
在图1所示的实施例中,系统架构平台100包括调度器110和拆分器120,其中,调度器110用于调度对象的调度,拆分器120用于响应调度器110的拆解请求,将调度对象进行拆解,以满足调度器110的调度要求。具体的,调度时调度器110从调度队列中获取调度对象,当调度对象为自定义资源,拆分器120能够根据当前资源状态拆解自定义资源,得到调度单元列表,该调度单元列表包括用于构成自定义资源的第一调度单元。调度器110根据调度单元列表,依次调度调度单元列表中的第一调度单元,从而完成自定义资源的调度。
如图1所示,具体以Kubernetes调度平台为示例进行说明。
实施例Kubernetes调度系统包括调度器(Scheduler)110、拆分器(Pod-Splitor)120和控制器(CRD-Controller)130。
其中,调度器110负责Pod的调度,拆分器负责拆分CRD对象,第一调度单元为CRD对象,第二调度单元为原生的Pod对象。本实施例中,将CRD和Pod放在同一调度队列中,对于调度对象为CRD时,调度器110通过扩展的分解(Split)接口得到拆解后的Pod集合,利用调度器110对全部的Pod依次进行调度。
拆分器120为用户自定义的扩展组件,主要响应调度器110的拆解请求,根据当前集群资源占用情况,将CRD分解为合理的Pod,并负责创建包含这些Pod的调度单元列表,并将调度单元列表回给调度器110进行调度;同时,拆分器120能够响应调度器110的节点绑定请求,完成Pod与节点(Node)的绑定操作。其中,Pod和节点的绑定可理解为在Pod这个对象里新增一些节点的信息、资源信息,然后调度系统会有专门的组件会根据这些绑定信息在对应的节点上运行Pod。
控制器130为用户自定义的扩展组件,用于特定CRD的状态、生命周期管理。根据CRD和对应Pod的状态来更新CRD状态,根据用户命令、或者CRD的自身策略,例如Pod正常结束后CRD生命周期结束,从而维护CRD生命周期。控制器130属于Kubernetes调度平台所具有的功能组件,此处不再赘述。
还有,用户通过Api-Server140创建CRD、Pod对象,调度器110通过Api-Server监听CRD、Pod对象的绑定信息,在完成所有Pod的调度后,拆分器120通过Api-Server完成Pod与节点的绑定。
另外,调度器110目前有两种扩展方式:扩展器(Extender)和调度框架(Scheduling Framework),在原有的扩展接口中新增Split接口,在调度器110调度CRD时,通过该Split接口获取CRD拆解后的Pod集合。其中,扩展器通过web hook方式对调度器110进行扩展,调度框架将扩展接口直接编译进调度器110内。为了将CRD资源进行合理拆分,本发明实施例引入新的扩展接口,即Split接口,用于实现对CRD资源对象的拆分,将CRD转变为Pod的集合。不同CRD资源的拆分方式可能不同,具体的Split接口实现则在Extender或Scheduling Framework中进行,主要负责两部分工作:采用某种策略将此CRD拆分为1~N个Pod的集合,并为每个Pod划分具体的资源数;拆分的过程中,需要判断集群节点剩余资源能否满足拆分需求,如GPU、CPU资源等;如若不满足,则为调度器110返回错误信息;如若均满足,则将拆分后的Pod集合返回。
调度系统在调度时,若调度对象为CRD,则根据当前资源状态拆解CRD,得到调度单元列表,调度单元列表包括Pod集合,这样Kubernetes调度平台可根据调度单元列表对Pod进行调度,且所有Pod按照队列依次进行调度,避免插入其它Pod,这样保证CRD能够被合理调度,调度效率高,使Kubernetes调度平台能够兼容各种业务场景。
需要说明的是,当调度对象为Pod时,按原来Kubernetes调度系统的调度流程处理,但是Pod的绑定操作是由拆分器120完成;当调度对象为CRD,拆分器120会根据当前集群的资源状态,来拆解Pod,将CRD拆解为一个或多个Pod,拆分器120只需确定CRD需要拆解的Pod数目,以及某个Pod使用的资源(CPU、内存、GPU),拆分器120将CRD拆分完成后由调度器110完成这些Pod的调度,调度器110会对节点进行过滤、优先、打分等优化算法来为Pod选择合适的节点,从而通过拆分器120将Pod列表中的Pod与节点进行绑定,这样能够保证调度器110和拆分器120资源同步。
这样,Kubernetes调度平台的调度器110能够支持CRD、Pod的混合调度以及单一CRD的Pod原子调度。可理解到,CRD、Pod的混合调度时,调度器110读取配置,知道哪些CRD参与调度,调度器110将Pod以及需要调度的CRD放入同一调度队列;当调度器110调度的对象是CRD的时候,需要通过扩展的Split接口获取CRD对象拆解后的Pod对象列表,并依次调度每个Pod,从而实现CRD、Pod的混合调度。
CRD的Pod原子调度可理解为,在调度由CRD拆解后的Pod集合时,不能调度其它Pod,CRD分解的Pod集合必须全部调度成功才算成功,否则失败,这样避免因剩余资源不足而无法被调度,导致整个CRD调度失败。
需要说明的是,CRD调度具有回退(BackOff)机制,该BackOff机制可理解为,CRD的Pod中若有任一个Pod调度失败,则认为整个CRD调度失败。若CRD调度失败,该CRD中已经成功调度的Pod需要删除并释放资源。另外,CRD分解Pod具有重入保护功能,调度器110的调度队列中存放有CRD对象和Pod对象,属于CRD对象的Pod集合就不需要再插入调度队列中。
需要说明的是,调度器110与拆分器120具有资源同步机制,拆分器120要合理、最优的拆解CRD,需要清楚集群的资源状态,需要监听节点与Pod信息,并在本地缓存可分配资源信息。CRD的Pod集合在调度器110成功调度后,调度器110向拆分器120发送Pod的绑定(Bind)请求,拆分器120在接受绑定请求后,先更新拆分器120的本地缓存的节点可分配资源信息,再向Api-Server140发送最终的绑定请求,这样才能做到资源的同步。
本发明实施例描述的系统架构平台100以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构平台100的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的系统架构平台100并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述系统架构平台100,下面提出本发明的资源调度方法的各个实施例。
参见图2所示,图2是本发明一个实施例提供的资源调度方法的流程图,该资源调度方法包括但不限于步骤S100、步骤S200和步骤S300。
步骤S100,从调度队列中获取调度对象。
在一实施例中,资源调度可理解为对各种资源进行合理有效的利用,可理解到,调度的对象为资源对象,将可调度的对象按队列形式进行排列,调度时根据队列的先后顺序或优先级进行调取,从而得到调度对象,便于快速获取调度对象,也有利于资源的合理调度。
以Kubernetes调度平台为示例进行说明,Kubernetes调度平台中可提供了很多默认资源类型,如Pod、Deployment、Service、Volume等一系列资源,能够满足大多数日常系统部署和管理的需求。但是,在一些特殊需求的场景下,这些现有资源类型满足不了,那么就可以通过CRD来满足这些需求,有效提高Kubernetes的扩展能力。
需要说明的是,Kubernetes调度平台支持Pod的调度,即可直接调度Pod,可理解到,在同一调度队列中可同时插入CRD和Pod对象,或单独调度CRD。具体的,CRD、Pod的混合调度时,通过Kubernetes调度平台的调度器读取配置,获取可以参与调度的CRD对象和Pod对象,调度器将Pod以及需要调度的CRD放入同一调度队列,并通过调度器依次从调度队列中获取调度对象进行调度。
步骤S200,当调度对象为自定义资源,根据当前资源状态拆解自定义资源,得到调度单元列表。
其中,调度单元列表包括用于构成自定义资源的第一调度单元,该自定义资源为CRD,该第一调度单元为CRD对象,可理解到,在同一调度队列中可同时插入CRD对象和原生Pod对象,即CRD对象和Pod对象可混合进行调度,CRD和Pod混合调度时,调度器从调度队列中依次获取调度对象。调度器在调度时会先判断调度对象的类型,若调度对象为CRD,根据当前资源状态拆解CRD,得到调度单元列表,该调度单元列表为构成CRD的Pod列表,即将CRD拆分为Pod集合,这样使Kubernetes调度平台可根据Pod列表直接调度Pod。
可理解到,需要根据当前资源状态拆解CRD,当前资源状态可理解为当前调度平台的剩余资源或可用资源。在满足拆解CRD的资源请求的情况下,通过拆分器将CRD对象进行合理拆分,使CRD能够按最佳的资源分配方式进行调度,运行效率更高。
需要说明的是,当调度对象为原生Pod时,可直接调度Pod,无需进行拆解。可理解的是,Pod是kubernetes调度平台的基础单元,是由用户创建或部署的最小组件,也是运行容器化应用的资源对象。Kubernetes集群中其他资源对象都是为pod这个资源对象做支撑来实现kubernetes管理应用服务的目的。这样,Kubernetes调度平台支持Pod和CRD的混合调度,同时实现单一CRD的Pod的原子调度,也保证CRD能够被合理调度,兼容各种业务场景。
步骤S300,依次调度调度单元列表中的调度单元。
在一实施例中,在完成拆解后生成调度单元列表,在Kubernetes调度平台中,该调度单元为Pod,调度单元列表为Pod集合列表,根据Pod集合列表,调度器依次调度该Pod集合列表中的全部Pod,从而完成单个CRD的调度。可理解到,按照列表形式依次调度所有Pod,能够避免因其它Pod插入而导致列表中剩余的Pod因剩余资源不足无法被调度,从而导致整个CRD调度失败;也能够避免在调度某个CRD的部分Pod时,插入了另一个CRD的部分Pod,就有可能导致这两个CRD剩余的Pod因剩余资源不足均无法调度,已占用的资源又无法释放,两个CRD会进入资源死锁状态的问题。
在一实施例中,步骤S200中,根据当前资源状态拆解自定义资源,得到调度单元列表,可包括但不限于有以下步骤:
步骤S210:当集群节点的剩余资源满足拆解自定义资源的要求,拆解自定义资源得到调度单元列表。
在一实施例中,在Kubernetes调度平台中,拆分器主要响应调度器的拆解请求,根据当前集群节点的资源占用情况,将CRD分解为合理的Pod,并负责创建包含这些Pod的调度单元列表,并将调度单元列表回给调度器进行调度,可见,拆分器能够获知集群节点的资源状态,例如通过监听集群节点的绑定状态来获取资源状态,并根据该资源状态合理拆解CRD,满足最优的拆解CRD要求。
这样,拆分器在充分考虑资源的状态的前提下,高效合理地拆解CRD,同时调度器无需理解CRD,专注于Pod的调度,实现CRD的拆分和调度。
需要说明的是,CRD分解Pod具有重入保护功能,调度器的调度队列中存放有CRD对象和Pod对象,属于CRD对象的Pod集合就不需要再插入调度队列中。
参见图3,在一实施例中,资源调度方法还包括但不限于有以下步骤:
步骤S101:根据调度请求创建调度对象;
步骤S102:监听调度对象的绑定信息,并将新增的调度对象放到同一队列中形成调度队列。
可理解到,用户根据应用场景的实际需要创建CRD对象和Pod对象,例如需要深度学习CRD。用户通过Api-Server创建CRD对象和Pod对象,调度器通过Api-Server监听CRD对象和Pod对象的绑定信息,将可调度的CRD和Pod放到同一队列中。CRD和Pod增加到队列中形成调度队列,然后从调度队列中获取调度对象,增加的调度对象可为CRD和Pod,或全部均为CRD或全部为Pod。
参见图4,在一实施例中,资源调度方法还包括但不限于有以下步骤:
步骤S400:完成对全部调度对象的调度后,把调度单元绑定至对应的节点。
在一实施例中,Kubernetes调度平台在调度CRD对象时能够合理地拆解CRD,并将调度单元列表回给调度器进行调度,调度器只需专注于Pod的调度即可完成全部调度对象的调度。在全部调度对象的调度后,调度器向拆分器发送节点绑定请求,拆分器能够响应调度器的节点绑定请求,完成Pod与节点的绑定操作。具体的,拆分器是通过Api-Server完成Pod与节点的绑定。
在一实施例中,资源调度方法还包括但不限于有以下步骤:
步骤S500:当任一调度单元调度失败,删除已调度的调度单元并释放资源。
实施例中,CRD的Pod集合中若有任一个Pod调度失败,则认为整个CRD调度失败。若CRD调度失败,该CRD中已经成功调度的Pod需要删除并释放资源,避免资源占用而降低运行效率。
参见图5,在一实施例中,步骤S400:完成对全部调度对象的调度后,把调度单元绑定至对应的节点,可包括但不限于有以下步骤:
步骤S410:发起节点绑定请求,并更新节点的可分配资源信息,根据可分配资源信息确定最优节点,根据最优节点分别为调度单元分配主机;
步骤S420:把调度单元绑定至对应的主机。
在一实施例中,在完成所有Pod的调度后,拆分器通过Api-Server完成Pod与节点的绑定。节点绑定的流程是,通过对节点进行过滤、优先、打分等优化算法选择合适的节点,然后旋转最优节点为pod分配主机,并向API-Server发送pod的绑定请求,从而将Pod绑定至对应的主机上,完成绑定操作。
需要说明的是,当调度对象为Pod时,Kubernetes调度系统按原有的调度流程处理,但是Pod的绑定操作是由拆分器完成;当调度对象为CRD,拆分器会根据当前集群的资源状态,来拆解Pod,将CRD拆解为一个或多个Pod,拆分器只需确定CRD需要拆解的Pod数目,以及某个Pod使用的资源(CPU、内存、GPU),拆分器将CRD拆分完成后由调度器完成这些Pod的调度,调度器会对节点进行过滤、优先、打分等优化算法来为Pod选择合适的节点,从而通过拆分器将Pod列表中的Pod与节点进行绑定,这样能够保证调度器和拆分器资源同步。
另外,调度器与拆分器具有资源同步机制,拆分器要合理、最优的拆解CRD,需要清楚集群的资源状态,需要监听节点与Pod信息,并在本地缓存可分配资源信息。CRD的Pod集合在调度器成功调度后,调度器向拆分器发送Pod的绑定请求,拆分器在接受绑定请求后,先更新拆分器的本地缓存的节点可分配资源信息,再向Api-Server发送最终的绑定请求,这样才能做到资源的同步。
参见图6,在一实施例中,以Kubernetes调度平台为示例,资源调度方法包括但不限于有以下步骤:
步骤S610:通过Api-Server创建CRD、Pod对象;
步骤S620:通过Api-Server监听CRD、Pod对象,并将新增CRD或Pod放入同一调度队列中;
步骤S630:从调度队列中获取调度对象;
当调度对象为Pod,按照Pod调度流程处理;
当调度对象为CRD,向拆分器发送CRD拆解请求,使拆分器根据当前资源状态拆解CRD,并通过Api-Server创建拆解出来的Pod;
步骤S640:根据拆分器返回的Pod列表,并根据Pod列表依次调度Pod;
步骤S650:全部Pod调度完成后,向拆分器发起绑定请求并通过Api-Server完成Pod和节点的绑定。
为了更加清楚的说明上述各个实施例中资源调度方法的具体步骤流程,以下通过五个实施例进行说明。
实施例一:
该实施例为调度器成功混合调度CRD、Pod的示例,实施例展示了在Kubernetes调度平台上混合调度CRD、Pod的过程,把深度学习作业定义成CRD,完成深度学习作业并行执行的Workers由Pod承载,可以实现深度学习作业和Pod的混合调度并且能够成功运行。
实例环境:搭载Ubuntu16.04系统的Kubernetes集群,包含两个节点,节点资源充足;集群已经部署修改过的调度器;部署自定义的深度学习作业的控制器和拆分器。
参见图7,具体操作步骤如下:
步骤S710:定义深度学习作业文件,并创建该CRD对象;
步骤S720:定义单个Pod的文件,并创建该Pod对象;
步骤S730:深度学习作业成功创建后,深度学习作业对应的CRD为运行状态;
步骤S740:深度学习作业相关的Pod创建成功后,深度学习作业拆解出来的Pod均为运行状态。
这样,得到步骤S720中创建的单个Pod的状态为运行状态,其中,CRD的状态应和拆解出来的Pod的状态保持一致。
实施例二:
该实施例为调度器成功调度两种CRD对象,实施例展示了在Kubernetes调度平台上混合调度不同CRD的过程,把深度学习作业定义成CRD,把机器学习作业定义成CRD,两种CRD对象执行的Workers均由Pod承载,可以实现深度学习作业和机器学习作业的混合调度并且都能成功运行。
实例环境:搭载Ubuntu16.04系统的Kubernetes集群,包含两个节点,节点资源充足;集群已经部署修改过的调度器;部署自定义的深度学习作业的控制器和拆分器;部署自定义的机器学习作业的控制器和拆分器。
参见图8,具体操作步骤如下:
步骤S810:定义深度学习作业的文件,并创建该CRD对象;
步骤S820:定义机器学习作业的文件,并创建该CRD对象;
步骤S830:深度学习作业成功创建后,深度学习作业对应的CRD为运行状态;
步骤S840:深度学习作业相关的Pod创建成功后,深度学习作业拆解出来的Pod均为运行状态;
步骤S850:机器学习作业成功创建后,深度学习作业对应的CRD为运行状态;
步骤S860:机器学习作业相关的Pod创建成功后,深度学习作业拆解出来的Pod均为运行状态。
其中,CRD的状态应和拆解出来的Pod的状态保持一致。
实施例三:
该实施例为调度器将CRD调度在最少的节点上运行,实施例展示了在Kubernetes调度平台上调度CRD对象时,根据资源状态能够合理拆解CRD,把深度学习作业定义成CRD,完成深度学习作业并行执行的Workers由Pod承载,调度器在调度CRD时,可根据当前的资源状态自动拆解CRD,将CRD的Pod调度在极小的节点上运行,减少网络开销,保证拆解的合理性。
实例环境:搭载Ubuntu16.04系统的Kubernetes集群,包含3个节点,节点的CPU、内存资源充足,节点1有8个空闲GPU,节点2、3均有4个空闲GPU;集群已经部署修改过的调度器;部署自定义的深度学习作业的控制器和拆分器。
参见图9,具体操作步骤如下:
步骤S910:定义深度学习作业的文件,其中作业申请8个GPU资源,创建该CRD对象;
步骤S920:深度学习作业成功创建后,深度学习作业对应的CRD为运行状态;
步骤S930:深度学习作业相关的Pod创建成功后,深度学习作业拆解出来的Pod均为运行状态;
步骤S940:得到CRD拆解后的Pod个数为1,且该Pod运行在节点1上。
实施例四:
该实施例为调度器成功调度资源申请粒度大的CRD,实施例展示了在Kubernetes调度平台上调度CRD对象时,根据资源状态能够合理拆解CRD,把深度学习作业定义成CRD,完成深度学习作业并行执行的Workers由Pod承载,调度器在调度CRD时可根据当前的资源状态自动拆解CRD,若该作业的资源申请粒度大,单节点资源无法满足其作业的资源申请,但是集群总资源能满足时能够成功拆解该CRD并成功调度和运行,保证该作业不会处于资源饿死状态。
实例环境:搭载Ubuntu16.04系统的Kubernetes集群,包含4个节点,节点的CPU、内存资源充足,节点1、3均有4个空闲GPU,节点2、4均有2个空闲GPU;集群已经部署修改过的调度器;部署自定义的深度学习作业的控制器和拆分器。
参见图10,具体操作步骤如下:
步骤S1010:定义深度学习作业的文件,其中作业申请8个GPU资源,并创建该CRD对象;
步骤S1020:深度学习作业成功创建后,深度学习作业对应的CRD为运行状态;
步骤S1030:深度学习作业相关的Pod创建成功后,深度学习作业拆解出来的Pod均为运行状态;
步骤S1040:得到CRD拆解后的Pod个数为2,且两个Pod运行在节点1和节点3上。
实施例五:
该实施例为调度器原子调度CRD拆解后的Pod,实施例展示了在Kubernetes调度平台中调度器能够实现对单一CRD对象的Pod的调度,把深度学习作业定义成CRD,把机器学习作业定义成CRD,两种CRD对象执行的Workers均由Pod承载,可实现CRD的Pod的原子调度,避免CRD的调度不合理以及两个CRD进入资源死锁的问题。
实例环境:搭载Ubuntu16.04系统的Kubernetes集群,包含3个节点,节点CPU、内存资源充足,3个节点均有4个空闲GPU;集群已经部署修改过的调度器;部署自定义的深度学习作业的控制器和拆分器;部署自定义的机器学习作业的控制器和拆分器。
参见图11,具体操作步骤如下:
步骤S1110:定义深度学习作业的文件,该作业申请8个GPU资源,并创建该CRD对象;
步骤S1120:定义机器学习作业的文件,该作业申请8个GPU资源,并创建该CRD对象;
步骤S1130:深度学习作业成功创建后,深度学习作业对应的CRD状态;
步骤S1140:机器学习作业成功创建后,深度学习作业对应的CRD状态;
步骤S1150:得到深度学习作业和机器学习作业仅有一个处于运行状态,且处于运行状态的作业的相关Pod均为运行状态。
另外,本发明的一个实施例还提供了一种设备,该设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的终端,可以包括有如图1所示实施例中的系统架构平台100,本实施例中的终端和如图1所示实施例中的系统架构平台100属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的资源调度方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的资源调度方法,例如,执行以上描述的图2中的方法步骤S100至S300、图3中的方法步骤S101至S102、图4中的方法步骤S400、图5中的方法步骤S410至步骤S420、图6中的方法步骤S610至步骤S650、图7中的方法步骤S710至步骤S740、图8中的方法步骤S810至步骤S860、图9中的方法步骤S910至步骤S940、图10中的方法步骤S1010至步骤S1040、图11中的方法步骤S1110至步骤S1150。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述终端实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的资源调度方法,例如,执行以上描述的图2中的方法步骤S100至S300、图3中的方法步骤S101至S102、图4中的方法步骤S400、图5中的方法步骤S410至步骤S420、图6中的方法步骤S610至步骤S650、图7中的方法步骤S710至步骤S740、图8中的方法步骤S810至步骤S860、图9中的方法步骤S910至步骤S940、图10中的方法步骤S1010至步骤S1040、图11中的方法步骤S1110至步骤S1150。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。

Claims (16)

1.一种资源调度方法,包括:
从调度队列中获取调度对象;
当所述调度对象为自定义资源,根据当前资源状态拆解所述自定义资源,得到调度单元列表,所述调度单元列表包括用于构成所述自定义资源的第一调度单元;
依次调度所述调度单元列表中的所述第一调度单元。
2.根据权利要求1所述的资源调度方法,其特征在于,所述根据当前资源状态拆解所述自定义资源,得到调度单元列表,包括:
当集群节点的剩余资源满足拆解所述自定义资源的要求,拆解所述自定义资源得到所述调度单元列表。
3.根据权利要求1所述的资源调度方法,其特征在于,还包括:
当所述调度对象为第二调度单元,直接调度所述第二调度单元。
4.根据权利要求3所述的资源调度方法,其特征在于,还包括:
完成对全部所述调度对象的调度后,将所述第一调度单元和所述第二调度单元分别绑定至对应的节点。
5.根据权利要求4所述的资源调度方法,其特征在于,所述完成对全部所述调度对象的调度后,还包括:
发起节点绑定请求,并更新所述节点的可分配资源信息,根据所述可分配资源信息确定最优节点。
6.根据权利要求1所述的资源调度方法,其特征在于,还包括:
根据调度请求创建调度对象;
监听所述调度对象的绑定信息,并将新增的所述调度对象放到同一队列中形成所述调度队列。
7.根据权利要求1所述的资源调度方法,其特征在于,还包括:
当任一所述第一调度单元调度失败,删除已调度的所述第一调度单元并释放资源。
8.一种资源调度系统,其特征在于,包括:
调度器,用于从调度队列中获取调度对象;
拆分器,用于当所述调度对象为自定义资源,根据当前资源状态拆解所述自定义资源,得到调度单元列表,所述调度单元列表包括用于构成所述自定义资源的第一调度单元;
其中,所述调度器依次调度所述调度单元列表中的所述第一调度单元。
9.根据权利要求8所述的资源调度系统,其特征在于,所述拆分器还用于:
当集群节点的剩余资源满足拆解所述自定义资源的要求,拆解所述自定义资源得到所述调度单元列表。
10.根据权利要求8所述的资源调度系统,其特征在于,所述调度器还用于:
当所述调度对象为第二调度单元,直接调度所述第二调度单元。
11.根据权利要求10所述的资源调度系统,其特征在于,所述拆分器还用于:
将所述第一调度单元和所述第二调度单元分别绑定至对应的节点。
12.根据权利要求11所述的资源调度系统,其特征在于,所述调度器还用于:
发起绑定请求,并更新所述节点的可分配资源信息,根据所述可分配资源信息确定最优节点。
13.根据权利要求8所述的资源调度系统,其特征在于,所述调度器还用于:
获取所述调度对象的调度请求;
监听所述调度对象的绑定信息,并将新增的所述调度对象放到同一队列中构成所述调度队列。
14.根据权利要求8所述的资源调度系统,其特征在于,所述调度器还用于:
当任一所述第一调度单元调度失败,删除已调度的所述第一调度单元并释放资源。
15.一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的资源调度方法。
16.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1至7中任意一项所述的资源调度方法。
CN202010625668.0A 2020-07-01 2020-07-01 资源调度方法、资源调度系统及设备 Pending CN113961335A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010625668.0A CN113961335A (zh) 2020-07-01 2020-07-01 资源调度方法、资源调度系统及设备
EP21833960.4A EP4177751A4 (en) 2020-07-01 2021-06-30 RESOURCE PLANNING METHOD, RESOURCE PLANNING SYSTEM AND APPARATUS
US18/004,067 US20230266999A1 (en) 2020-07-01 2021-06-30 Resource scheduling method, resource scheduling system, and device
PCT/CN2021/103638 WO2022002148A1 (zh) 2020-07-01 2021-06-30 资源调度方法、资源调度系统及设备
JP2023500093A JP7502550B2 (ja) 2020-07-01 2021-06-30 リソーススケジューリング方法、リソーススケジューリングシステム、及び機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010625668.0A CN113961335A (zh) 2020-07-01 2020-07-01 资源调度方法、资源调度系统及设备

Publications (1)

Publication Number Publication Date
CN113961335A true CN113961335A (zh) 2022-01-21

Family

ID=79317431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010625668.0A Pending CN113961335A (zh) 2020-07-01 2020-07-01 资源调度方法、资源调度系统及设备

Country Status (5)

Country Link
US (1) US20230266999A1 (zh)
EP (1) EP4177751A4 (zh)
JP (1) JP7502550B2 (zh)
CN (1) CN113961335A (zh)
WO (1) WO2022002148A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080248A (zh) * 2022-08-19 2022-09-20 中兴通讯股份有限公司 调度装置的调度优化方法、调度装置和存储介质
CN115145695A (zh) * 2022-08-30 2022-10-04 浙江大华技术股份有限公司 资源调度方法、装置、计算机设备和存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022198B (zh) * 2022-05-31 2023-10-24 阿里巴巴(中国)有限公司 资源信息获取方法、设备及存储介质
CN117033000B (zh) * 2023-10-09 2024-01-05 合肥中科类脑智能技术有限公司 数据调度方法、设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160183134A1 (en) * 2013-07-30 2016-06-23 Telefonaktiebolaget L M Ericsson (Publ) Exploiting almost blank subframes for inter-cell scheduling
CN108228354A (zh) * 2017-12-29 2018-06-29 杭州朗和科技有限公司 调度方法、系统、计算机设备和介质
CN109067828A (zh) * 2018-06-22 2018-12-21 杭州才云科技有限公司 基于Kubernetes和OpenStack容器云平台多集群构建方法、介质、设备
CN110609742A (zh) * 2019-09-25 2019-12-24 苏州浪潮智能科技有限公司 一种Kubernetes调度器的队列的配置方法和装置
CN110825520A (zh) * 2019-10-18 2020-02-21 山东省计算中心(国家超级计算济南中心) 一种实现资源高效利用的集群极速弹性伸缩方法
CN110888736A (zh) * 2019-11-15 2020-03-17 北京浪潮数据技术有限公司 一种基于容器云平台的应用管理方法、系统及相关组件
CN112948050A (zh) * 2019-11-26 2021-06-11 西安华为技术有限公司 一种部署pod的方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4963855B2 (ja) 2006-03-28 2012-06-27 株式会社ソニー・コンピュータエンタテインメント ネットワークコンピューティングシステムおよびマルチプロセッサコンピュータ
CN102739770B (zh) * 2012-04-18 2015-06-17 上海和辰信息技术有限公司 一种基于云计算的资源调度方法及系统
US11243818B2 (en) * 2017-05-04 2022-02-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a scheduler and workload manager that identifies and optimizes horizontally scalable workloads
US10897497B2 (en) * 2018-11-13 2021-01-19 International Business Machines Corporation Automated infrastructure updates in a cluster environment that includes containers
CN110244964B (zh) * 2019-05-28 2023-04-28 创新先进技术有限公司 一种基于运维应用的运维方法、运维方法、装置及设备
CN111274191A (zh) * 2020-01-08 2020-06-12 山东汇贸电子口岸有限公司 管理ceph集群的方法及云本地存储协调器
US11544289B2 (en) 2020-06-02 2023-01-03 Sap Se Interface custom resource definition for stateful service management of clusters

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160183134A1 (en) * 2013-07-30 2016-06-23 Telefonaktiebolaget L M Ericsson (Publ) Exploiting almost blank subframes for inter-cell scheduling
CN108228354A (zh) * 2017-12-29 2018-06-29 杭州朗和科技有限公司 调度方法、系统、计算机设备和介质
CN109067828A (zh) * 2018-06-22 2018-12-21 杭州才云科技有限公司 基于Kubernetes和OpenStack容器云平台多集群构建方法、介质、设备
CN110609742A (zh) * 2019-09-25 2019-12-24 苏州浪潮智能科技有限公司 一种Kubernetes调度器的队列的配置方法和装置
CN110825520A (zh) * 2019-10-18 2020-02-21 山东省计算中心(国家超级计算济南中心) 一种实现资源高效利用的集群极速弹性伸缩方法
CN110888736A (zh) * 2019-11-15 2020-03-17 北京浪潮数据技术有限公司 一种基于容器云平台的应用管理方法、系统及相关组件
CN112948050A (zh) * 2019-11-26 2021-06-11 西安华为技术有限公司 一种部署pod的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ROHIT SNIHA: ""Extending Force-Directed scheduling with Explicit parallel and timed constructs for high-level synthesis"", 《2011 IEEE 19TH ANNUAL INTERNATIONAL SYMPOSIUM FIELD-PROGRAMMABLE CUSTOM 》, 19 May 2011 (2011-05-19) *
高俊涛: ""面向对象的工作流开发平台"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 September 2004 (2004-09-15) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080248A (zh) * 2022-08-19 2022-09-20 中兴通讯股份有限公司 调度装置的调度优化方法、调度装置和存储介质
CN115080248B (zh) * 2022-08-19 2023-01-10 中兴通讯股份有限公司 调度装置的调度优化方法、调度装置和存储介质
CN115145695A (zh) * 2022-08-30 2022-10-04 浙江大华技术股份有限公司 资源调度方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
EP4177751A1 (en) 2023-05-10
JP2023532358A (ja) 2023-07-27
WO2022002148A1 (zh) 2022-01-06
JP7502550B2 (ja) 2024-06-18
US20230266999A1 (en) 2023-08-24
EP4177751A4 (en) 2023-12-20

Similar Documents

Publication Publication Date Title
CN113961335A (zh) 资源调度方法、资源调度系统及设备
US20240272930A1 (en) Method and Apparatus for Creating Virtual Machine
CN110647394B (zh) 一种资源分配方法、装置及设备
CN113918270A (zh) 基于Kubernetes的云资源调度方法及系统
CN116170317A (zh) 网络系统、服务提供与资源调度方法、设备及存储介质
CN111897654B (zh) 将应用迁移到云平台的方法、装置、电子设备和存储介质
CN111682973B (zh) 一种边缘云的编排方法及系统
CN110838939B (zh) 一种基于轻量级容器的调度方法及边缘物联管理平台
CN112463375A (zh) 一种数据处理的方法和装置
CN113296882A (zh) 容器编排方法、设备、系统及存储介质
CN111857951A (zh) 容器化部署平台及部署方法
CN113608834A (zh) 一种基于超融合的资源调度方法、装置、设备及可读介质
CN111274033A (zh) 一种资源部署方法、装置、服务器以及存储介质
CN116089009A (zh) 一种gpu资源管理方法、系统、设备和存储介质
CN112866321B (zh) 一种资源调度方法、装置和系统
CN113867911A (zh) 一种任务调度方法、设备及微服务系统
CN117435324B (zh) 基于容器化的任务调度方法
CN116974689A (zh) 集群容器调度方法、装置、设备及计算机可读存储介质
CN111400021B (zh) 一种深度学习方法、装置及系统
CN113849259A (zh) 一种虚拟机和容器混合调度系统、方法、调度器及装置
CN114157569A (zh) 集群系统及其构建方法和构建装置
CN109257201B (zh) 一种License的发送方法和装置
CN116582581B (zh) 一种网络服务提供方法、装置、设备及存储介质
CN118502965B (zh) 加速卡分配方法、装置和人工智能平台
CN115858097A (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