CN116708454B - 多集群云计算系统及多集群作业分发方法 - Google Patents

多集群云计算系统及多集群作业分发方法 Download PDF

Info

Publication number
CN116708454B
CN116708454B CN202310962997.8A CN202310962997A CN116708454B CN 116708454 B CN116708454 B CN 116708454B CN 202310962997 A CN202310962997 A CN 202310962997A CN 116708454 B CN116708454 B CN 116708454B
Authority
CN
China
Prior art keywords
job
cluster
computing power
resource
computing
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.)
Active
Application number
CN202310962997.8A
Other languages
English (en)
Other versions
CN116708454A (zh
Inventor
高翔
潘爱民
华剑峰
董赵宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310962997.8A priority Critical patent/CN116708454B/zh
Publication of CN116708454A publication Critical patent/CN116708454A/zh
Application granted granted Critical
Publication of CN116708454B publication Critical patent/CN116708454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Sources (AREA)

Abstract

本申请涉及一种多集群云计算系统及多集群作业分发方法,该系统包括控制集群和多个算力集群,算力集群包括一个或多个计算节点,控制集群包括:资源采集模块,用于采集各算力集群的资源分布信息和资源使用率;共享资源分配模块,用于基于共享策略,将各算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种;作业分发决策模块,用于基于各算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群;作业平衡模块,用于在作业对共享资源的占用满足共享策略的迁移条件的情况下,释放作业占用的共享资源,保持各算力集群资源的动态平衡,解决了多集群管控平台无法实现负载自动调整的问题。

Description

多集群云计算系统及多集群作业分发方法
技术领域
本申请涉及云计算技术领域,特别是涉及一种多集群云计算系统及多集群作业分发方法。
背景技术
云计算的普及和企业数字化的转型带来了计算机集群的大规模应用。计算机集群将一组松散集成的计算机软件或硬件连接起来,高度紧密地协作完成计算工作,集群中的单个计算机通常称为节点。由于每个集群能管理的节点数是有上限的,而且在跨组织运作时,每个组织都有自己的集群,因此产生了对多集群进行统一管控的需求,另外,作业的分发也需要进行统一的自动化部署。然而,现有的多集群管控平台仅能对作业进行简单的分发,未考虑各个算力集群的实际负载情况,容易造成算力资源的使用不均衡,且负载过高后需要人工干预,无法实现负载的自动调整。
针对现有技术中多集群管控平台无法实现负载自动调整的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种多集群云计算系统及多集群作业分发方法,以解决相关技术中存在的多集群管控平台无法实现负载自动调整的问题。
第一个方面,在本实施例中提供了一种多集群云计算系统,所述多集群云计算系统包括控制集群和多个算力集群,所述算力集群包括一个或多个计算节点,所述控制集群包括:
资源采集模块,用于采集各所述算力集群的资源分布信息和资源使用率;
共享资源分配模块,用于基于共享策略,将各所述算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种;
作业分发决策模块,用于基于各所述算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群;
作业平衡模块,用于在所述作业对所述共享资源的占用满足所述共享策略的迁移条件的情况下,将所述作业迁移出所述目标算力集群,并释放占用的共享资源。
在其中的一些实施例中,所述共享策略包括静态配置策略、动态配置策略和条件配置策略中的至少一种,
所述静态配置策略用于预先配置各所述算力集群中的计算节点对应的算力资源;
所述动态配置策略用于基于所述计算节点的资源使用率动态调整所述计算节点的共享资源比重;
所述条件配置策略用于设置所述计算节点的迁移条件。
在其中的一些实施例中,所述共享资源分配模块还用于:
基于所述资源分布信息,确定各所述计算节点已分配的独占资源和已占用的共享资源;
基于所述共享策略,确定各所述计算节点的预留资源;
基于所述独占资源、已占用的共享资源和预留资源,确定各所述计算节点可用的共享资源。
在其中的一些实施例中,所述作业分发决策模块包括过滤模块和竞争模块,
所述过滤模块,用于基于所述作业的资源需求和分发策略,对各所述算力集群进行筛选,得到多个候选算力集群;
所述竞争模块,用于基于预先确定的评分项,从所述多个候选算力集群中确定目标算力集群。
在其中的一些实施例中,所述评分项包括:
所述候选算力集群的可用算力资源、已占用算力资源、资源分布信息、资源使用率的至少其中之一。
在其中的一些实施例中,所述资源采集模块包括拓扑信息采集模块和资源使用率采集模块,
所述拓扑信息采集模块用于采集各所述算力集群的计算节点信息,以及分布在所述计算节点上的算力资源信息;
所述资源使用率采集模块用于采集各所述算力集群的资源使用率和各所述作业的资源占用率。
在其中的一些实施例中,所述控制集群还包括作业控制模块和作业队列管理模块,所述作业控制模块用于:
接收作业并将所述作业依次加入所述作业队列管理模块;
将所述作业队列管理模块中的作业依次发送至所述目标算力集群中运行。
在其中的一些实施例中,所述作业平衡模块用于在所述作业对所述共享资源的占用满足所述共享策略的迁移条件的情况下,发送驱逐指令;
所述作业控制模块用于基于所述驱逐指令,保存所述作业的业务状态并退出所述作业对所述共享资源的占用,将所述作业加入所述作业队列管理模块。
在其中的一些实施例中,所述作业控制模块,用于基于接收的作业创建作业实例,并将所述作业实例加入所述作业队列管理模块;
所述作业分发决策模块,用于将所述作业对应的目标算力集群的信息写入所述作业实例;
所述作业控制模块,用于读取所述目标算力集群的信息,并将所述作业实例部署至所述目标算力集群。
第二个方面,在本实施例中提供了一种多集群作业分发方法,所述方法应用于多集群云计算系统,所述多集群云计算系统包括控制集群和多个算力集群,所述方法包括:
采集各所述算力集群的资源分布信息和资源使用率;
基于共享策略,将各所述算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种;
基于各所述算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群;
在所述作业对所述共享资源的占用满足所述共享策略的迁移条件的情况下,将所述作业迁移出所述目标算力集群,并释放占用的共享资源。
与相关技术相比,在本实施例中提供的多集群云计算系统,包括控制集群和多个算力集群,算力集群包括一个或多个计算节点;通过控制集群中的资源采集模块采集各算力集群的资源分布信息和资源使用率,为作业分发提供资源分布和占用信息参考;通过共享资源分配模块将各算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种,以确定资源分配的基本规则;通过作业分发决策模块基于各算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群,对接收到的作业任务进行分发决策,对应到目标算力集群进行计算;通过作业平衡模块在作业对共享资源的占用满足共享策略的迁移条件的情况下,将作业迁移出目标算力集群,并释放占用的共享资源,对占用资源过多的作业重新分发,保持各算力集群资源的动态平衡,解决了多集群管控平台无法实现负载自动调整的问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一些实施例的多集群云计算系统的系统结构框图;
图2是本申请一些实施例的计算节点的独占资源份额与共享资源份额示意图;
图3是本申请一些实施例的竞争模块确定目标算力集群的示意图;
图4是本申请一些实施例的作业平衡模块驱逐作业的示意图;
图5是本申请一些优选实施例的多集群云计算系统的作业分发示意图;
图6是本申请一些优选实施例的多集群云计算系统的作业迁移示意图;
图7是本申请一些实施例的多集群作业分发方法的流程图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
图1是本申请一些实施例的多集群云计算系统的结构示意图。如图1所示,本申请实施例提供的多集群云计算系统,包括控制集群12和多个算力集群14。算力集群14包括一个或多个计算节点,控制集群12与各个算力集群14之间通过网络连接。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述多集群云计算系统的结构造成限制。例如,多集群云计算系统还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。本实施例中,控制集群12包括:
资源采集模块121,用于采集各算力集群的资源分布信息和资源使用率;
共享资源分配模块122,用于基于共享策略,将各算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种;
作业分发决策模块123,用于基于各算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群;
作业平衡模块124,用于在作业对共享资源的占用满足共享策略的迁移条件的情况下,将作业迁移出目标算力集群,并释放占用的共享资源。
本实施例的多集群云计算系统可以是Kubernetes容器集群管理系统,也称为k8s,具有一个快速发展的社区和正在大量被开发的平台生态系统,可以帮助用户构建跨容器的应用服务,并长期持续管理这些容器的健康状况。因此k8s天然适合部署有状态的服务。Kubernetes pod是可以在k8s中创建管理的最小的可部署的计算单元,k8s通过将容器放入计算节点上运行的pod中来执行工作负载。计算节点可以是一台物理或虚拟计算机。
作业是一种Kubernetes的自定义资源,简称CR(Custom Resource),它描述了作业的组成,包括资源需求、镜像、依赖的服务、启动命令、结果保存目录、日志目录等,一般情况下一个作业由一个或者多个pod组成。算力集群是多个k8s的集群,每个集群都可以运行各种作业,每个集群可能会有不同的物理资源。控制集群是一个特殊的k8s集群,用于管理所有的算力集群。
资源采集模块121可以采集各个算力集群的资源分布信息和资源使用率,当算力集群出现增删改时,能同步采集到算力集群的资源分布信息,包括每个算力集群包含哪些计算节点,以及每个计算节点上包含哪些算力资源,资源量有多少,以及已经分配出去的资源量、资源使用率等。算力资源可以是CPU资源、GPU(图形处理器)资源、TPU(张量处理器)资源、VPU(视频处理单元)资源等。
共享资源分配模块122将资源分为独占资源、共享资源和预留资源。其中,共享资源是指该资源的使用率小于某个预先设定的使用率阈值的情况下,可以将该资源分配给其他作业共享;而独占资源和预留资源则无法被其他作业共享。每一种物理资源对应一个共享资源池,比如CPU资源对应一个共享CPU池、存储资源对应一个共享存储资源池,由共享资源分配模块122来决策哪些算力集群,或者算力集群中的部分资源可以作为共享资源使用。共享资源池可以跨节点、跨集群,支持多种共享策略。共享策略可以静态配置或根据资源使用情况动态调整,还可以设置共享策略的生效时间、生效条件等参数。
作业分发决策模块123根据共享资源分配模块122提供的共享资源,以及资源采集模块121提供的共享资源使用率情况,决策出所有算力集群中最适合待分发作业的目标算力集群。
作业平衡模块124可以根据已经完成分发的作业的资源使用量以及各算力集群的计算节点的资源使用量,当某个计算节点上的资源使用量满足共享策略的迁移条件时,触发作业迁移流程,将资源使用量最高的作业迁移出该目标算力集群中对应的计算节点,释放计算节点上占用的共享资源,由作业分发决策模块123再一次进行平衡分发。
本实施例的多集群云计算系统,通过资源采集模块121采集各算力集群的资源分布信息和资源使用率,为作业分发提供资源分布和占用信息参考;通过共享资源分配模块122将各算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种,以确定资源分配的基本规则;通过作业分发决策模块123基于各算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群,对接收到的作业任务进行分发决策,对应到目标算力集群进行计算;通过作业平衡模块124在作业对共享资源的占用满足共享策略的迁移条件的情况下,将作业迁移出目标算力集群,并释放占用的共享资源,对占用资源过多的作业重新分发,保持各算力集群资源的动态平衡,解决了多集群管控平台无法实现负载自动调整的问题,提高了算力资源的利用率。
在一些实施例中,共享策略包括静态配置策略、动态配置策略和条件配置策略中的至少一种,静态配置策略用于预先配置各算力集群中的计算节点对应的算力资源;动态配置策略用于基于计算节点的资源使用率动态调整计算节点的共享资源比重;条件配置策略用于设置计算节点的迁移条件。
静态配置策略是指由用户静态地指定具体的算力集群或具体的计算节点的共享资源或独占资源、预留资源的份额;配置方式可以是以算力集群或计算节点作为配置维度。图2是本申请一些实施例的基于静态配置策略对算力集群的共享资源进行配置的示意图。如图2所示,该多集群云计算系统包括3个算力集群,每个算力集群包括n个计算节点。可通过如下步骤,基于静态配置策略进行共享资源分配:
步骤S11,从共享资源分配模块的配置文件中获取静态配置策略;
步骤S12,根据静态配置策略,将集群1和集群2下的所有计算节点的资源划分为共享资源。
动态配置策略是指根据计算节点上的资源使用率情况,动态调整共享资源或独占资源、预留资源的份额。例如当计算节点上资源使用率较低时,可提高共享资源份额,反之可降低共享资源份额。
条件配置策略可以设定计算节点的迁移条件,例如通过设置资源使用率阈值和持续时间来确定计算节点的迁移条件。或通过设置每个计算节点的共享资源最多能运行的作业数量来确定计算节点的迁移条件。比如一张GPU共享资源,可以设置最多运行3个作业,且当作业的资源使用率之和持续超过90%,则需要把其中资源使用量最多的作业进行动态迁移。
条件配置策略还可以包括其它的参数配置,例如共享资源策略的生效的时间段,比如白天8:00-18:00的业务高峰期,需要保证业务的可用性,不允许共享资源的使用。
进一步地,对于每个算力集群或计算节点,可以单独使用静态配置策略或动态配置策略进行资源配置,也可以与条件配置策略相结合进行配置。
本实施例的多集群云计算系统,通过静态配置策略、动态配置策略和条件配置策略中的至少一种配置策略,实现计算节点的资源共享,在计算节点的资源利用率低时进行分时复用,使多个作业共享同一份共享资源,在有限的资源量情况下,提高同时运行的作业数量;通过动态配置策略可以实现作业在资源共享池中动态的分发与调整,在不需要人工干预的情况下提升了资源使用率。
在一些实施例中,共享资源分配模块还用于:
基于资源分布信息,确定各计算节点已分配的独占资源和已占用的共享资源;基于共享策略,确定各计算节点的预留资源;基于独占资源、已占用的共享资源和预留资源,确定各计算节点可用的共享资源。
本实施例通过动态配置策略进行共享资源分配。在系统初始化时,可以将所有算力集群的算力资源都划分为共享资源。当需要独占资源的作业下发部署后,对应的计算节点中的共享资源的份额应随之降低,进行动态分配。本实施例中,算力集群的资源分布信息可通过资源采集模块获取,共享策略可从共享资源分配模块的配置文件中获取。可通过如下步骤,基于动态配置策略进行共享资源分配:
步骤S21,基于资源分布信息,确定各计算节点的资源分布和资源使用率;
资源分布即各计算节点包括哪些算力资源,以及每种算力资源的数量;资源使用率即各计算节点有哪些算力资源已被使用,包括已分配的独占资源和已占用的共享资源;
步骤S22,根据共享资源分配模块的配置文件获取共享策略,基于共享策略,确定各计算节点的预留资源;
步骤S23,基于独占资源、已占用的共享资源和预留资源,确定各计算节点可用的共享资源。
计算节点的资源总量=独占资源+预留资源+共享资源,其中共享资源又可分为已占用的共享资源和可用的共享资源。因此,可用的共享资源=资源总量-独占资源-预留资源-已占用的共享资源。图3是本申请一些实施例的计算节点的共享资源和独占资源份额分配示意图,如图3所示,该算力集群K包括n个计算节点,每个计算节点均包括共享资源和独占资源,计算节点的独占资源和已占用的共享资源可通过资源采集模块获取,并据此确定计算节点可用的共享资源。
本实施例的多集群云计算系统,通过共享资源分配模块根据各计算节点已分配的独占资源、已占用的共享资源和预留资源,确定可用的共享资源,根据各计算节点的资源使用率动态调整共享资源的分配,提高了共享资源分配的及时性和灵活性,在无需人工干预的情况下提升了资源利用率。
在一些实施例中,作业分发决策模块包括过滤模块和竞争模块,过滤模块用于基于作业的资源需求和分发策略,对各算力集群进行筛选,得到多个候选算力集群;竞争模块用于基于预先确定的评分项,从多个候选算力集群中确定目标算力集群。
过滤模块可用于解析作业的资源需求以及分发策略,并根据该资源需求和分发策略对各算力集群进行筛选,得到多个候选算力集群。分发策略是指由用户描述的对算力集群或计算节点的分配需求,例如集群或计算节点的亲和性。过滤模块不需要考虑算力集群或计算节点的实际资源使用率。
经过过滤模块的筛选后,得到的多个候选算力集群均满足作业的资源需求和分发策略。竞争模块获得过滤后的多个候选算力集群,让这些候选算力集群通过竞争的方式,根据预先确定的评分项为每个候选算力集群评分,得到评分最高的目标算力集群。
优选地,评分项可以是候选算力集群的可用算力资源、已占用算力资源、资源分布信息、资源使用率的至少其中之一。
例如,可以根据候选算力集群的可用算力资源和资源分布信息进行评分。根据作业的资源需求量,预估作业在每个候选算力集群中能够运行的总副本数,副本数越高的,评分越高。在副本数相同的情况下,再结合候选算力集群的资源分布确定目标算力集群。如有两个候选算力集群A和B,他们剩余的算力资源数都为20个GPU卡,作业需求为2张GPU卡,那么它们能运行的总副本数都为10。但是A算力集群的20张卡分布在20个计算节点上,B算力集群的20张卡是平均分布在10个计算节点上。这种情况下B的评分更高,因为B的一个计算节点就能满足作业的运行。
图4是本申请一些实施例的根据可用算力资源确定目标算力集群的示意图。如图4所示,共享资源池中包括三个计算节点作为候选的算力节点,各计算节点的可用算力资源与已占用算力资源如图4的上图所示。新增作业job5后,根据作业job5的资源需求量,预估该作业在每个候选算力集群中能够运行的总副本数,根据图4的上图可知,集群1-节点1的总副本数最多,将集群1-节点1选定为目标计算节点,如图4的下图所示,将作业job5后分配至集群1-节点1运行,满足了作业的资源需求且保证了多个计算节点之间的资源占用平衡。
例如,可以根据候选算力集群的已占用算力资源进行评分。计算每个候选算力集群在运行的作业数量与作业资源需求的乘积,已占用的资源越多,评分越低。
例如,可以根据候选算力集群的资源使用率进行评分。计算每个候选算力集群中共享资源的使用率,使用率越低的,评分越高。
进一步地,还可以根据可用算力资源、已占用算力资源、资源分布信息、资源使用率等多种因素设置不同的权重进行综合评分。
本实施例的多集群云计算系统,通过过滤模块得到满足作业的资源需求和分发策略的候选算力集群,通过竞争模块根据评分项对候选算力集群评分,根据评分确定目标算力集群,从候选算力集群的算力资源、资源分布和资源使用率等方面进行评估,得到作业分发的最佳算力集群,保证了各个算力集群之间资源使用率的平衡。尤其对于时效性不高的离线业务或者计算业务,提高了算力集群的资源利用率。
在一些实施例中,资源采集模块包括拓扑信息采集模块和资源使用率采集模块,拓扑信息采集模块用于采集各算力集群的计算节点信息,以及分布在计算节点上的算力资源信息;资源使用率采集模块用于采集各算力集群的资源使用率和各作业的资源占用率。
拓扑信息是指算力集群中各计算节点的分布信息,以及计算节点中算力资源的分布信息。当算力集群或计算节点出现拓扑结构的调整,如增加节点、删除节点、算力资源调整等情况时,拓扑信息采集模块能同步获取到更新后的拓扑信息。
资源使用率采集模块采集每个算力集群的资源使用率信息,并按时间进行汇聚;还可以采集每个作业的运行位置视图以及资源占用情况,并按时间进行汇聚,包括在不同的时间段,作业运行在哪个算力集群的哪些计算节点上等。还可以根据上述资源使用率和资源占用信息,统计出多个维度的指标,如算力集群的资源使用率、过去n时间段的平均使用率;以及作业的最大资源占用量、过去n时间段内的平均占用量等。还可以根据上述指标在节点维度内进行排序。
本实施例的多集群云计算系统,通过拓扑信息采集模块获取各算力集群的计算节点信息和算力资源信息,获取算力资源的整体分布情况;通过资源使用率采集模块获取各算力集群的资源使用率和各作业的资源占用率,获取算力资源的当前使用情况,为后续的作业分发决策提供数据作为分发决策的依据,提升了作业分发决策的准确性和成功率。
在一些实施例中,控制集群还包括作业控制模块和作业队列管理模块,作业控制模块用于:接收作业并将作业依次加入作业队列管理模块;将作业队列管理模块中的作业依次发送至目标算力集群中运行。
作业控制模块可以接收作业提交请求,创建具体的作业对象,通过网络与每个算力集群进行交互,将作业分发到算力集群中,并维护作业的整个生命周期。具体的作业对象包含但不限于作业的描述、作业依赖的镜像、启动命令、分发策略、所需要的资源描述、作业的状态、创建与更新时间、更新理由、部署时间、部署失败原因等。
用户创建作业后,可指定该作业所需要的共享资源类型与数量,并提交到作业控制模块中,作业控制模块将作业放入作业队列管理模块;作业分发决策模块从作业队列管理模块中获取作业信息,决策出一个目标算力集群,作业控制模块将作业发送到目标算力集群中运行。
作业控制模块将作业分发到目标算力集群后,还可以同步作业在算力集群中的运行状态,运行状态可以包括PENDING(挂起)、RUNNING(运行中)、FAILED(失败)、EVICTED(驱逐)、TERMINATED(异常终止)、COMPLETED(结束)等,状态变更后作业控制模块将状态写到作业对象上,并且重新加入到作业队列管理模块中,由作业分发决策模块来决定是否需要进行重新分发与部署。
作业队列管理模块可以按照队列的形态缓存作业信息,还可以支持作业的优先级,根据作业优先级重新排列队列中的顺序。作业队列管理模块可以实现作业的创建与分发的异步执行。当提交作业的用户很多时,作业分发决策模块的决策速度可能慢于用户创建作业的速度,此时通过作业队列管理模块缓存作业信息。当作业分发决策模块无法为作业找到对应的目标算力集群时,作业可重新进入作业队列管理模块排队。
本实施例的多集群云计算系统,通过作业控制模块接收提交的作业请求、创建作业对象、作业分发以及同步作业的运行状态等,实现对作业的整个生命周期的维护和管理;通过作业队列管理模块缓存作业信息并根据优先级对队列中的作业排序,提供了作业创建与分发的异步执行方式,并通过优先级对作业的分发进行排序,提高了作业分发和资源利用的合理性和有效性。
在一些实施例中,作业平衡模块用于在作业对共享资源的占用满足共享策略中的迁移条件的情况下,发送驱逐指令;作业控制模块用于基于驱逐指令,保存作业的业务状态并退出作业对共享资源的占用,将作业加入作业队列管理模块。
作业平衡模块可通过资源采集模块持续监测所有作业的资源占用率和每个算力集群的共享资源使用率,当作业对所在计算节点上的共享资源的占用满足共享策略的迁移条件时,触发作业迁移流程。该迁移条件可以是计算节点的共享资源占用率最大值、占用持续时间、作业数量最大值等。例如,共享策略设置了计算节点的共享资源占用率最大值m,以及最大持续时间t,当该计算节点的共享资源占用率超过m且持续时间大于t时,触发作业迁移流程。
在作业迁移流程中,作业平衡模块向作业控制模块发送驱逐指令,作业控制模块再将驱逐指令转发给占用最多共享资源的作业,保存作业的业务状态并退出对共享资源的占用。作业控制模块将作业状态更新为被驱逐状态,并重新将该作业加入作业队列管理模块。
作业分发决策模块重新对作业队列管理模块中的作业进行分发决策。如果所有算力集群的共享资源占用率都很高,则分发失败,并将作业重新加入作业队列管理模块排序。
图5是本申请一些实施例的作业迁移的示意图。如图5所示,共享资源池中包括3个计算节点,其中集群1-节点1的共享资源占用率超过m且持续时间大于t,触发作业迁移流程。作业平衡模块向作业控制模块发送驱逐指令,作业控制模块再将驱逐指令转发给集群1-节点1中占用最多共享资源的作业job1,作业job1的实例收到驱逐指令后保存业务状态并执行作业退出命令。作业控制模块将作业job1状态更新为被驱逐状态,并重新将该作业加入作业队列管理模块。作业分发决策模块重新对作业队列管理模块中的作业job1进行分发决策,并确定集群2-节点1为目标计算节点,作业控制模块将作业job1迁移到集群2-节点1上,满足了作业的资源需求且保证了多个计算节点之间的资源占用平衡。
本实施例的多集群云计算系统,通过作业平衡模块在作业对共享资源的占用满足共享策略的迁移条件的情况下,发送驱逐指令,在个体或少数算力集群的算力资源紧张时触发作业的动态平衡;通过作业控制模块控制作业退出对共享资源的占用并重新加入作业队列管理模块,及时降低作业对算力资源的过多占用,维持各算力集群的算力资源平衡,避免由于资源占用过多导致的作业运行失败和系统故障,提高多集群云计算系统的运行稳定性。
在一些实施例中,作业控制模块用于基于接收的作业创建作业实例,并将作业实例加入作业队列管理模块;作业分发决策模块用于将作业对应的目标算力集群的信息写入作业实例;作业控制模块还用于读取目标算力集群的信息,并将作业实例部署至目标算力集群。
作业控制模块根据用户提交的请求创建作业实例,本实施例是通过创建一个k8s的CRD(Custom Resource Definition,自定义资源定义)来实现的,并将该作业实例加入到作业队列管理模块中。作业分发决策模块决策出目标算力集群后,将作业对应的目标算力集群的信息写入作业实例。作业控制模块读取该目标算力集群的信息后,将该作业部署到目标算力集群中,并持续同步作业后续状态的变化。
本实施例的多集群云计算系统,通过作业控制模块创建作业实例,通过作业分发决策模块将作业对应的目标算力集群的信息写入作业实例,通过作业控制模块读取作业实例中的目标算力集群的信息并进行对应的部署,即运用作业实例的方式完成作业的运行和部署,提供了在实际应用中实现多集群作业分发的技术手段。
下面通过优选实施例对本实施例进行描述和说明。图6是本申请一些优选实施例的多集群云计算系统的结构示意图。如图6所示,本优选实施例提供的多集群云计算系统,包括控制集群12和多个算力集群14。算力集群14包括一个或多个计算节点,控制集群12与各个算力集群14之间通过网络连接。控制集群12包括资源采集模块121、共享资源分配模块122、作业分发决策模块123、作业平衡模块124、作业控制模块125以及作业队列管理模块126。
资源采集模块121包括拓扑信息采集模块和资源使用率采集模块,拓扑信息采集模块用于采集各算力集群的计算节点信息,以及分布在计算节点上的算力资源信息;资源使用率采集模块用于采集各算力集群的资源使用率和各作业的资源占用率。
共享资源分配模块122用于基于静态配置策略、动态配置策略、条件配置策略中的至少一种,将各算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种。当基于动态配置策略进行配置时,基于独占资源、已占用的共享资源和预留资源,确定各计算节点可用的共享资源。
作业分发决策模块123包括过滤模块和竞争模块,过滤模块用于基于作业的资源需求和分发策略,对各算力集群进行筛选,得到多个候选算力集群;竞争模块用于基于候选算力集群的可用算力资源、已占用算力资源、资源分布信息、资源使用率的至少其中之一项,从多个候选算力集群中确定目标算力集群。
作业平衡模块124,用于在作业对共享资源的占用满足共享策略的迁移条件的情况下,触发作业迁移流程,发送驱逐指令。
作业控制模块125,用于接收作业提交请求,创建对应的作业实例,通过网络与每个算力集群进行交互,将作业加入作业队列管理模块,根据作业分发决策模块123的决策将对应的作业实例部署到目标算力集群中,并维护作业的整个生命周期,同步作业的运行状态,基于驱逐指令保存作业的业务状态并退出占用的共享资源,将作业重新加入作业队列管理模块。
作业队列管理模块126,用于按队列的形态缓存作业,并根据作业的优先级对队列中的作业排序。
本实施例的多集群云计算系统,通过采集各算力集群的资源分布信息和资源使用率,为作业分发提供资源分布和占用信息参考;基于各算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群,对接收到的作业任务进行分发决策,从候选算力集群的算力资源、资源分布和资源使用率等方面进行评估,得到作业分发的最佳算力集群,保证了各个算力集群之间资源使用率的平衡;实现作业在资源共享池中动态的分发与调整,在不需要人工干预的情况下提升了资源使用率;运用作业实例的方式完成作业的运行和部署,提供了在实际应用中实现多集群作业分发的技术手段;通过迁移条件的触发及时降低作业对算力资源的过多占用,维持各算力集群的算力资源平衡,避免由于资源占用过多导致的作业运行失败和系统故障,提高多集群云计算系统的运行稳定性;通过作业队列管理模块基于优先级对作业的分发进行排序,提高了作业分发和资源利用的合理性和有效性。
本实施例还提供了一种多集群作业分发方法,该方法应用于多集群云计算系统,多集群云计算系统包括控制集群和多个算力集群。图7是本申请一些实施例的多集群作业分发方法的流程图,如图7所示,该流程包括如下步骤:
步骤S701,采集各算力集群的资源分布信息和资源使用率;
步骤S702,基于共享策略,将各算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种;
步骤S703,基于各算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群;
步骤S704,在作业对共享资源的占用满足共享策略的迁移条件的情况下,将作业迁移出目标算力集群,并释放占用的共享资源。
通过上述步骤S701~S704,通过采集各算力集群的资源分布信息和资源使用率,为作业分发提供资源分布和占用信息参考;通过将各算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种,以确定资源分配的基本规则;通过基于各算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群,对接收到的作业任务进行分发决策,对应到目标算力集群进行计算;通过在作业对共享资源的占用满足共享策略的迁移条件的情况下,释放作业占用的共享资源,对占用资源过多的作业重新分发,保持各算力集群资源的动态平衡,解决了多集群管控平台无法实现负载自动调整的问题,提高了算力资源的利用率。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (7)

1.一种多集群云计算系统,其特征在于,所述多集群云计算系统包括控制集群和多个算力集群,所述算力集群包括一个或多个计算节点,所述控制集群包括:
资源采集模块,用于采集各所述算力集群的资源分布信息和资源使用率;
共享资源分配模块,用于基于共享策略,将各所述算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种;
作业分发决策模块,用于基于各所述算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群;将所述作业对应的目标算力集群的信息写入作业实例;
作业控制模块,用于维护作业的生命周期,包括:接收作业并基于所述作业创建所述作业实例,将所述作业实例依次加入作业队列管理模块;基于驱逐指令,保存所述作业实例的业务状态并退出所述作业实例对所述共享资源的占用,将所述作业实例加入所述作业队列管理模块;读取所述作业实例中的目标算力集群的信息,将所述作业队列管理模块中的作业实例依次发送至对应的目标算力集群中运行;
作业队列管理模块,用于按照队列的形态缓存作业信息;
作业平衡模块,用于在所述作业对所述共享资源的占用满足所述共享策略的迁移条件的情况下,发送驱逐指令,以将所述作业迁移出所述目标算力集群,并释放占用的共享资源。
2.根据权利要求1所述的系统,其特征在于,所述共享策略包括静态配置策略、动态配置策略和条件配置策略中的至少一种,
所述静态配置策略用于预先配置各所述算力集群中的计算节点对应的算力资源;
所述动态配置策略用于基于所述计算节点的资源使用率动态调整所述计算节点的共享资源比重;
所述条件配置策略用于设置所述计算节点的迁移条件。
3.根据权利要求2所述的系统,其特征在于,所述共享资源分配模块还用于:
基于所述资源分布信息,确定各所述计算节点已分配的独占资源和已占用的共享资源;
基于所述共享策略,确定各所述计算节点的预留资源;
基于所述独占资源、已占用的共享资源和预留资源,确定各所述计算节点可用的共享资源。
4.根据权利要求1所述的系统,其特征在于,所述作业分发决策模块包括过滤模块和竞争模块,
所述过滤模块,用于基于所述作业的资源需求和分发策略,对各所述算力集群进行筛选,得到多个候选算力集群;
所述竞争模块,用于基于预先确定的评分项,从所述多个候选算力集群中确定目标算力集群。
5.根据权利要求4所述的系统,其特征在于,所述评分项包括:
所述候选算力集群的可用算力资源、已占用算力资源、资源分布信息、资源使用率的至少其中之一。
6.根据权利要求1所述的系统,其特征在于,所述资源采集模块包括拓扑信息采集模块和资源使用率采集模块,
所述拓扑信息采集模块用于采集各所述算力集群的计算节点信息,以及分布在所述计算节点上的算力资源信息;
所述资源使用率采集模块用于采集各所述算力集群的资源使用率和各所述作业的资源占用率。
7.一种多集群作业分发方法,其特征在于,所述方法应用于多集群云计算系统,所述多集群云计算系统包括控制集群和多个算力集群,所述方法包括:
采集各所述算力集群的资源分布信息和资源使用率;
基于共享策略,将各所述算力集群的算力资源配置为独占资源、共享资源和预留资源中的至少一种;
接收作业并基于所述作业创建作业实例,将所述作业实例依次加入作业队列管理模块;
基于各所述算力集群的资源分布信息和资源使用率,确定各作业对应的目标算力集群;将所述作业对应的目标算力集群的信息写入作业实例;
读取所述作业实例中的目标算力集群的信息,将所述作业队列管理模块中的作业依次发送至对应的目标算力集群中运行;
在所述作业对所述共享资源的占用满足所述共享策略的迁移条件的情况下,发送驱逐指令,以将所述作业迁移出所述目标算力集群,并释放占用的共享资源;
基于所述驱逐指令,保存所述作业的业务状态并退出所述作业对所述共享资源的占用,将所述作业加入所述作业队列管理模块。
CN202310962997.8A 2023-08-02 2023-08-02 多集群云计算系统及多集群作业分发方法 Active CN116708454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310962997.8A CN116708454B (zh) 2023-08-02 2023-08-02 多集群云计算系统及多集群作业分发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310962997.8A CN116708454B (zh) 2023-08-02 2023-08-02 多集群云计算系统及多集群作业分发方法

Publications (2)

Publication Number Publication Date
CN116708454A CN116708454A (zh) 2023-09-05
CN116708454B true CN116708454B (zh) 2023-12-05

Family

ID=87839574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310962997.8A Active CN116708454B (zh) 2023-08-02 2023-08-02 多集群云计算系统及多集群作业分发方法

Country Status (1)

Country Link
CN (1) CN116708454B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117707794A (zh) * 2024-02-05 2024-03-15 之江实验室 一种面向异构联邦的多类别作业分发管理方法和系统
CN117971502A (zh) * 2024-03-29 2024-05-03 南京认知物联网研究院有限公司 一种针对ai推理集群进行在线优化调度的方法与装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207814A (zh) * 2012-12-27 2013-07-17 北京仿真中心 一种去中心化的跨集群资源管理与任务调度系统与调度方法
CN111405055A (zh) * 2020-03-23 2020-07-10 北京达佳互联信息技术有限公司 多集群管理方法、系统、服务器、存储介质
CN115237608A (zh) * 2022-09-21 2022-10-25 之江实验室 一种基于多集群统一算力的多模式调度系统和方法
CN115237581A (zh) * 2022-09-21 2022-10-25 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115858169A (zh) * 2022-12-16 2023-03-28 北京沃东天骏信息技术有限公司 一种作业资源分配方法、装置、电子设备及存储介质
CN115951969A (zh) * 2022-12-28 2023-04-11 山东浪潮科学研究院有限公司 一种异构算力资源管理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477743B2 (en) * 2014-07-02 2016-10-25 Oracle International Corporation System and method for load balancing in a distributed system by dynamic migration
US11755385B2 (en) * 2020-05-29 2023-09-12 Vmware, Inc. Cross-cluster load balancer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207814A (zh) * 2012-12-27 2013-07-17 北京仿真中心 一种去中心化的跨集群资源管理与任务调度系统与调度方法
CN111405055A (zh) * 2020-03-23 2020-07-10 北京达佳互联信息技术有限公司 多集群管理方法、系统、服务器、存储介质
CN115237608A (zh) * 2022-09-21 2022-10-25 之江实验室 一种基于多集群统一算力的多模式调度系统和方法
CN115237581A (zh) * 2022-09-21 2022-10-25 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115858169A (zh) * 2022-12-16 2023-03-28 北京沃东天骏信息技术有限公司 一种作业资源分配方法、装置、电子设备及存储介质
CN115951969A (zh) * 2022-12-28 2023-04-11 山东浪潮科学研究院有限公司 一种异构算力资源管理方法及装置

Also Published As

Publication number Publication date
CN116708454A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
CN116708454B (zh) 多集群云计算系统及多集群作业分发方法
CN107273185B (zh) 一种基于虚拟机的负载均衡控制方法
US9483187B2 (en) Quality of service implementation in a networked storage system with hierarchical schedulers
US10623481B2 (en) Balancing resources in distributed computing environments
KR100420419B1 (ko) 계산 환경의 분할들의 그룹들을 관리하는 방법, 시스템 및 기록 매체
US8769238B1 (en) Load rebalancing for shared resource
KR100420420B1 (ko) Cpu 자원 관리 방법 및 시스템과 기록 매체
KR101976234B1 (ko) Paas 계층적 스케줄링 및 자동 스케일링 기법
Yeung et al. Horus: Interference-aware and prediction-based scheduling in deep learning systems
KR100420421B1 (ko) 계산환경의 논리 프로세서들을 관리하는 방법, 시스템 및 기록매체
US20170177221A1 (en) Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
US9569242B2 (en) Implementing dynamic adjustment of I/O bandwidth for virtual machines using a single root I/O virtualization (SRIOV) adapter
EP2819010A2 (en) Performance-driven resource management in a distributed computer system
CN110221920B (zh) 部署方法、装置、存储介质及系统
US20200174844A1 (en) System and method for resource partitioning in distributed computing
US20030065835A1 (en) Processing channel subsystem pending i/o work queues based on priorities
US10394606B2 (en) Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
CN107273211B (zh) 一种云计算环境下基于虚拟机的数据处理方法
KR20140109939A (ko) Paas 자원들, 작업들 및 스케줄링의 분리 기법
EP2074512A1 (en) An entitlement management system
CN112463395A (zh) 一种资源分配方法、装置、设备及可读存储介质
CN113032102B (zh) 资源重调度方法、装置、设备和介质
Sonkar et al. A review on resource allocation and VM scheduling techniques and a model for efficient resource management in cloud computing environment
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN114090251A (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
GR01 Patent grant
GR01 Patent grant