CN114443284A - 一种集群资源负载均衡方法、装置、电子设备和介质 - Google Patents

一种集群资源负载均衡方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN114443284A
CN114443284A CN202111641967.4A CN202111641967A CN114443284A CN 114443284 A CN114443284 A CN 114443284A CN 202111641967 A CN202111641967 A CN 202111641967A CN 114443284 A CN114443284 A CN 114443284A
Authority
CN
China
Prior art keywords
resource
node
task
load balancing
cluster
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.)
Withdrawn
Application number
CN202111641967.4A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111641967.4A priority Critical patent/CN114443284A/zh
Publication of CN114443284A publication Critical patent/CN114443284A/zh
Withdrawn 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

Abstract

本申请公开了一种集群资源负载均衡方法、装置、电子设备和介质,涉及负载均衡技术领域。所述方法包括:获取集群中至少一个节点的资源的资源信息;获取一个或多个互相独立的任务,获取所述任务中对所述资源的任务需求;根据所述资源信息和所述任务需求,进行多资源负载均衡调度计算,得到每个所述任务的最优选择节点和对应的资源负载均衡度;其中,所述资源包括中央处理器、内存、网络带宽、磁盘输入输出、图形处理器、现场可编程逻辑门阵列和存储器逻辑单元中的至少两个。本申请能够优化Kubernetes集群调度,从而降低集群资源碎片化程度,提高集群中各节点的平均负载均衡度。

Description

