CN114911613A - 一种云际计算环境中跨集群资源高可用调度方法及系统 - Google Patents

一种云际计算环境中跨集群资源高可用调度方法及系统 Download PDF

Info

Publication number
CN114911613A
CN114911613A CN202210468150.XA CN202210468150A CN114911613A CN 114911613 A CN114911613 A CN 114911613A CN 202210468150 A CN202210468150 A CN 202210468150A CN 114911613 A CN114911613 A CN 114911613A
Authority
CN
China
Prior art keywords
task
resource
cluster
target member
cpu
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
CN202210468150.XA
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.)
National University of Defense Technology
Zhejiang Lab
Original Assignee
National University of Defense Technology
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 National University of Defense Technology, Zhejiang Lab filed Critical National University of Defense Technology
Priority to CN202210468150.XA priority Critical patent/CN114911613A/zh
Publication of CN114911613A publication Critical patent/CN114911613A/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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种云际计算环境中跨集群资源高可用调度方法及系统,本发明包括确定待分配任务Tj的P个子任务的资源需求,对应的P个目标成员集群的初始及已分配资源;预测当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值;生成多种子任务分配方案并进行遍历:根据各个目标成员集群的初始、已分配资源以及当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值计算集群资源高可用评价函数值,计算所有的可行的子任务分配方案的合作博弈得分;根据得分最高的合作博弈得分对应的子任务分配方案进行任务划分。本发明能够根据多集群现有资源情况,在为应用合理划分任务分配符合要求的资源的同时,提高资源利用率,减少资源碎片。

Description