一种集群资源负载均衡方法、装置、电子设备和介质
技术领域
本申请涉及负载均衡技术领域,特别是涉及一种集群资源负载均衡方法、装置、电子设备和介质。
背景技术
Kubernetes是用于自动部署、扩展和管理容器化应用程序的开源系统,简称k8s。Kubernetes集群由Master节点和Node节点两类节点组成。Pod是由一个或一个以上的容器(例如Docker容器)组成的,且具有共享存储/网络/UTS/PID的能力,以及运行容器的规范,在Kubernetes中,Pod是最小的可被调度的原子单位。而Master节点是Kubernetes的核心节点,负责Kubernetes集群的管理与调度;Node节点则为运行在其上的Pod提供服务支撑。作为Kubernetes中最小的资源单位和基础运行单位,每个Pod都会被调度到某个Node上运行。Kubernetes Scheduler是Kubernetes集群的核心组件之一,负责整个集群Pod资源对象的调度,根据内置或扩展的调度算法(预选与优选调度算法),将待调度的Pod资源对象调度到最优工作节点上,从而更加合理充分地利用集群的资源,同时提高应用运行效率。
目前针对Kubernetes集群,资源负载均衡的研究工作较少,而在实际大规模Kubernetes集群中,往往会因为调度不均衡导致存在资源碎片的现象,从而造成集群整体的成本损耗。因此如何确保集群资源负载均衡,以降低集群资源碎片化程度和集群成本,是亟待解决的问题。
而目前针对Kubernetes集群负载均衡的改进方法有:
(1)、负载平衡器和多集群作业调度器,使集群间资源的平均利用率趋于平衡,但是他们均属于静态资源调度算法,没有考虑服务请求资源与Pod实际使用资源可能会不一致这种在真实应用场景中存在的现象,存在一定的局限性;
(2)、动态资源调度算法和领导者选举算法,动态资源调度算法通过对节点资源的使用情况进行实时监控并计算优先级,提高了集群资源的负载均衡程度,但是仅考虑了CPU(central processing unit,中央处理器)和内存两种资源;领导者选举算法通过将领导者均匀分布在集群中的节点上来克服网络瓶颈问题,但是仅考虑了网络流量的负载均衡。
因此,Kubernetes集群资源负载均衡方面上的研究还存在不足:一方面现有的调度算法大多为静态调度算法,没有考虑集群资源在实际使用中的动态性;另一方面现有的解决集群资源负载均衡的研究仅针对集群中的一两种资源进行优化,在多资源负载均衡方面的研究还处于空白,无法给出集群完整的资源画像,算法缺乏全面性。而在真实应用统一调度场景中,这些资源之间不能被孤立看待,所以在实际调度中应当考虑更多的必要因素。
发明内容
为了解决上述背景技术中提到的至少一个问题,本申请提供了一种集群资源负载均衡方法、装置、电子设备和介质,能够优化Kubernetes集群调度,从而降低集群资源碎片化程度,提高集群中各节点的平均负载均衡度。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种集群资源负载均衡方法,包括:
获取集群中至少一个节点的资源的资源信息;
获取一个或多个互相独立的任务,获取所述任务中对所述资源的任务需求;
根据所述资源信息和所述任务需求,进行多资源负载均衡调度计算,得到每个所述任务的最优选择节点和对应的资源负载均衡度;
其中,所述资源包括中央处理器、内存、网络带宽、磁盘输入输出、图形处理器、现场可编程逻辑门阵列和存储器逻辑单元中的至少两个。
进一步的,所述根据所述资源信息和所述任务需求,进行多资源负载均衡调度计算,得到每个所述任务的最优选择节点和对应的资源负载均衡度,包括:
根据所述资源信息和所述任务需求,计算任一所述任务调度至任一所述节点上之后,该所述节点的资源负载均衡度;
将所有所述节点根据所有所述任务进行合作博弈,以使所述集群的整体资源负载均衡达到最优,得到每个所述任务的最优选择节点和对应的资源负载均衡度。
进一步的,所述资源信息包括所述资源的资源容量和资源实际利用率,所述根据所述资源信息和所述任务需求,计算任一所述任务调度至任一所述节点上之后,该所述节点的资源负载均衡度,包括:
根据所述资源容量、所述资源实际利用率以及所述任务需求,计算任一所述任务调度至任一所述节点上之后,该所述节点的每种所述资源的调度资源利用率;
根据每种所述资源的调度资源利用率,计算所述调度资源利用率的方差,得到该所述节点的资源负载均衡度。
进一步的,所述将所有所述节点根据所有所述任务进行合作博弈,以使所述集群的整体资源负载均衡达到最优,得到每个所述任务的最优选择节点和对应的资源负载均衡度,还包括:
对所有所述节点的剩余计算能力进行计算,以供所述任务参考所述剩余计算能力执行调度;
对所有所述节点进行约束计算,得到满足约束条件的约束节点;
根据目标函数,对所述约束节点进行计算,得到最优节点选择策略,得到每个所述任务的最优选择节点和对应的资源负载均衡度。
进一步的,所述约束条件包括以下至少一种:
每个所述任务已经调度至所述集群中的一个所述节点中;
每个所述任务的所述任务需求不超过对应调度的所述节点的所述剩余计算能力。
进一步的,所述目标函数为计算每个所述节点效用函数的乘积的最大值;
所述效用函数用于根据所述资源负载均衡度为所述节点进行打分。
进一步的,所述效用函数
Figure BDA0003444026220000041
的具体公式为:
Figure BDA0003444026220000042
所述目标函数
Figure BDA0003444026220000043
的具体公式为:
Figure BDA0003444026220000044
其中,i为所述节点的编号,j为所述任务的编号,n为所述节点的数量,i、j和n均为正整数,
Figure BDA0003444026220000045
为所述任务j调度至所述节点i后的所述资源负载均衡度,πij为二进制决策变量,用于描述所述节点i的调度情况;
若所述任务j调度至所述节点i上,所述πij=1;否则,所述πij=0。
第二方面,提供一种集群资源负载均衡装置,所述装置包括:
资源监控模块,用于获取集群中至少一个节点的资源的资源信息;
任务获取模块,用于获取一个或多个互相独立的任务,获取所述任务中对所述资源的任务需求;
资源负载均衡计算模块,用于根据所述资源信息和所述任务需求,进行多资源负载均衡调度计算,得到每个所述任务的最优选择节点和对应的资源负载均衡度;
其中,所述资源包括中央处理器、内存、网络带宽、磁盘输入输出、图形处理器、现场可编程逻辑门阵列和存储器逻辑单元中的至少两个。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述集群资源负载均衡方法。
第四方面,提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述集群资源负载均衡方法。
本申请实施例具有如下有益效果:
本申请实施例提供的一种集群资源负载均衡方法、装置、电子设备和介质,能够实时获取服务资源的使用情况,从而避免服务请求资源与Pod任务实际使用资源不一致的问题出现;提出了一种基于合作博弈论的多资源负载均衡算法(MRLBCGT),能够充分考虑多种资源之间的负载均衡,建立节点之间的合作博弈模型。在保证集群中单个节点资源使用负载均衡的同时,最大化集群整体资源负载均衡的程度,从而最大化减少集群资源碎片化程度,使系统具有更加均衡的资源节点,减少资源成本损耗。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施例提供的集群资源负载均衡方法的总流程图;
图2示出根据本申请一个实施例的集群资源负载均衡方法的具体流程图;
图3示出本申请实施例提供的集群资源负载均衡装置的结构示意图;
图4示出可被用于实施本申请中所述的各个实施例的示例性系统。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
Balanced Resource Allocation算法是Kubernetes默认的负载均衡算法,该算法的目的是从候选节点中选出各项资源利用率最均衡的节点,其计算公式如下:
Figure BDA0003444026220000061
其中,Φcpu表示所有备选节点上运行的Pod和待调度Pod的总CPU占用量,Ωcpu为节点的CPU计算能力;Φmem表示所有备选节点上运行的Pod和待调度Pod的总内存占用量,Ωmem为节点的内存大小。该算法对节点打分所使用的CPU和内存占用量是根据待调度Pod的预请求量来计算的。然而,Pod的资源预请求量和实际运行时Pod对资源的使用情况并不一致,所以该打分方式有较大的误差,因此该节点资源均衡度调度算法需要改进。
实施例一
本申请提供了一种集群资源负载均衡方法,参照图1,包括:
S1、获取集群中至少一个节点的资源的资源信息。
S2、获取一个或多个互相独立的任务,获取任务中对资源的任务需求。
S3、根据资源信息和任务需求,进行多资源负载均衡调度计算,得到每个任务的最优选择节点和对应的资源负载均衡度。
其中,资源包括中央处理器(central processing unit,简称CPU)、内存(Memory)、网络带宽、磁盘输入输出(磁盘Input/Output)、图形处理器(graphicsprocessing unit,简称GPU)、现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)和存储器逻辑单元(Memory logic unit,MLU)中的至少两个。
下面以资源包括CPU、内存、网络带宽和磁盘IO为例进行进一步的阐述:
具体的,可以创建Kubernetes集群动态资源调度管理平台,可以通过监控模块实时获取到服务资源的使用情况,从而避免服务请求资源与Pod任务实际使用资源不一致的问题的出现。互相独立的任务包括计算密集型任务、内存密集型任务、网络带宽密集型任务以及磁盘IO密集型任务,这些任务大量的存在于工业控制、交通管理、智能终端和视频会议等应用中。
在一些实施例中,S3包括:
S31、根据资源信息和任务需求,计算任一任务调度至任一节点上之后,该节点的资源负载均衡度。
S32、将所有节点根据所有任务进行合作博弈,以使集群的整体资源负载均衡达到最优,得到每个任务的最优选择节点和对应的资源负载均衡度。
具体的,可以通过定义资源负载均衡度这个物理量,来衡量CPU、内存、网络带宽以及磁盘IO这些资源的资源使用率相差程度。当资源负载均衡度越大,则表明资源碎片化程度越大;同样的,当资源负载均衡度越小,则表明资源碎片化程度越小。
具体的,对于给定的一个或多个独立的任务P,可以通过自定义调度算法,求出每个任务最优的选择节点以及对应的资源负载均衡度。在保证集群中单个节点资源使用负载均衡的同时,最大化集群整体资源负载均衡度。上述的自定义调度算法可以包括一种基于合作博弈论的多资源负载均衡算法(Multi Resource Load Balancing algorithm basedon Coopera tive Game Theory,MRLBCGT),充分考虑CPU、内存、网络带宽以及磁盘IO资源之间的负载均衡,将合作博弈论与服务调度和集群资源负载均衡相结合,建立节点间的合作博弈模型,提高集群整体负载均衡程度,减少集群资源碎片化程度,从而降低集群成本。
具体的,合作博弈也称正和博弈,是指博弈双方的利益都有所增加,或者至少是一方的利益增加,而另一方的利益不受损害,从而达到整体利益增加的目的。将集群中的节点N与待调度的任务P之间形式化为一个合作博弈。在该合作博弈中,博弈者是进行任务编排的节点。经过若干轮博弈之后,n个博弈者将达成互赢,称为纳什讨价还价解决方案,此时集群中每个节点间期望负载均衡的公平性达到最大,且集群整体负载均衡也达到最优。
下面结合图2进行进一步的阐述:
在一些实施例中,资源信息包括资源的资源容量和资源实际利用率,基于此,S31包括:
S311、根据资源容量、资源实际利用率以及任务需求,计算任一任务调度至任一节点上之后,该节点的每种资源的调度资源利用率。
S312、根据每种资源的调度资源利用率,计算调度资源利用率的方差,得到该节点的资源负载均衡度。
具体的,集群中的Node节点组成的集合N可以表示为N={n1,n2,n3,…,ni,…,nn},其中,ni表示集群中的第i个节点;互相独立的任务组成的集合P可以表示为P={p1,p2,p3,…,pj,…,pm},其中,pj表示集群中待分配的第j个任务。集群中每个节点的资源信息的集合R可以表示为R={r1,r2,r3,…,ri,…,rn},其中ri表示集群中第i个节点的资源信息。示例性的,
Figure BDA0003444026220000091
其中
Figure BDA0003444026220000092
Figure BDA0003444026220000093
分别表示集群中第i个节点的CPU、内存、网络带宽和磁盘IO的资源容量。资源使用情况的集合M可以表示为
Figure BDA0003444026220000094
其中
Figure BDA0003444026220000095
分别表示集群中第i个节点的CPU、内存、网络带宽和磁盘IO的资源实际利用率。另外,假设任意的两个任务之间没有优先级关系,每个任务可以用一个四元组表示。
Figure BDA0003444026220000096
其中
Figure BDA0003444026220000097
分别表示第j个任务的CPU、内存、网络带宽、磁盘IO的任务需求。
具体的,可以计算任一任务调度至任一节点上之后,该节点的每种资源的调度资源利用率,再计算该节点的资源负载均衡度。
具体可以通过如下计算公式计算每种资源的调度资源利用率:
Figure BDA0003444026220000098
Figure BDA0003444026220000099
Figure BDA00034440262200000910
Figure BDA00034440262200000911
其中,
Figure BDA00034440262200000912
分别表示任务j调度至节点i之后,节点i的CPU、内存、网络带宽和磁盘IO的调度资源利用率;式中的πij表示一个二进制决策变量,如果任务j调度到节点i上,则πij=1,否则,πij=0。
具体可以通过如下计算公式计算资源负载均衡度:
Figure BDA00034440262200000913
Figure BDA00034440262200000914
其中,μij为任务j调度至节点i上之后,该节点i的资源的总体均值。通过这样的计算方式,就可以得到任一任务调度至任一节点上之后,该节点的资源负载均衡度。
在一些实施例中,S32还包括:
S321、对所有节点的剩余计算能力进行计算,以供任务参考剩余计算能力执行调度。
S322、对所有节点进行约束计算,得到满足约束条件的约束节点。
S323、根据目标函数,对约束节点进行计算,得到最优节点选择策略,得到每个任务的最优选择节点和对应的资源负载均衡度。
在一些实施例中,约束条件又包括以下至少一种:
每个任务已经调度至集群中的一个节点中以及每个任务的任务需求不超过对应调度的节点的剩余计算能力。
具体的,需要确保每一个任务会调度到集群中的一个节点当中,同时还需要保证被调度的任务请求资源不得超过该调度节点的剩余计算能力,即保证所部署任务资源需求的服务质量的前提下,进行节点间各资源的负载均衡,并不会影响计算密集型任务、内存密集型任务、网络带宽以及磁盘IO密集型任务等任务的服务。此时,就需要对所有节点的剩余计算能力进行计算,为任务的调度提供参考。剩余计算能力可以表示为
Figure BDA0003444026220000101
Figure BDA0003444026220000102
可以通过如下计算公式计算剩余计算能力:
Figure BDA0003444026220000103
Figure BDA0003444026220000104
Figure BDA0003444026220000105
Figure BDA0003444026220000106
其中,
Figure BDA0003444026220000107
分别表示为节点i的CPU、内存、网络带宽以及磁盘IO的剩余计算能力。
具体的,可以通过如下公式约束/确保每个任务已经调度至集群中的一个节点中:
Figure BDA0003444026220000111
可以通过如下公式约束/确保每个任务的任务需求不超过对应调度的节点的剩余计算能力:
Figure BDA0003444026220000112
Figure BDA0003444026220000113
Figure BDA0003444026220000114
Figure BDA0003444026220000115
其中,πij的值为0或1,
Figure BDA0003444026220000116
分别表示第j个任务的CPU、内存、网络带宽、磁盘IO的任务需求。
在一些实施例中,目标函数为计算每个节点效用函数的乘积的最大值;其中,效用函数用于根据资源负载均衡度为节点进行打分。
基于此,在一些实施例中,效用函数
Figure BDA0003444026220000117
的具体公式为:
Figure BDA0003444026220000118
目标函数
Figure BDA0003444026220000119
的具体公式为:
Figure BDA00034440262200001110
其中,i为节点的编号,j为任务的编号,n为节点的数量,i、j和n均为正整数,
Figure BDA00034440262200001111
为任务j调度至节点i后的资源负载均衡度,πij为二进制决策变量,用于描述节点i的调度情况;若任务j调度至节点i上,πij=1;否则,πij=0。
具体的,一个合作博弈通常表示为最大化博弈者效用函数的乘积,而效用函数如上所示,其表明一个节点的各资源的调度资源利用率的方差(资源负载均衡度
Figure BDA00034440262200001112
)越大,则该节点的效用函数值越小(打分分值越小),即该节点的资源碎片化程度越大。
具体的,在MRLBCGT算法中,可以求出集群中所有节点的剩余计算能力,为任务调度提供参考;可以求出满足约束条件的约束节点N*,若没有满足约束条件的节点,则算法结束,否则,继续执行算法,以保证任务调度到相应节点上的可用性;再根据前述的目标函数求出最优的节点选择策略,在保证集群中单个节点资源使用负载均衡的同时,提高集群整体资源负载均衡的程度;最后根据最终的调度选择得到最优的资源负载均衡度。
在本实施例中,能够实时获取服务资源的使用情况,从而避免服务请求资源与Pod任务实际使用资源不一致的问题出现;提出了一种基于合作博弈论的多资源负载均衡算法(MRLBCGT),能够充分考虑多种资源之间的负载均衡,建立节点之间的合作博弈模型。在保证集群中单个节点资源使用负载均衡的同时,最大化集群整体资源负载均衡的程度,从而最大化减少集群资源碎片化程度,使系统具有更加均衡的资源节点,减少资源成本损耗。
实施例二
对应上述实施例,本申请还提供了一种集群资源负载均衡装置,参照图3,包括资源监控模块、任务获取模块以及资源负载均衡计算模块。
其中,资源监控模块,用于获取集群中至少一个节点的资源的资源信息;任务获取模块,用于获取一个或多个互相独立的任务,获取所述任务中对所述资源的任务需求;资源负载均衡计算模块,用于根据所述资源信息和所述任务需求,进行多资源负载均衡调度计算,得到每个所述任务的最优选择节点和对应的资源负载均衡度。其中,所述资源包括中央处理器、内存、网络带宽、磁盘输入输出、图形处理器、现场可编程逻辑门阵列和存储器逻辑单元中的至少两个。
进一步的,资源负载均衡计算模块还用于根据所述资源信息和所述任务需求,计算任一所述任务调度至任一所述节点上之后,该所述节点的资源负载均衡度;以及用于将所有所述节点根据所有所述任务进行合作博弈,以使所述集群的整体资源负载均衡达到最优,得到每个所述任务的最优选择节点和对应的资源负载均衡度。
进一步的,所述资源信息包括所述资源的资源容量和资源实际利用率,基于此,资源负载均衡计算模块还用于根据所述资源容量、所述资源实际利用率以及所述任务需求,计算任一所述任务调度至任一所述节点上之后,该所述节点的每种所述资源的调度资源利用率;以及用于根据每种所述资源的调度资源利用率,计算所述调度资源利用率的方差,得到该所述节点的资源负载均衡度。
进一步的,资源负载均衡计算模块还用于对所有所述节点的剩余计算能力进行计算,以供所述任务参考所述剩余计算能力执行调度;以及用于对所有所述节点进行约束计算,得到满足约束条件的约束节点;以及用于根据目标函数,对所述约束节点进行计算,得到最优节点选择策略,得到每个所述任务的最优选择节点和对应的资源负载均衡度。
进一步的,资源负载均衡计算模块还用于检查所述约束条件,所述约束条件包括以下至少一种:每个所述任务已经调度至所述集群中的一个所述节点中;以及每个所述任务的所述任务需求不超过对应调度的所述节点的所述剩余计算能力。
关于集群资源负载均衡装置的具体限定、目标函数以及效用函数的相关内容可以参见前述对于集群资源负载均衡方法的详细介绍,在此不再赘述。上述集群资源负载均衡装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例三
对应上述实施例,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时可以实现上述集群资源负载均衡方法。
如图4所示,在一些实施例中,系统能够作为各所述实施例中的任意一个用于集群资源负载均衡方法的上述电子设备。在一些实施例中,系统可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器)。
对于一个实施例,系统控制模块可包括任意适当的接口控制器,以向(一个或多个)处理器中的至少一个和/或与系统控制模块通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块可包括存储器控制器模块,以向系统存储器提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
系统存储器可被用于例如为系统加载和存储数据和/或指令。对于一个实施例,系统存储器可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备及(一个或多个)通信接口提供接口。
例如,NVM/存储设备可被用于存储数据和/或指令。NVM/存储设备可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备可包括在物理上作为系统被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备可通过网络经由(一个或多个)通信接口进行访问。
(一个或多个)通信接口可为系统提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器中的至少一个可与系统控制模块的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器中的至少一个可与系统控制模块的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器中的至少一个可与系统控制模块的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器中的至少一个可与系统控制模块的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
实施例四
对应上述实施例,本申请还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行集群资源负载均衡方法。
在本实施例中,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种集群资源负载均衡方法,其特征在于,包括:
获取集群中至少一个节点的资源的资源信息;
获取一个或多个互相独立的任务,获取所述任务中对所述资源的任务需求;
根据所述资源信息和所述任务需求,进行多资源负载均衡调度计算,得到每个所述任务的最优选择节点和对应的资源负载均衡度;
其中,所述资源包括中央处理器、内存、网络带宽、磁盘输入输出、图形处理器、现场可编程逻辑门阵列和存储器逻辑单元中的至少两个。
2.根据权利要求1所述的集群资源负载均衡方法,其特征在于,所述根据所述资源信息和所述任务需求,进行多资源负载均衡调度计算,得到每个所述任务的最优选择节点和对应的资源负载均衡度,包括:
根据所述资源信息和所述任务需求,计算任一所述任务调度至任一所述节点上之后,该所述节点的资源负载均衡度;
将所有所述节点根据所有所述任务进行合作博弈,以使所述集群的整体资源负载均衡达到最优,得到每个所述任务的最优选择节点和对应的资源负载均衡度。
3.根据权利要求2所述的集群资源负载均衡方法,其特征在于,所述资源信息包括所述资源的资源容量和资源实际利用率,所述根据所述资源信息和所述任务需求,计算任一所述任务调度至任一所述节点上之后,该所述节点的资源负载均衡度,包括:
根据所述资源容量、所述资源实际利用率以及所述任务需求,计算任一所述任务调度至任一所述节点上之后,该所述节点的每种所述资源的调度资源利用率;
根据每种所述资源的调度资源利用率,计算所述调度资源利用率的方差,得到该所述节点的资源负载均衡度。
4.根据权利要求2所述的集群资源负载均衡方法,其特征在于,所述将所有所述节点根据所有所述任务进行合作博弈,以使所述集群的整体资源负载均衡达到最优,得到每个所述任务的最优选择节点和对应的资源负载均衡度,还包括:
对所有所述节点的剩余计算能力进行计算,以供所述任务参考所述剩余计算能力执行调度;
对所有所述节点进行约束计算,得到满足约束条件的约束节点;
根据目标函数,对所述约束节点进行计算,得到最优节点选择策略,得到每个所述任务的最优选择节点和对应的资源负载均衡度。
5.根据权利要求4所述的集群资源负载均衡方法,其特征在于,所述约束条件包括以下至少一种:
每个所述任务已经调度至所述集群中的一个所述节点中;
每个所述任务的所述任务需求不超过对应调度的所述节点的所述剩余计算能力。
6.根据权利要求4所述的集群资源负载均衡方法,其特征在于,所述目标函数为计算每个所述节点效用函数的乘积的最大值;
所述效用函数用于根据所述资源负载均衡度为所述节点进行打分。
7.根据权利要求6所述的集群资源负载均衡方法,其特征在于,所述效用函数
Figure FDA0003444026210000021
的具体公式为:
Figure FDA0003444026210000022
所述目标函数
Figure FDA0003444026210000023
的具体公式为:
Figure FDA0003444026210000024
其中,i为所述节点的编号,j为所述任务的编号,n为所述节点的数量,i、j和n均为正整数,
Figure FDA0003444026210000025
为所述任务j调度至所述节点i后的所述资源负载均衡度,πij为二进制决策变量,用于描述所述节点i的调度情况;
若所述任务j调度至所述节点i上,所述πij=1;否则,所述πij=0。
8.一种集群资源负载均衡装置,其特征在于,所述装置包括:
资源监控模块,用于获取集群中至少一个节点的资源的资源信息;
任务获取模块,用于获取一个或多个互相独立的任务,获取所述任务中对所述资源的任务需求;
资源负载均衡计算模块,用于根据所述资源信息和所述任务需求,进行多资源负载均衡调度计算,得到每个所述任务的最优选择节点和对应的资源负载均衡度;
其中,所述资源包括中央处理器、内存、网络带宽、磁盘输入输出、图形处理器、现场可编程逻辑门阵列和存储器逻辑单元中的至少两个。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述集群资源负载均衡方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行权利要求1至7中任意一项所述集群资源负载均衡方法。
CN202111641967.4A 2021-12-29 2021-12-29 一种集群资源负载均衡方法、装置、电子设备和介质 Withdrawn CN114443284A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111641967.4A CN114443284A (zh) 2021-12-29 2021-12-29 一种集群资源负载均衡方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111641967.4A CN114443284A (zh) 2021-12-29 2021-12-29 一种集群资源负载均衡方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN114443284A true CN114443284A (zh) 2022-05-06