一种云际计算环境中跨集群资源高可用调度方法及系统
技术领域
本发明涉及多集群任务分发调度技术,具体涉及一种云际计算环境中跨集群资源高可用调度方法及系统。
背景技术
随着云计算的发展,越来越多的企业与公司开始使用多云发展策略。通过多云跨集群任务部署,在弥补了单一集群管理规模有限的缺点上,还具有高可用调度低延迟、资源弹性伸缩、避免厂商锁定等诸多优点。但是与此同时,它也带来了诸多新的问题,例如企业资源分布在多地区多数据中心,统一管理的难度较大。因此,构建与实现跨集群的统一管理成为一个亟待解决的问题。同时,跨集群的任务调度作为多集群系统的核心面临着诸多挑战。
云际环境中,生产集群运行两类工作负载,包括在线云服务的长期运行应用程序(Long Running Applications,LRAs)和用于离线数据分析的批处理任务(Batch Jobs,BJs)。与批处理任务相比,LRAs运行时间较长,持续几个小时或者几个月不等,并且需要保证其在生命周期内可稳定运行,不允许抢占或迁移。据调研,微软公司为保证LRAs的稳定运行,将许多大型集群完全专用于LRAs工作负载。目前典型的多集群管理项目对于LRAs任务调度的资源分配方式分为三种方式:聚合策略、静态权重策略和动态权重策略。聚合策略优先将任务划分到资源剩余可用量可容纳任务数量大的成员集群上,尽可能减少任务分布集群;静态权重策略是根据用户设定的集群权重进行任务分配;动态权重策略则是以用户对业务资源需求的主观判断为基础,根据各集群资源当前可容纳的最大任务数作为动态权重将任务分配到相应成员集群。目前的动态权重策略,相比于用户根据经验静态分配任务,已经初步达到了根据剩余可用资源进行动态负载均衡的目的,但是其未考虑到用户实际使用资源情况与申请资源值之间的动态差异性以及各不同利益主体下的集群资源配比的天然差异性,可能出现资源放置不合理,资源无法有效利用。根据申请量保守分配资源虽然在极大程度上保护LRAs负载的服务质量,但是实际运行中集群不同类型资源的剩余可用量与待分配的任务资源需求不匹配,导致资源碎片及多集群整体的成本损耗。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种云际计算环境中跨集群资源高可用调度方法及系统,本发明旨在根据多集群现有的资源情况,在为应用合理划分任务分配符合要求的资源的同时,提高资源利用率,减少资源碎片。
为了解决上述技术问题,本发明采用的技术方案为:
一种云际计算环境中跨集群资源高可用调度方法,包括:
1)确定待分配任务Tj的P个子任务的资源需求,确定待分配任务Tj对应的P个目标成员集群及其资源总量以及已分配资源;根据所有目标成员集群当前时刻往前多个单位时间内新任务的资源使用峰值,预测得到当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值;
2)生成多种子任务分配方案,确定每个子任务所执行的基本任务单位数;
3)针对每一种子任务分配方案:根据各个目标成员集群的资源总量、已分配资源以及当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值计算该目标成员集群的集群资源高可用评价函数值
Figure BDA0003625354680000021
并根据所有目标成员集群的集群资源高可用评价函数值
Figure BDA0003625354680000022
计算所有的可行的子任务分配方案的合作博弈得分H(i);
4)根据得分最高的合作博弈得分H(i)对应的子任务分配方案所对应的每个子任务所执行的基本任务单位数,并将其作为待分配任务Tj的P个子任务在各个目标成员集群的动态权重。
可选地,所述资源需求、资源总量以及已分配资源中的资源包括CPU、内存、网络带宽、磁盘IO四种资源。
可选地,步骤1)中确定待分配任务Tj的P个子任务的资源需求时,待分配任务Tj的资源需求Dj为:
Figure BDA0003625354680000031
上式中,
Figure BDA0003625354680000032
分别为待分配任务Tj关于CPU、内存、网络带宽、磁盘IO的申请需求;P个子任务中任意第k个子任务的资源需求为:
Figure BDA0003625354680000033
上式中,
Figure BDA0003625354680000034
分别为第k个子任务关于CPU、内存、网络带宽、磁盘IO的申请需求,且任意第k个子任务的资源需求满足:
Figure BDA0003625354680000035
上式中,P为待分配任务Tj的子任务数量,xk第k个子任务所执行的基本任务单位数,ecpu,emem,enet,eio分别为一个任务单元的CPU、内存、网络带宽、磁盘IO需求量,N为正整数。
可选地,步骤2)中计算该目标成员集群的集群资源高可用评价函数值
Figure BDA0003625354680000036
的函数表达式为:
Figure BDA0003625354680000037
其中:
Figure BDA0003625354680000038
Figure BDA0003625354680000039
Figure BDA00036253546800000310
Figure BDA0003625354680000041
上式中,Fi(mem,net,io)为统一CPU比例标准下,内存、网络带宽、磁盘IO三因素对于高可用的影响值;Fi(cpu,net,io)为统一内存比例标准下,CPU、网络带宽、磁盘IO三因素对于高可用的影响值;Fi(cpu,mem,io)为统一网络带宽比例标准下,CPU、内存、磁盘IO三因素对于高可用的影响值;Fi(cpu,mem,net)为统一磁盘IO比例标准下,CPU、内存、网络带宽三因素对于高可用的影响值;L为求取最小公倍数的函数,任意两个数a,b的最小公倍数表示为L(a,b),u,m,n,o分别为预测得到当前时刻起的下一个单位时间内所到达任务的CPU、内存、网络带宽、磁盘IO资源使用峰值,ui,mi,ni,oi分别为该目标成员集群Ci分配子任务后的CPU、内存、网络带宽、磁盘IO资源剩余量。
可选地,该目标成员集群Ci分配子任务后的CPU、内存、网络带宽、磁盘IO资源剩余量的计算函数表达式为:
Figure BDA0003625354680000042
上式中,
Figure BDA0003625354680000043
分别为该目标成员集群Ci中CPU、内存、网络带宽、磁盘IO资源的资源总量,
Figure BDA0003625354680000044
分别为该目标成员集群Ci中CPU、内存、网络带宽、磁盘IO资源的已分配资源的数量;
Figure BDA0003625354680000045
分别为第k个子任务关于CPU、内存、网络带宽、磁盘IO的申请需求。
可选地,步骤2)中合作博弈得分H(i)的计算函数表达式为:
Figure BDA0003625354680000046
上式中,P为待分配任务Tj的子任务数量,
Figure BDA0003625354680000047
为任意第i个目标成员集群Ci的集群资源高可用评价函数值。
可选地,步骤4)中根据得分最高的合作博弈得分H(i)对应的子任务分配方案所对应的每个子任务所执行的基本任务单位数时,对应的每个子任务所执行的基本任务单位数分别为{x1,x2,…,xk,…,xP},其中x1~xP分别为第1~P个子任务执行的基本任务单位数。
此外,本发明还提供一种云际计算环境中跨集群资源高可用调度方法,包括:
S1)接收用户提交的任务,创建任务资源申请需求,生成资源对象;
S2)从所有的任务中选择待分配任务Tj;判断待分配任务Tj的资源对象是否存在匹配的传播调度策略,所述传播调度策略的属性包括资源对象的类型和名称,以及该资源对象的目标成员集群属性,若找到与资源对象类型和名称相匹配的传播调度策略,直接跳转步骤S4),若未找到匹配的传播调度策略,则进行下一步骤S3);
S3)等待创建新的传播调度策略,若检测到创建了新的传播调度策略,则判断新的传播调度策略是否与待分配任务Tj的资源匹配,若匹配则跳转步骤S4),否则重新执行步骤S3)以继续等待创建新的传播调度策略;
S4)将待分配任务Tj的资源对象和匹配的传播调度策略绑定,生成待分配任务Tj的资源绑定对象;
S5)针对所有的成员集群筛选出候选成员集群,对候选成员集群进行打分排序,若待分配任务Tj的资源绑定对象未规定目标成员集群数量,则直接将所有的候选成员集群作为目标成员集群;否则,按照待分配任务Tj的资源绑定对象规定目标成员集群数量,在候选成员集群中根据打分排序选择所需的候选成员集群作为目标成员集群;
S6)判断待分配任务Tj的任务调度类型:
若任务调度类型为复制运行方式,则直接将待分配任务Tj分配到所有的目标成员集群中,使得所有的目标成员集群均执行待分配任务Tj,跳转执行步骤S8);
若任务调度类型为子任务分配方式,则跳转下一步;
S7)判断子任务分配方式的子类型:
若子类型为聚合方式,则分别计算各个目标成员集群的最大可容纳副本数,所述最大可容纳副本数是指目标成员集群还可支持运行的任务单元数量,并优先将任务分配到最大可容纳副本数更大的目标成员集群上以减少目标成员集群的分布数量;
若子类型为静态权重方式,则根据预设的目标成员集群的权重,将待分配任务Tj按照权重大小划分任务单元个数到各个目标成员集群上;
若子类型为动态权重方式,则采用所述的云际计算环境中跨集群资源高可用调度方法获得待分配任务Tj的P个子任务在各个目标成员集群的动态权重,将待分配任务Tj按照动态权重大小划分任务单元个数到各个目标成员集群上;跳转执行步骤S8);
S8)根据资源绑定对象生成子任务对象;
S9)将子任务对象下发到对应的目标成员集群,部署运行子任务。
此外,本发明还提供一种云际计算环境中跨集群资源高可用调度系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述的云际计算环境中跨集群资源高可用调度方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,且该计算机程序用于被微处理器执行以实施所述的云际计算环境中跨集群资源高可用调度方法的步骤。
和现有技术相比,本发明具有下述优点:本发明云际计算环境中跨集群资源高可用调度方法为一种新的动态权重调度策略,通过考虑历史不同资源平均使用量情况作为动态权重划分的重要因素,使得集群不同资源的实时剩余可用量比例与任务需求分布无限趋近一致,利用合作博弈理论使得该策略无限趋近于最优化目标,即不同资源剩余可用量的比例与实时多集群系统不同资源使用量的比值趋于一致,可促进资源放置更合理化,一定程度提高资源利用率,减少资源碎片的产生,使得更多的LRAs任务可以在其生命周期内平稳运行。
附图说明
图1为本发明资源分配方法的一个应用实例流程图。
图2为本发明资源分配方法中目标成员集群的资源总量及已分配资源图。
图3为本发明调度方法的一个应用实例流程图。
具体实施方式
如图1,本实施例云际计算环境中跨集群资源高可用调度方法,包括:
1)确定待分配任务Tj的P个子任务的资源需求,确定待分配任务Tj对应的P个目标成员集群及其资源总量以及已分配资源;根据所有目标成员集群当前时刻往前多个单位时间内新任务的资源使用峰值,预测得到当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值;
2)生成多种子任务分配方案,确定每个子任务所执行的基本任务单位数;
3)针对每一种子任务分配方案:根据各个目标成员集群的资源总量、已分配资源以及当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值计算该目标成员集群的集群资源高可用评价函数值
Figure BDA0003625354680000071
并根据所有目标成员集群的集群资源高可用评价函数值
Figure BDA0003625354680000072
计算所有的可行的子任务分配方案的合作博弈得分H(i);
4)根据得分最高的合作博弈得分H(i)对应的子任务分配方案所对应的每个子任务所执行的基本任务单位数,并将其作为待分配任务Tj的P个子任务在各个目标成员集群的动态权重。
本实施例云际计算环境中跨集群资源高可用调度方法关键在于考虑实际资源使用量与申请值的不同、集群和任务的异构性,导致产生资源碎片问题及多集群整体的成本损耗,实现了一种新的动态权重策略。
本实施例中,资源需求、资源总量以及已分配资源中的资源包括CPU、内存、网络带宽、磁盘IO四种资源。此外,针对某些特定类型的任务,也可以根据需要采用上述四种资源中的部分作为资源需求、资源总量以及已分配资源中的资源,例如某些神经网络加速运算任务可能相对依赖于CPU、内存、网络带宽三种资源,而对磁盘IO的要求相对较小;例如某些文件处理业务,可能相对依赖于CPU、内存、磁盘IO三种资源,而对网络带宽的要求相对较小;某些计算任务,则可能相对依赖于CPU、内存两种资源,而对网络带宽、磁盘IO的要求相对较小,在此不再一一说明。此外,还可以根据CPU、内存、网络带宽、磁盘IO四种资源,进一步推广到其他计算资源。
本实施例中,步骤1)中确定待分配任务Tj的P个子任务的资源需求时,待分配任务Tj的资源需求Dj为:
Figure BDA0003625354680000081
上式中,
Figure BDA0003625354680000082
分别为待分配任务Tj关于CPU、内存、网络带宽、磁盘IO的申请需求;P个子任务中任意第k个子任务的资源需求为:
Figure BDA0003625354680000083
上式中,
Figure BDA0003625354680000084
分别为第k个子任务关于CPU、内存、网络带宽、磁盘IO的申请需求。设目标成员集群为C={C1,C2,…,Ci,…,CP}(1≤i≤P,共P个目标成员集群;每个目标成员集群的资源总量配置信息集合为R={r1,r2,…,ri,…,rP},ri表示多集群中第i个成员集群的资源总量信息,
Figure BDA0003625354680000085
其中
Figure BDA0003625354680000086
Figure BDA0003625354680000087
分别为第i个成员集群的CPU、内存、网络带宽和磁盘IO容量。各个目标成员集群已分配的资源情况为A={a1,…,ai,…,aP},ai表示第i个集群的已分配的资源信息,
Figure BDA0003625354680000088
其中
Figure BDA0003625354680000089
Figure BDA00036253546800000810
分别为第i个集群上CPU、内存、网络带宽和磁盘IO资源实际使用值的峰值(可以减少申请值过大的预估差异),如图2所示。因此,任意第k个子任务的资源需求满足:
Figure BDA00036253546800000811
上式中,P为待分配任务Tj的子任务数量,xk第k个子任务所执行的基本任务单位数,ecpu,emem,enet,eio分别为一个任务单元的CPU、内存、网络带宽、磁盘IO需求量,N为正整数。毫无疑问,基于上述CPU、内存、网络带宽、磁盘IO四种资源的分配方式,本领域技术人员可以毫无疑义地确定将其推广到其他多种资源组合方式的分配方式。
本实施例中资源包括CPU、内存、网络带宽、磁盘IO四种资源,步骤2)中计算该目标成员集群的集群资源高可用评价函数值
Figure BDA0003625354680000091
的函数表达式为:
Figure BDA0003625354680000092
其中:
Figure BDA0003625354680000093
Figure BDA0003625354680000094
Figure BDA0003625354680000095
Figure BDA0003625354680000096
上式中,Fi(mem,net,io)为统一CPU比例标准下,内存、网络带宽、磁盘IO三因素对于高可用的影响值;Fi(cpu,net,io)为统一内存比例标准下,CPU、网络带宽、磁盘IO三因素对于高可用的影响值;Fi(cpu,mem,io)为统一网络带宽比例标准下,CPU、内存、磁盘IO三因素对于高可用的影响值;Fi(cpu,mem,net)为统一磁盘IO比例标准下,CPU、内存、网络带宽三因素对于高可用的影响值;L为求取最小公倍数的函数,任意两个数a,b的最小公倍数表示为L(a,b),u,m,n,o分别为预测得到当前时刻起的下一个单位时间内所到达任务的CPU、内存、网络带宽、磁盘IO资源使用峰值,ui,mi,ni,oi分别为该目标成员集群Ci分配子任务后的CPU、内存、网络带宽、磁盘IO资源剩余量。
集群资源高可用评价函数值
Figure BDA0003625354680000101
越大,代表目标成员集群集合C中的目标成员集群Ci资源高可用度越高。参见前文可知,计算该目标成员集群的集群资源高可用评价函数值
Figure BDA0003625354680000102
主要为统一一种资源类型的比例标准下,其余各个资源类型因素对于高可用的影响值之和,因此基于上述CPU、内存、网络带宽、磁盘IO四种资源的计算方式,本领域技术人员可以毫无疑义地确定将其推广到其他多种资源组合方式的计算方式。
目标成员集群集合C中的目标成员集群Ci分配子任务后的CPU、内存、网络带宽、磁盘IO资源剩余量可根据资源总量、已分配资源的数量、子任务资源申请需求计算得到。设多集群整体资源的CPU、内存、网络带宽、磁盘IO第h个单位时间内的新到达的任务的资源使用峰值分别为
Figure BDA0003625354680000103
通过前h个单位时间的新任务的资源使用量预测下一个h+1单位时间内新到达任务的CPU、内存、网络带宽、磁盘IO任务资源需求量为u,m,n,o。将子任务Djk调度到第i个集群Ci后,集群Ci的CPU、内存、网络带宽、磁盘IO使用余量分别为ui,mi,ni,oi。本实施例中,该目标成员集群Ci分配子任务后的CPU、内存、网络带宽、磁盘IO资源剩余量的计算函数表达式为:
Figure BDA0003625354680000104
上式中,
Figure BDA0003625354680000105
分别为该目标成员集群Ci中CPU、内存、网络带宽、磁盘IO资源的资源总量,
Figure BDA0003625354680000106
分别为该目标成员集群Ci中CPU、内存、网络带宽、磁盘IO资源的已分配资源的数量;
Figure BDA0003625354680000107
分别为第k个子任务关于CPU、内存、网络带宽、磁盘IO的申请需求。
需要说明的是,步骤1)中根据所有目标成员集群当前时刻往前多个单位时间的资源使用峰值,预测得到当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值时,可根据需要采用所需的方法。例如,比较简单的方式是采用平均值方法,即取前n个单位时间的资源使用峰值的平均值作为预测得到当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值。或者,采用机器学习算法将前n个单位时间的资源使用峰值作为机器学习算法模型的输入,机器学习算法模型的输出即为当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值,通过历史记录训练机器学习算法,即可使得机器学习算法建立输入、输出之间的映射关系。
本实施例方法的一个关键在于利用了合作博弈模型。将多集群管理系统中的成员集群C={C1,C2,…,Ci,…,CP}(1≤i≤P)与待调度的子任务Tj={t1,t2,…,tk,…tP}之间形式化一个合作博弈,在该合作博弈模型中,博弈者是进行任务编排的成员集群。经过若干轮博弈后,P个博弈者将达成互赢,称为纳什讨价还价解决方案。一个合作博弈通常表示为最大化博弈者效用函数的乘积,因此,本实施例中,步骤2)中合作博弈得分H(i)的计算函数表达式为:
Figure BDA0003625354680000111
上式中,P为待分配任务Tj的子任务数量,
Figure BDA0003625354680000112
为任意第i个目标成员集群Ci的集群资源高可用评价函数值。
本实施例中,步骤4)中根据得分最高的合作博弈得分H(i)对应的子任务分配方案所对应的每个子任务所执行的基本任务单位数时,对应的每个子任务所执行的基本任务单位数分别为{x1x2,…,xk,…,xP},其中x1~xP分别为第1~P个子任务执行的基本任务单位数。本实施例中合作博弈模型的目标函数可表示为:
Figure BDA0003625354680000113
通过计算所有的可行子任务分配方案的合作博弈得分H(i),最后根据得分最高的分配方案中子任务集合为{t1,t2,…,tk,…,tP},每个子任务所执行的基本任务单位数分别为{x1,x2,…,xk,…,xP},得出目标成员集群的动态权重分别为{x1,x2,…,xk,…,xP}。本实施例这种动态权重计算方法考虑历史不同资源平均使用量情况作为动态权重划分的重要因素,使得集群不同资源的实时剩余可用量比例与任务预测需求分布无限趋近一致,利用合作博弈理论使得该策略无限趋近于最优化目标,即不同资源剩余可用量的比例与实时多集群系统不同资源使用量的比值趋于一致,可促进资源放置更合理化,一定程度提高资源利用率,减少资源碎片的产生,使得更多的LRAs任务可以在其生命周期内平稳运行。
如图3,本实施例还提供一种云际计算环境中跨集群资源高可用调度方法,包括:
S1)接收用户提交的任务,创建任务资源申请需求,生成资源对象;
本实施例中,由外部用户向多集群管理系统中主集群发送任务,并由主集群根据任务创建任务资源申请需求,生成资源对象。所有集群的相互独立任务集合为T={T1,T2,…,Tj,…,TQ}(1≤j≤Q),本实施例中是以其中任意第j个待分配任务Tj的P个子任务作为调度以及资源分配的对象进行说明。
S2)从所有的任务中选择待分配任务Tj;判断待分配任务Tj的资源对象是否存在匹配的传播调度策略(Propagation Policy),所述传播调度策略的属性包括资源对象的类型(Kind)和名称(Name),以及该资源对象的目标成员集群属性(Placement),若找到与资源对象类型和名称相匹配的传播调度策略,直接跳转步骤S4),若未找到匹配的传播调度策略,则进行下一步骤S3);本实施例中,具体通过资源探测器检测到待分配的资源对象。本实施例中,资源绑定对象(Resource Binding)是存储在本地缓存中,此外也可以根据需要采用其他存储方式,例如数据库,或者云端等。
S3)等待创建新的传播调度策略,若检测到创建了新的传播调度策略,则判断新的传播调度策略是否与待分配任务Tj的资源匹配,若匹配则跳转步骤S4),否则重新执行步骤S3)以继续等待创建新的传播调度策略;
S4)将待分配任务Tj的资源对象和匹配的传播调度策略绑定,生成待分配任务Tj的资源绑定对象(Resource Binding);作为一种可选的实施方式,本实施例中,资源绑定对象(Resource Binding)的属性包括:资源对象名字,副本资源需求,目标成员集群属性(Placement)等。
S5)针对所有的成员集群筛选出候选成员集群,对候选成员集群进行打分排序,若待分配任务Tj的资源绑定对象未规定目标成员集群数量,则直接将所有的候选成员集群作为目标成员集群;否则,按照待分配任务Tj的资源绑定对象规定目标成员集群数量,在候选成员集群中根据打分排序选择所需的候选成员集群作为目标成员集群;
需要说明的是,步骤S5)中筛选出候选成员集群时可根据成员集群的资源条件或其他状态条件等,例如可根据调度器中过滤模块的调度算法,对集群亲和性,污点容忍性以及api版本三方面要求进行过滤集群,筛选出符合需求的候选成员集群。对候选成员集群进行打分排序时,可根据成员集群的资源条件或其他状态条件等进行打分,打分是将成员集群的资源条件或其他状态条件映射为分数,可根据需要采用所需的映射方式,包括归一化及机器学习算法等。若用户未在资源绑定对象中规定目标成员集群的个数,则默认对全部候选成员集群作为目标成员集群进行调度划分副本,若用户在资源绑定对象中规定目标成员集群的个数,则依次选取剩余候选集群中得分最高的集群,纳入目标成员集群,直到目标成员集群个数满足用户在资源绑定对象中规定目标成员集群的个数。
S6)判断待分配任务Tj的任务调度类型:
若任务调度类型为复制运行方式,则直接将待分配任务Tj分配到所有的目标成员集群中,使得所有的目标成员集群均执行待分配任务Tj,跳转执行步骤S8);
若任务调度类型为子任务分配方式,则跳转下一步;
S7)判断子任务分配方式的子类型:
若子类型为聚合方式,则分别计算各个目标成员集群的最大可容纳副本数,所述最大可容纳副本数是指目标成员集群还可支持运行的任务单元数量,并优先将任务分配到最大可容纳副本数更大的目标成员集群上以减少目标成员集群的分布数量;
若子类型为静态权重方式,则根据预设的目标成员集群的权重,将待分配任务Tj按照权重大小划分任务单元个数到各个目标成员集群上;
若子类型为动态权重方式,则采用前述的云际计算环境中跨集群资源高可用调度方法获得待分配任务Tj的P个子任务在各个目标成员集群的动态权重,将待分配任务Tj按照动态权重大小划分任务单元个数到各个目标成员集群上;跳转执行步骤S8);
S8)根据资源绑定对象生成子任务对象(Work);
S9)将子任务对象(Work)下发到对应的目标成员集群,部署运行子任务。
其中,步骤S6)~S7)具体采用调度器实现,调度器根据资源绑定对象中的目标成员集群属性(Placement),通过调度器中的调度算法计算该任务的调度结果,包括目标成员集群以及每个目标成员集群的副本分配数量。步骤S8)为采用资源绑定控制器实现,步骤S9)为采用执行器实现。上述调度器、资源绑定控制器以及执行器均为相关执行的功能或步骤的逻辑划分,而不应视为对相关执行的功能或步骤的具体限制。
需要说明的是,步骤S2)~S9)为针对一个待分配任务的调度过程,可根据需要调度步骤S2)~S9)的循环情况,既可以在步骤S9)执行完毕立刻返回步骤S2),也可以通过特定的条件触发返回步骤S2),例如等待一个延时,或者在任务执行完毕,或者根据目标服务集群上的资源或任务运行情况等。
此外,本实施例还提供一种云际计算环境中跨集群资源高可用调度系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述云际计算环境中跨集群资源高可用调度方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,且该计算机程序用于被微处理器执行以实施前述云际计算环境中跨集群资源高可用调度方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种云际计算环境中跨集群资源高可用调度方法,其特征在于,包括:
1)确定待分配任务Tj的P个子任务的资源需求,确定待分配任务Tj对应的P个目标成员集群及其资源总量以及已分配资源;根据所有目标成员集群当前时刻往前多个单位时间内新任务的资源使用峰值,预测得到当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值;
2)生成多种子任务分配方案,确定每个子任务所执行的基本任务单位数;
3)针对每一种子任务分配方案:根据各个目标成员集群的资源总量、已分配资源以及当前时刻起的下一个单位时间内所到达任务的总体资源使用峰值计算该目标成员集群的集群资源高可用评价函数值
Figure FDA0003625354670000011
并根据所有目标成员集群的集群资源高可用评价函数值
Figure FDA0003625354670000012
计算所有的可行的子任务分配方案的合作博弈得分H(i);
4)根据得分最高的合作博弈得分H(i)对应的子任务分配方案所对应的每个子任务所执行的基本任务单位数,并将其作为待分配任务Tj的P个子任务在各个目标成员集群的动态权重。
2.根据权利要求1所述的云际计算环境中跨集群资源高可用调度方法,其特征在于,所述资源需求、资源总量以及已分配资源中的资源包括CPU、内存、网络带宽、磁盘IO四种资源。
3.根据权利要求2所述的云际计算环境中跨集群资源高可用调度方法,其特征在于,步骤1)中确定待分配任务Tj的P个子任务的资源需求时,待分配任务Tj的资源需求Dj为:
Figure FDA0003625354670000013
上式中,
Figure FDA0003625354670000014
分别为待分配任务Tj关于CPU、内存、网络带宽、磁盘IO的申请需求;P个子任务中任意第k个子任务的资源需求为:
Figure FDA0003625354670000015
上式中,
Figure FDA0003625354670000016
分别为第k个子任务关于CPU、内存、网络带宽、磁盘IO的申请需求,且任意第k个子任务的资源需求满足:
Figure FDA0003625354670000021
上式中,P为待分配任务Tj的子任务数量,xk第k个子任务所执行的基本任务单位数,ecpu,emem,enet,eio分别为一个任务单元的CPU、内存、网络带宽、磁盘IO需求量,N为正整数。
4.根据权利要求2所述的云际计算环境中跨集群资源高可用调度方法,其特征在于,步骤2)中计算该目标成员集群的集群资源高可用评价函数值
Figure FDA0003625354670000022
的函数表达式为:
Figure FDA0003625354670000023
其中:
Figure FDA0003625354670000024
Figure FDA0003625354670000025
Figure FDA0003625354670000026
Figure FDA0003625354670000027
上式中,Fi(mem,net,io)为统一CPU比例标准下,内存、网络带宽、磁盘IO三因素对于高可用的影响值;Fi(cpu,net,io)为统一内存比例标准下,CPU、网络带宽、磁盘IO三因素对于高可用的影响值;Fi(cpu,mem,io)为统一网络带宽比例标准下,CPU、内存、磁盘IO三因素对于高可用的影响值;Fi(cpu,mem,net)为统一磁盘IO比例标准下,CPU、内存、网络带宽三因素对于高可用的影响值;L为求取最小公倍数的函数,任意两个数a,b的最小公倍数表示为L(a,b),u,m,n,o分别为预测得到当前时刻起的下一个单位时间内所到达任务的CPU、内存、网络带宽、磁盘IO资源使用峰值,ui,mi,ni,oi分别为该目标成员集群Ci分配子任务后的CPU、内存、网络带宽、磁盘IO资源剩余量。
5.根据权利要求4所述的云际计算环境中跨集群资源高可用调度方法,其特征在于,该目标成员集群Ci分配子任务后的CPU、内存、网络带宽、磁盘IO资源剩余量的计算函数表达式为:
Figure FDA0003625354670000031
上式中,
Figure FDA0003625354670000032
分别为该目标成员集群Ci中CPU、内存、网络带宽、磁盘IO资源的资源总量,
Figure FDA0003625354670000033
分别为该目标成员集群Ci中CPU、内存、网络带宽、磁盘IO资源的已分配资源的数量;
Figure FDA0003625354670000034
分别为第k个子任务关于CPU、内存、网络带宽、磁盘IO的申请需求。
6.根据权利要求1所述的云际计算环境中跨集群资源高可用调度方法,其特征在于,步骤2)中合作博弈得分H(i)的计算函数表达式为:
Figure FDA0003625354670000035
上式中,P为待分配任务Tj的子任务数量,
Figure FDA0003625354670000036
为任意第i个目标成员集群Ci的集群资源高可用评价函数值。
7.根据权利要求1所述的云际计算环境中跨集群资源高可用调度方法,其特征在于,步骤4)中根据得分最高的合作博弈得分H(i)对应的子任务分配方案所对应的每个子任务所执行的基本任务单位数时,对应的每个子任务所执行的基本任务单位数分别为{x1,x2,…,xk,…,xP},其中x1~xP分别为第1~P个子任务执行的基本任务单位数。
8.一种云际计算环境中跨集群资源高可用调度方法,其特征在于,包括:
S1)接收用户提交的任务,创建任务资源申请需求,生成资源对象;
S2)从所有的任务中选择待分配任务Tj;判断待分配任务Tj的资源对象是否存在匹配的传播调度策略,所述传播调度策略的属性包括资源对象的类型和名称,以及该资源对象的目标成员集群属性,若找到与资源对象类型和名称相匹配的传播调度策略,直接跳转步骤S4),若未找到匹配的传播调度策略,则进行下一步骤S3);
S3)等待创建新的传播调度策略,若检测到创建了新的传播调度策略,则判断新的传播调度策略是否与待分配任务Tj的资源匹配,若匹配则跳转步骤S4),否则重新执行步骤S3)以继续等待创建新的传播调度策略;
S4)将待分配任务Tj的资源对象和匹配的传播调度策略绑定,生成待分配任务Tj的资源绑定对象;
S5)针对所有的成员集群筛选出候选成员集群,对候选成员集群进行打分排序,若待分配任务Tj的资源绑定对象未规定目标成员集群数量,则直接将所有的候选成员集群作为目标成员集群;否则,按照待分配任务Tj的资源绑定对象规定目标成员集群数量,在候选成员集群中根据打分排序选择所需的候选成员集群作为目标成员集群;
S6)判断待分配任务Tj的任务调度类型:
若任务调度类型为复制运行方式,则直接将待分配任务Tj分配到所有的目标成员集群中,使得所有的目标成员集群均执行待分配任务Tj,跳转执行步骤S8);
若任务调度类型为子任务分配方式,则跳转下一步;
S7)判断子任务分配方式的子类型:
若子类型为聚合方式,则分别计算各个目标成员集群的最大可容纳副本数,所述最大可容纳副本数是指目标成员集群还可支持运行的任务单元数量,并优先将任务分配到最大可容纳副本数更大的目标成员集群上以减少目标成员集群的分布数量;
若子类型为静态权重方式,则根据预设的目标成员集群的权重,将待分配任务Tj按照权重大小划分任务单元个数到各个目标成员集群上;
若子类型为动态权重方式,则采用权利要求1~7中任意一项所述的云际计算环境中跨集群资源高可用调度方法获得待分配任务Tj的P个子任务在各个目标成员集群的动态权重,将待分配任务Tj按照动态权重大小划分任务单元个数到各个目标成员集群上;跳转执行步骤S8);
S8)根据资源绑定对象生成子任务对象;
S9)将子任务对象下发到对应的目标成员集群,部署运行子任务。
9.一种云际计算环境中跨集群资源高可用调度系统,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~8中任意一项所述的云际计算环境中跨集群资源高可用调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,且该计算机程序用于被微处理器执行以实施权利要求1~8中任意一项所述的云际计算环境中跨集群资源高可用调度方法的步骤。
CN202210468150.XA 2022-04-29 2022-04-29 一种云际计算环境中跨集群资源高可用调度方法及系统 Pending CN114911613A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210468150.XA CN114911613A (zh) 2022-04-29 2022-04-29 一种云际计算环境中跨集群资源高可用调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210468150.XA CN114911613A (zh) 2022-04-29 2022-04-29 一种云际计算环境中跨集群资源高可用调度方法及系统