Family

ID=81365404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111641967.4A Withdrawn CN114443284A (zh) 2021-12-29 2021-12-29 一种集群资源负载均衡方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN114443284A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396515A (zh) * 2022-08-19 2022-11-25 中国联合网络通信集团有限公司 资源调度方法、装置及存储介质
CN115617279A (zh) * 2022-12-13 2023-01-17 北京中电德瑞电子科技有限公司 分布式云数据的处理方法、装置及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396515A (zh) * 2022-08-19 2022-11-25 中国联合网络通信集团有限公司 资源调度方法、装置及存储介质
CN115617279A (zh) * 2022-12-13 2023-01-17 北京中电德瑞电子科技有限公司 分布式云数据的处理方法、装置及存储介质
CN115617279B (zh) * 2022-12-13 2023-03-31 北京中电德瑞电子科技有限公司 分布式云数据的处理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN104238712B (zh) 分布式功率输送
CN114443284A (zh) 一种集群资源负载均衡方法、装置、电子设备和介质
CN108632365A (zh) 服务资源调整方法、相关装置和设备
DE102022107621A1 (de) Resourcenauswahl, die zum teil auf der arbeitslast basiert
CN105912396A (zh) 用于动态地分配可配置计算资源的资源的技术
CN113157410A (zh) 线程池调节方法、装置、存储介质及电子设备
Caviglione et al. Deep reinforcement learning for multi-objective placement of virtual machines in cloud datacenters
CN110109756A (zh) 一种网络靶场构建方法、系统及存储介质
CN107844187A (zh) 功耗管理方法、装置及电子设备
CN102339233A (zh) 云计算集中管理平台
CN114356587B (zh) 算力任务跨区域调度方法、系统及设备
CN104168133A (zh) 一种动态配置api访问量的方法和网关及系统
CN116360972A (zh) 资源管理方法、装置及资源管理平台
WO2023174037A1 (zh) 资源调度方法、装置、系统、设备、介质和程序产品
US20220300323A1 (en) Job Scheduling Method and Job Scheduling Apparatus
Deiab et al. Energy efficiency in cloud computing
CN115840649B (zh) 划分容量块式虚拟资源分配方法及装置、存储介质和终端
CN117311973A (zh) 计算设备调度方法、装置、非易失性存储介质及电子设备
CN110311933A (zh) 一种均衡业务流量的方法、装置、设备及存储介质
CN115421930B (zh) 任务处理方法、系统、装置、设备及计算机可读存储介质
CN116402318A (zh) 面向配电网的多级算力资源分配方法、装置及网络架构
US20230143270A1 (en) Apparatus and method with scheduling
CN104834565B (zh) 一种系统服务动态部署方法及装置
CN114035940A (zh) 资源分配方法以及装置
CN206790524U (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20220506

WW01 Invention patent application withdrawn after publication