Publications (1)

Publication Number Publication Date
CN114911613A true CN114911613A (zh) 2022-08-16

Family

ID=82765355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210468150.XA Pending CN114911613A (zh) 2022-04-29 2022-04-29 一种云际计算环境中跨集群资源高可用调度方法及系统

Country Status (1)

Country Link
CN (1) CN114911613A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237608A (zh) * 2022-09-21 2022-10-25 之江实验室 一种基于多集群统一算力的多模式调度系统和方法
CN115237581A (zh) * 2022-09-21 2022-10-25 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN116095177A (zh) * 2023-02-03 2023-05-09 西安交通大学 一种分层分簇调度方法、系统、介质及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237608A (zh) * 2022-09-21 2022-10-25 之江实验室 一种基于多集群统一算力的多模式调度系统和方法
CN115237581A (zh) * 2022-09-21 2022-10-25 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115237581B (zh) * 2022-09-21 2022-12-27 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN116095177A (zh) * 2023-02-03 2023-05-09 西安交通大学 一种分层分簇调度方法、系统、介质及设备

Similar Documents

Publication Publication Date Title
CN108829494B (zh) 基于负载预测的容器云平台智能资源优化方法
CN110737529B (zh) 一种面向短时多变大数据作业集群调度自适应性配置方法
CN112416585B (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN114911613A (zh) 一种云际计算环境中跨集群资源高可用调度方法及系统
US8015564B1 (en) Method of dispatching tasks in multi-processor computing environment with dispatching rules and monitoring of system status
CN105912399B (zh) 一种任务处理方法、装置及系统
CN111381950A (zh) 一种面向边缘计算环境基于多副本的任务调度方法和系统
CN107659433A (zh) 一种云资源调度方法及设备
CN110287245A (zh) 用于分布式etl任务调度执行的方法及系统
CN104239141A (zh) 数据中心中基于工作流关键路径的任务优化调度方法
CN110262897B (zh) 一种基于负载预测的Hadoop计算任务初始分配方法
CN114356543A (zh) 一种基于Kubernetes的多租户机器学习任务资源调度方法
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
CN111190691A (zh) 适用于虚拟机的自动迁移方法、系统、装置及存储介质
CN114968566A (zh) 一种面向共享式gpu集群下的容器调度方法及装置
CN116932201A (zh) 一种面向深度学习训练任务的多资源共享调度方法
CN114625500A (zh) 云环境下拓扑感知的微服务应用调度的方法及应用
US20230004440A1 (en) Allocating of computing resources for applications
CN104917839A (zh) 一种用于云计算环境下的负载均衡方法
Emara et al. Genetic-Based Multi-objective Task Scheduling Algorithm in Cloud Computing Environment.
CN115842822A (zh) 一种低碳自适应云主机资源配置系统
CN110084507A (zh) 云计算环境下分级感知的科学工作流调度优化方法
CN114579284A (zh) 任务调度方法及装置
CN110262896A (zh) 一种面向Spark系统的数据处理加速方法
CN118152084A (zh) 云计算环境中spark集群多作业调度方法

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