CN111552560B - 负载分配方法和系统、计算机装置、节点装置及存储介质 - Google Patents
负载分配方法和系统、计算机装置、节点装置及存储介质 Download PDFInfo
- Publication number
- CN111552560B CN111552560B CN202010276286.1A CN202010276286A CN111552560B CN 111552560 B CN111552560 B CN 111552560B CN 202010276286 A CN202010276286 A CN 202010276286A CN 111552560 B CN111552560 B CN 111552560B
- Authority
- CN
- China
- Prior art keywords
- load
- node
- resource
- node device
- amount
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000005457 optimization Methods 0.000 claims abstract description 59
- 238000004891 communication Methods 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 description 27
- 238000013468 resource allocation Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Abstract
本申请公开一种负载分配方法和系统、计算机装置、节点装置及存储介质。所述负载分配方法包括根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取所述至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在所述至少一种资源上分配的理想负载量。本申请的负载分配方法在充分考虑各节点装置对应的负载容量和损失参数的情况下确定各节点装置在至少一种资源上的理想负载量,以实现节点装置投入的负载与获得的资源之间的平衡从而实现资源分配的优化。
Description
技术领域
本申请涉及计算机数据处理领域,具体的涉及一种负载分配方法和系统、计算机装置、节点装置及存储介质。
背景技术
在多用户共享资源的场景下,资源的分配问题一直备受关注。对于每个用户而言,其所能获得的资源是不固定的,与当前场景下的待分配资源的资源量、用户的数量、各用户用于限制资源获取量的相关参数、各用户为获得资源而投入的能源能量以及产生的损耗等多种因素相关。
例如,在无线网络场景中,多用户共享无线网络基站的带宽,带宽作为资源分配给各用户,带宽的分配与处于该无线网络范围内用户的数量、各用户受其自身硬件配置条件限制所能传输的数据量、各用户为运行相应数据量所投入的通信资源以及运行相应数据量对自身硬件的损耗等因素相关。一般地,用户为运行相应数据量所投入的通信资源越多,分配给用户的资源量就越多,那么如何在满足用户自身硬件配置条件的基础上,平衡分配给用户的资源量、用户本身所需投入的通信资源、用户硬件的损耗等因素之间的关系,进而实现资源分配的优化是值得关注的问题。
发明内容
鉴于以上所述相关技术的缺点,本申请的目的在于提供一种负载分配方法和系统、计算机装置、节点装置及存储介质,用以平衡用户投入与资源获取进而实现资源分配的优化。
为实现上述目的及其他相关目的,本申请公开的第一方面提供一种负载分配方法,包括以下步骤:根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取所述至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在所述至少一种资源上分配的理想负载量。
本申请公开的第二方面提供一种负载分配系统,包括:处理模块,用于根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取所述至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在所述至少一种资源上分配的理想负载量。
本申请公开的第三方面提供一种计算机装置,包括通信装置,用于与外部通信;存储装置,用于存储至少一个程序;处理装置,与所述通信装置及存储装置耦合,用于运行所述至少一个程序时以执行并实现如本申请第一方面所述的负载分配方法。
本申请公开的第四方面提供一种节点装置,包括或通信连接于如本申请第三方面所述的计算机装置。
本申请公开的第五方面提供一种计算机可读存储介质,存储有至少一个程序,所述程序被处理器执行时执行并实现如本申请第一方面所述的负载分配方法。
综上所述,本申请负载分配的方法在充分考虑各节点装置对应的负载容量和损失参数的情况下确定各节点装置在至少一种资源上的理想负载量,以实现节点装置投入的负载与获得的资源之间的平衡从而实现资源分配的优化。
本领域技术人员能够从下文的详细描述中容易地洞察到本申请的其它方面和优势。下文的详细描述中仅显示和描述了本申请的示例性实施方式。如本领域技术人员将认识到的,本申请的内容使得本领域技术人员能够对所公开的具体实施方式进行改动而不脱离本申请所涉及发明的精神和范围。相应地,本申请的附图和说明书中的描述仅仅是示例性的,而非为限制性的。
附图说明
本申请所涉及的发明的具体特征如所附权利要求书所显示。通过参考下文中详细描述的示例性实施方式和附图能够更好地理解本申请所涉及发明的特点和优势。对附图简要说明书如下:
图1显示为分布式网络系统在一实施例中的结构示意图。
图2显示为本申请负载分配方法在一实施例中的流程图。
图3显示为本申请负载分配方法在另一实施例中的流程图。
图4显示为本申请负载分配系统在一实施例中的功能模块示意图。
图5显示为本申请实施例中的负载分配系统中通过第一负载优化方式获得理想负载量的框架示意图。
图6显示为本申请实施例中的负载分配系统中通过第二负载优化方式获得理想负载量的框架示意图。
图7显示为本申请实施例中的负载分配系统中通过第三负载优化方式获得理想负载量的框架示意图。
图8显示为本申请负载分配系统在另一实施例中的结构示意图。
图9显示为本申请计算机装置在一实施例中的结构示意图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本公开的精神和范围的情况下进行模块或单元组成、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件、信息或参数,但是这些元件或参数不应当被这些术语限制。这些术语仅用来将一个元件或参数与另一个元件或参数进行区分。例如,第一类节点装置可以被称作第二类节点装置,并且类似地,第二类节点装置可以被称作第一类节点装置,而不脱离各种所描述的实施例的范围。第一类节点装置和第二类节点装置均是在描述一种节点装置,但是除非上下文以其他方式明确指出,否则它们不是同一种节点装置。取决于语境,比如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
在多用户共享资源的场景下,资源的分配问题一直备受关注。例如,在网络场景下的无线/有线带宽资源分配、云计算或集群计算场景下的计算资源分配、区块链挖矿场景下的资源分配、以及互联网场景下的在线广告资源分配等都涉及到资源分配的问题。在上述场景中,对于每个用户而言,其所能获得的资源是不固定的,与当前场景下的待分配资源的资源量、用户的数量、各用户用于限制资源获取量的相关参数、各用户为获得资源而承担的负荷以及产生的损耗等多种因素相关。一般地,用户为获得更多的资源量,所要承担的负荷则更多,损耗也更多,那么如何平衡资源的获取量、用户的负荷以及用户的损耗等之间的关系,是优化资源分配中值得关注的问题,另外,各用户用于限制资源获取量的相关参数,各用户的损耗等也存在各不相同的情况,这也使得资源分配优化的实现更为复杂。此外,当存在多种资源时,用户如何分配其为获取各资源所要承担的负荷也是待解决的问题。
例如,在云计算或集群计算场景中,多个计算设备共享计算资源,计算资源作为待分配资源分配给各计算设备,其中,计算资源的分配与该场景中的计算设备的数量、待分配计算资源的资源量、各计算设备用于获取计算资源所能承担的最大负荷,各计算设备为获取相应计算资源所承受的负荷、计算设备因其负荷所产生的损耗等因素相关。在这种情况下,为实现计算资源分配的优化,需要平衡计算资源的资源量、各计算设备为获取计算资源所承受的负荷、计算设备因其负荷所产生的损耗等因素之间的关系。
鉴于此,为了能够平衡资源获取与用户投入,实现资源分配优化的目的,本申请提供一种负载分配方法,所述负载分配方法包括:根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取至少一种资源所承担负载的负载容量以及各节点装置的负载所对应的损失参数,确定各节点装置在至少一种资源上分配的理想负载量。
所述负载分配方法可应用在涉及资源分配的场景如无线网络场景、云计算场景、集群计算场景、互联网广告场景、区块链资源场景等中,用于实现资源分配的优化。例如,在无线网络场景中,本申请的负载分配方法中所描述的负载即对应于用户为传输数据所投入的通信资源;节点装置对应于无线网络场景中共享带宽的各用户;资源对应于无线网络场景中网络基站的带宽,资源量即总的带宽;负载容量对应于用户所能传输的最大数据量;损失参数对应于用户在传输数据时产生的硬件损耗;基于此,本申请负载分配方法中待确定的理想负载量即是指为实现平衡用户获取的带宽与其投入的通信资源的目的,用户为传输数据所需投入的最佳通信资源,从而根据用户的最佳通信资源实现带宽分配的最优。
再如,在云计算场景中,本申请的负载分配方法中所描述的负载即对应于计算设备为获取计算资源所承受的负荷,例如在分布式网络中节点装置承担被分配的计算任务而产生的占用自身计算/通信资源的负载,从而从任务产生者等处获得资源;节点装置对应于各计算设备;资源对应于计算资源,资源量即计算资源的总资源量;负载容量对应于计算设备用于获取计算资源所能承担的最大负荷;损失参数对应于计算设备因其所承担的负荷而产生的损耗;基于此,本申请负载分配方法中待确定的理想负载量即是指为实现平衡计算设备获得的计算资源与其承担的负荷的目的,计算设备为获取计算资源所需承受的最佳负荷,从而根据计算设备的最佳负荷,实现计算资源分配的最优。
又如,在区块链资源场景中,本申请的负载分配方法中所描述的负载即对应于各节点服务器为获得资源所投入的负载;节点装置对应于各节点服务器;资源量即资源的数量;负载容量对应于各节点服务器所能投入的最大负载;损失参数对应于各节点服务器在运算资源时耗费的电力能源;基于此,本申请负载分配方法中待确定的理想负载量即是指为实现平衡各节点服务器获得的资源与其投入的负载的目的,节点服务器为获得资源所需投入的最佳负载,从而根据节点服务器的最佳负载,实现资源分配的最优。
以分布式网络系统为例,请参阅图1,显示为分布式网络系统在一实施例中的结构示意图,如图所示,分布式网络系统包括多个节点装置,各节点装置承担由被分配的计算任务而产生的占用自身计算/通信资源的负载,并能从任务产生者等处获得对应计算任务的资源,其中任务产生者可以是其他节点装置,也可以是外部装置。示例性的,以图中所示节点装置A作为任务产生者,如图所示,节点装置A向节点装置B发出计算任务,节点装置B完成计算任务后通知节点装置A,然后,节点装置A将资源(例如自身当前或未来可用的计算/通信资源)分配给节点装置B。由于节点装置B在执行任务时会产生占用自身计算/通信资源的负载,因而如何实现获取资源与承担负载之间的平衡是资源分配中值得关注的问题。尤其在实际场景中,对于各节点装置本身实际能提供的负载容量、以及影响负载时所产生损失的实际损失参数可能各有不同的情况下,资源分配最优的实现更为复杂。
对此,本申请提供一种负载分配方法,所述负载分配方法包括:根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取至少一种资源所承担负载的负载容量以及各节点装置的负载所对应的损失参数,确定各节点装置在至少一种资源上分配的理想负载量。鉴于此,本申请的负载分配方法在充分考虑各节点装置对应的负载容量和损失参数的情况下确定各节点装置在至少一种资源上的理想负载量,以平衡节点装置投入的负载与获得的资源从而实现资源分配的优化。
请参阅图2,显示为本申请负载分配方法在一实施例中的流程图。如图所示,负载分配方法包括步骤S21和步骤S22。
在步骤S21中,根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在至少一种资源上分配的理想负载量。
以下通过具体计算来展示理想负载量计算的原理。
在一些实施例中,节点装置的数目记为N,其中,N≥2;资源的种类数量记为T,其中,T≥1。对于每种资源t,待分配的资源量记为rt,各资源的待分配资源量可记为r1,r2,...rT,相应地,在T种资源的情况下,所有资源的待分配资源总量记为R,节点装置i的负载容量即节点装置i的最大负载记为ci;节点装置i的负载所对应的损失参数记为pi;其中,ci>0,pi>0,其中,各节点装置的最大负载以及负载所对应的损失参数可以各不相同,各节点装置的负载容量可记为c1,c2,...cN,负载对应的损失参数可记为p1,p2,...pN。
将节点装置i在每种资源t上的负载即节点装置i在资源t上投入的实际负载记为hi,t;为实现资源分配最优目的而待确定的最佳负载记为也就是说,节点装置i在每种资源t上分配的理想负载量即节点装置i在每种资源上的最佳负载记为/>相应地,令, 表示节点装置i在T种资源上投入的负载的集合,则节点装置i在T种资源上投入的总负载记为/>其中,hi∈[0,ci],当hi=0时,表示节点装置不承担负载,当0<hi<ci时,表示节点装置不满负载工作,当hi=ci时,表示节点装置满负载工作。此外,所有节点装置在每种资源t上的总负载记为/>所有节点装置在所有资源上的总负载记为/>
此外,节点装置i在每种资源t上的成本与其投入的负载成正比,可表示为pihi,t;节点装置i在每种资源t上的获取量与节点装置i在每种资源t上投入的负载占所有节点装置投入负载的比例成正比,可表示为即/>节点装置i在每种资源t上的效用记为ui,t,可表示为/>则节点装置i在所有资源上的总效用为
若各节点装置之间没有任何约束关系,且各节点装置都能够观察到其他节点装置的特征、策略及得益函数等方面的准确信息例如各节点装置的负载等的情况,可以根据已知的节点装置的数量N、资源的种类数量T、每种资源的资源量rt、各节点装置的负载容量ci、各节点装置的损失参数pi,确定各节点装置的实际投入的负载容量hi,t,节点装置i在资源t上的效用以及节点装置i在所有资源上的效用/>
进一步的,为在整体上达成各个参与资源获取的节点装置间的负载均衡以维持系统稳定运行的目的,并且考虑所有节点装置是理性设置其负载和获取资源平衡的情况,以及能够实现资源分配优化的目的,故可确定节点装置i在各类资源t上的理想负载量继续举例来说,该负载均衡对应于下述不等式成立:对于任意0≤h′i,t≤ci,都有:
其中,表示节点装置i在资源t上投入的实际负载,/>表示节点装置i在资源t上的最佳负载,/>表示节点装置j在资源t上的最佳负载,且i≠j。
为了获得节点装置i在各种资源t上的理想负载量在各节点装置同时运算资源或者各节点装置非同时运算资源但后行动者不知先行动者的具体行动的情况下,确定各节点装置理想负载量的方式可通过第一负载优化方式实现。所述第一负载优化方式包括:根据多个节点装置在至少一种资源上的总负载量、各节点装置的损失参数以及至少一种资源的资源量,以确定各节点装置在至少一种资源上分配的有效范围内的理想负载量。
在一实施例中,所述第一负载优化方式为纯策略纳什均衡(pure Nash-equilibrium,PNE)方式。根据上面的描述可知,当hi=0时,表示节点装置不承担负载,当0<hi<ci时,表示节点装置不满负载工作,当hi=ci时,表示节点装置满负载工作。
在此,引入节点装置的最佳响应形式。对于每个节点装置i,有其中,βi是表示节点装置是满负载工作还是不满负载工作的常数,αi,t是表示节点装置是否运算资源t的常数。节点装置i的最佳响应描述为下述凸优化问题的解:
其中,引入非负乘数αi,t,针对上述(2)和(3),根据KKT平稳性条件(stationaritycondition)有/>根据KKT互补松弛条件(complementary slackness condition),当且仅当/>时,αi,t=0;当且仅当时,βi=0。
也就是说,对于H-i,节点装置i的最佳响应为其中,对于每个t∈[T],βi≥0以及αi,t≥0。当且仅当/>时,αi,t=0;当且仅当/>时,βi=0。
在此基础上,假设节点装置的最佳响应是运算资源a且不运算资源b的情况,则由于节点装置i在资源a上的最佳负载为/>则因而/>即/>节点装置j在资源b上的最佳负载为/> 则
基于上述可知,至少有一种资源由所有节点装置运算。进一步地,假设所有节点装置都运算了资源a,且属于集合M中的节点装置未运算资源b,则对于任意节点装置i∈[N]/M,有/>以及/>因此/>因而导致/> 由此可见,在PNE中,在承担负载的节点装置运算所有种类资源的情况下,每个承担负载的节点装置运算每种资源。
此外,假设集合MA表示的是承担负载的节点装置的集合,对于任意资源t, 即/>因而可知, 与资源t无关。
也就是说,在PNE中,对于任意承担负载的节点装置,节点装置i在资源t上的最佳负载对于两种资源t,t′∈[T],有/>即每个资源上的最佳负载和待分配的资源量成正比。
另外,在PNE中,对于任意节点装置i,不承担负载可表示为αi,t≥0,因为 则/>即/>不满负载工作可表示为βi=0以及αi,t=0,因此/>满负载工作可表示为βi≥0以及αi,t=0,因此/>
也就是说,在PNE中,对于任意节点装置i,当且仅当时,节点装置不承担负载,/>当且仅当/>时,节点装置满负载工作,/>当且仅当 时,节点装置不满负载工作,/>
综上,节点装置i的在资源t上的最佳负载可表示为其中,其中,Γ*表示多个节点装置在至少一种资源上的总负载量即全网负载。为了确保所获得的负载处于有效范围内,将/>在0与负载容量ci之间取最大最小值以将负载限定在[0,ci]的范围内。此外,由上述可知,每个资源上的最佳负载和待分配的资源量成正比,因而基于因子/>可以获得节点装置在每种资源t上的最佳负载。
由此可见,针对多个节点装置共享多种资源的情况,在各节点装置用于获取资源所承担的负载容量、负载对应的损失参数各不相同的复杂情况,通过上述方式可以实现资源获取量与用户负荷等因素之间的平衡,进而实现资源分配的优化。
此外,对于多种资源的情况,可以根据每种资源量,获得节点装置i在不同种资源上的最佳负载,从而解决节点装置i在不同种资源上的负载分配问题。
针对多个节点装置在至少一种资源上的总负载量即全网负载Γ*,在一实施例中,所述多个节点装置在至少一种资源上的总负载量是在令多个节点装置中的至少部分满足个体优化条件、且多个节点装置满足第一负载均衡条件的情形下根据各节点装置各自的负载容量以及损失参数确定的。其中,所述个体优化条件包括:拉格朗日乘子法条件、或KKT条件。所述第一负载均衡条件如纳什均衡条件。
在一具体示例中,上述全网负载Γ*可以通过算法1进行计算,其中,算法1考虑了所有节点装置都试图满足KKT条件使自己的效用达到极大值的性质,同时算法1也考虑了不同节点装置的负载容量和损失参数不同,模拟列举了不同的全网负载是否满足第一负载均衡的条件,最终选择符合均衡条件的全网负载Γ*。
具体地,假设不承担负载节点装置的集合表示为不满负载的节点装置的集合表示为/>满负载的节点装置的集合表示为/>所有节点装置在所有资源上的总负载Γ为等式Γ=f(Γ)的解,其中,/>则有:
如果A>0或Γ=C
其中,
针对算法1,对于节点装置i,从0开始,当Γ大于0, 则有分别相当于/> 算法1的列表L中的第一个元素反映Γ的极值,列表L中的剩余元素表示当节点装置进入或离开集合时A、B、C上的操作。在对L进行排序后,模拟Γ从0上升至[L[i-1][0],L[i][0]],由[Γ_,Γ+]表示,并且相应的A、B、C为第一个i元组的第二个元素、第三个元素以及第四个元素的和。然后,如果Γ-≤Γ′≤Γ+,则计算解Γ′。
对于等式Γ=f(Γ),因为f(x)为连续凹函数,且以及f′(0)=N>1,所以等式有解。
另外,对于等式Γ=f(Γ),令x为最小解,当Γ=x时,节点装置i的负载为hi,节点装置集合仍由表示,A、B、C相应地来自上述集合。假设x′>x也为等式的解,当Γ=x′时,节点装置i的负载为h′i,由于对于每个/>有h′i≤hi,对于每个有/>则:
这使得因为/>如果B≥2,则这与上述结果矛盾。如果B=0,则x′<0,这也与上述结果矛盾。如果B=1,在/>中仅有一个节点装置且该节点装置的损失参数为p,则可推断出/>这与上述假设矛盾。综上,说明等式Γ=f(Γ)的解唯一。
综上,可以基于算法1获得全网负载Γ*,并基于获得节点装置i的在资源t上的最佳负载。
在实际应用中,存在各节点装置的损失参数相同的情况,在这种情况下,所述多个节点装置在至少一种资源上的总负载量是基于根据不同数量的节点装置的负载容量满足个体优化条件且多个节点装置满足第一负载均衡条件而获得的各个总负载量中的最小值确定的。其中,所述个体优化条件例如KKT条件,所述第一负载均衡条件例如纳什均衡条件。另,为了清楚描述,依次参与总负载量计算的各节点装置的负载容量是降序排列的。具体地,将依次参与总负载量计算的各节点装置的负载容量以降序排列,使其满足c1≥c2≥…≥cN,其中,角标也表示节点装置相应的编号。
在PNE结构中,由于各节点装置具有相同的这表明各节点装置的行为仅依赖于其最大负载,具有较高的最大负载的节点装置不满负载工作,其余节点装置满负载工作。
令假设不满负载工作的一节点装置的负载为x,则,该节点装置的全网负载为Γ*=ix+Wi,/>通过求解上述等式,有/> 以及Γ*=Qi。因而,Si表示所有节点装置中i个不满负载工作的节点装置的负载,Qi表示所有节点装置中i个不满负载工作的节点装置的全网总负载。
首先,因为Wi≥0,有
因而,仅当Wi=0时,等式成立。
其次,对于任意t∈[T],有
因为Si≥ci+1≥…≥cN,则
以及
因此,
仅当Wi=(N-i)Si,ci+1=…=cN=Si时,等式成立。
综上,对于i∈[N],仅在Wi=0时相等关系成立;对于i∈[N-1],如果Si≥ci+1,/>仅在ci+1=…=cN=Si时相等关系成立。
此外,对于任意i∈[N-1],有:1)ci+1≥Si+1;2)ci+1≥Si;3)Qi≥Qi+1。此外,如果上述的≥替换为≤,上述不等式也成立,即满足1)ci+1≤Si+1;2)ci+1≤Si;3)Qi≤Qi+1。
具体地,将1)、2)、3)对应的命题的否定形式表示为1)′、2)′、3)′,首先,假设Qi≥Qi+1,则。
即
类似地,如果Qi≤Qi+1,则ci+1≤Si+1,即
另外,通过反证1)∧2)′和1)′∧2)来证明和/>具体地,当 因为/>以及则
然而,根据上面描述的对于i∈[N],仅在Wi=0时相等关系成立;对于i∈[N-1],如果Si≥ci+1,/>仅在ci+1=…=cN=Si时相等关系成立,有 有Qi+1≥Qi以及/>这就导致了矛盾。
类似地,可以获得/>这也导致了矛盾。
另外,一方面,
另一方面,
这两方面互相矛盾,因而无法得到S2≤c2≤S1,也无法得到S2≥c2≥S1。
综上,在损失参数p相同的情况下,全网负载Γ*=Qk,其中,所有节点装置中的k个节点装置不满负载工作,其负载为其余节点装置满负载工作,k是最小整数使得Qk=mini∈[N]Qi以及/>特别地,/>以及
也就是说,在损失参数p相同的PNE中,节点装置工作的情况由包括不承担负载、不满负载工作以及满负载工作三种状态简化为包括不满负载工作和满负载工作两种状态。由于节点装置是按照其最大负载降序排列的,因而前k个节点装置为不满负载工作,后面N-k个节点装置为满负载工作。
综上,可以基于以及/>获得全网负载Γ*,并基于/>获得节点装置i的在资源t上的最佳负载。
在各节点装置运算资源的行动具有先后顺序,且后行动者能够观察到先行动者的行动的情况下,对于资源为一种且各节点装置的损失参数相同的情况,为了获得各节点装置在至少一种资源上的理想负载量各节点装置的理想负载量可通过第二负载优化方式实现。
其中,所述多个节点装置包括第一类节点装置和第二类节点装置,所述第二类节点装置对应的第二理想负载量基于所述第一类节点装置对应的第一理想负载量而变化。所述第二负载优化方式包括:根据各第二类节点装置中的至少部分满足个体优化条件且令多个节点装置满足第二负载均衡条件而获得的多个节点装置的总负载量、以及第一类节点装置在一种资源上的获取量和第一类节点装置的损失参数,确定第一节点装置在一种资源上分配的第一理想负载量、以及第二节点装置在一种资源上分配的第二理想负载量。
其中,所述第一类节点装置是指运行资源的在先行动者,通常可称为领导者,所述第二类节点装置是指运行资源的后行动者,通常可称为跟随者。领导者先做动作,其他跟随者接着同时做出自己的选择。所述个体优化条件包括:拉格朗日乘子法条件、或KKT条件。所述第二负载均衡条件例如斯塔克尔伯均衡条件。
在一实施例中,所述第二负载优化方式为斯塔克尔伯均衡(StackelbergEquilibrium,SE)方式,则第一类节点装置即领导者x的斯塔克尔伯均衡最佳负载记为第二类节点装置即跟随者i的斯塔克尔伯格均衡最佳负载记为/>本实施例中,所述节点装置的数目为N+1个,包括一个领导者以及N个跟随者。所述总负载量遵循于总负载量函数,所述总负载量函数是以第一类节点装置的负载为输入,且其输出为:在各第二类节点装置中损失参数最高的一或多个节点装置满足所述个体优化条件、以及其余第二类节点装置的负载达到各自负载容量的约束下得到的所述多个节点装置的总负载量。所述个体优化条件例如KKT条件。根据斯塔克尔伯格均衡,第一类节点装置即领导者的斯塔克尔伯格均衡最佳负载/>第二类节点装置即跟随者i的斯塔克尔伯格均衡最佳负载
其中,Qk,Ωk变量的计算方法为:
/>
特别地,ΘN+1=R,Θ0=0,Q0(x)=W0+x,WN=0.
其中,k表示SE均衡中有多少跟随者不满负载;Ωi表示当有i个跟随者不满负载时,领导者的最佳负载;总负载量函数Qi(x)表示当领导者承担的负载为x时,负载容量最高的i个跟随者不满负载(满足KKT条件),其他跟随者满负载,全网的负载值。Wi是中间变量,代表i+1到N号节点装置的负载容量总和;Θi,Φi,Ψi为中间变量,由综合考虑跟随者行为后,对领导者的效用函数求导而来。其中,领导者x的效用函数为
综上,可以分别获得第一类节点装置的最佳负载以及第二类节点装置的各最佳负载/>
此外,在实际操作中,还存在有些节点装置不理性设置其负载和获取资源平衡的情况,也就是说,节点装置在获取资源时完全不考虑平衡资源获取、用户负载以及损失参数等因素,鉴于此,其他理性节点装置的理想负载量可通过各节点装置的资源最大化条件来确定。其中,所述资源最大化条件例如使效用函数的二阶导数小于零且一阶导数等于零。在一具体示例,理性节点装置的理想负载量可通过对上述效用函数的二阶条件求解来获得。
此外,本申请负载分配方法不仅可以应用于各节点装置之间没有任何约束关系,且各节点装置都能够观察到其他节点装置的特征、策略及得益函数等方面的准确信息的情况,对于各节点装置并不完全清楚其他节点装置的准确信息的情况,可进行多轮操作,使得各节点装置i在资源t上的效用最终也收敛于并基于上述方式获得该情况下各节点装置的理想负载量。
在步骤S22中,控制各节点装置按照各自对应的理想负载量工作。
请参阅图3,显示为本申请负载分配方法在另一实施例中的流程图。如图所示,负载分配方法包括步骤S31和步骤S32。
在步骤S31中,根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在至少一种资源上分配的理想负载量。
其中步骤S31的实现方式类似于上述步骤S21的实现方式,在此不再赘述。
在步骤S32中,发送包含所述理想负载量的信息、或对应该理想负载量的工作指令至对应节点装置。
本申请的负载分配方法可以应用于涉及资源分配的场景如无线网络场景、云计算场景、集群计算场景、互联网广告场景、区块链资源场景等中。以基于区块链的加密货币场景为例,在基于区块链的加密货币场景中,多个矿工投入一定算力以运算加密货币,各矿工在进行运算期间会耗费电力能源,同时基于工作量证明(proof-of-work,PoW)共识机制会给矿工增发加密货币以作为奖励。其中,本申请负载分配方法中的节点装置对应于各矿工;资源对应于加密货币的记账奖励,资源量即加密货币的记账奖励数量;负载容量对应于各矿工所能投入的最大算力;损失参数对应于各矿工在运算加密货币使耗费的电力能源;多个矿工共享加密货币的记账奖励,加密货币的记账奖励作为待分配资源分配给各矿工,加密货币的记账奖励的分配与矿工的数量、加密货币的记账奖励的数量、各矿工为获得加密货币的记账奖励所投入的算力、各矿工实际所能投入的最大算力、各矿工所耗费的电力能源等因素相关。基于此,本申请负载分配方法中待确定的理想负载量即是指为实现平衡各矿工获得的加密货币的记账奖励与其投入的算力的目的,矿工为获得加密货币的记账奖励所需投入的最佳算力,从而根据矿工的最佳算力实现加密货币的记账奖励分配的最优。
应当注意的是,上述场景仅为举例,本申请并不限于此,本领域技术人员可以根据本申请的描述获悉本申请在其他资源分配场景中的具体实现方式。
本申请还提供一种负载分配系统,所述负载分配系统可应用在涉及资源分配的场景如无线网络场景、云计算场景、集群计算场景、互联网广告场景、区块链资源场景等中,用于实现资源分配的优化。所述负载分配系统包括处理模块,所述处理模块用于根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在至少一种资源上分配的理想负载量。
本申请实施例中的负载分配系统在充分考虑各节点装置对应的负载容量和损失参数的情况下确定各节点装置在至少一种资源上的理想负载量,以平衡节点装置投入的负载与获得的资源从而实现资源分配的优化。
请参阅图4,显示为本申请负载分配系统在一实施例中的功能模块示意图,如图所示,负载分配系统包括处理模块41和控制模块42。
处理模块41用于根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在至少一种资源上分配的理想负载量。
在一些实施例中,节点装置的数目记为N,其中,N≥2;资源的种类数量记为T,其中,T≥1。对于每种资源t,待分配的资源量记为rt,各资源的待分配资源量可记为r1,r2,...rT,相应地,在T种资源的情况下,所有资源的待分配资源总量记为R,节点装置i的负载容量即节点装置i的最大负载记为ci;节点装置i的负载所对应的损失参数记为pi;其中,ci>0,pi>0,其中,各节点装置的最大负载以及负载所对应的损失参数可以各不相同,各节点装置的负载容量可记为c1,c2,...cN,负载对应的损失参数可记为p1,p2,...pN。
将节点装置i在每种资源t上的负载即节点装置i在资源t上投入的实际负载记为hi,t;为实现资源分配最优目的而待确定的最佳负载记为也就是说,节点装置i在每种资源t上分配的理想负载量即节点装置i在每种资源上的最佳负载记为/>相应地,令, 定示节点装置i在T种资源上投入的负载的集合,则节点装置i在T种资源上投入的总负载记为/>其中,hi∈[0,ci],当hi=0时,表示节点装置不承担负载,当0<hi<ci时,表示节点装置不满负载工作,当hi=ci时,表示节点装置满负载工作。此外,所有节点装置在每种资源t上的总负载记为/>所有节点装置在所有资源上的总负载记为/>
此外,节点装置i在每种资源t上的成本与其投入的负载成正比,可表示为pihi,t;节点装置i在每种资源t上的获取量与节点装置i在每种资源t上投入的负载占所有节点装置投入负载的比例成正比,可表示为即/>节点装置i在每种资源t上的效用记为ui,t,可表示为/>则节点装置i在所有资源上的总效用为
若各节点装置之间没有任何约束关系,且各节点装置都能够观察到其他节点装置的特征、策略及得益函数等方面的准确信息例如各节点装置的负载等的情况,可以根据已知的节点装置的数量N、资源的种类数量T、每种资源的资源量rt、各节点装置的负载容量ci、各节点装置的损失参数pi,确定各节点装置的实际投入的负载容量hi,t,节点装置i在资源t上的效用以及节点装置i在所有资源上的效用/>
进一步的,为在整体上达成各个参与资源获取的节点装置间的负载均衡以维持系统稳定运行的目的,并且考虑所有节点装置是理性设置其负载和获取资源平衡的情况,以及能够实现资源分配优化的目的,故可确定节点装置i在各类资源t上的理想负载量继续举例来说,该负载均衡对应于下述不等式成立:对于任意0≤h′i,t≤ci,都有:
其中,h′i,t表示节点装置i在资源t上投入的实际负载,麦示节点装置i在资源t上的最佳负载,/>表示节点装置j在资源t上的最佳负载,且i≠j。
为了获得节点装置i在各种资源t上的理想负载量在各节点装置同时运算资源或者各节点装置非同时运算资源但后行动者不知先行动者的具体行动的情况下,处理模块包括第一负载优化器,其中,所述第一负载优化器用于通过第一负载优化方式得到各节点装置的所述理想负载量,所述第一负载优化方式包括:根据多个节点装置在至少一种资源上的总负载量、各节点装置的损失参数以及至少一种资源的资源量,以确定各节点装置在至少一种资源上分配的有效范围内的理想负载量。
请参阅图5,显示为本申请实施例中的负载分配系统中通过第一负载优化方式获得理想负载量的框架示意图。如图所示,负载分配系统根据节点装置的数目N,各节点装置的负载容量c1,c2,...cN,各节点装置的负载对应的损失参数p1,p2,...pN,资源的的种类数量T,以及各资源的待分配资源量r1,r2,…rT,通过第一负载优化器进行第一负载优化操作,以获得各节点装置i在各种资源t上的理想负载量
在一实施例中,所述第一负载优化方式为纯策略纳什均衡(pure Nash-equilibrium,PNE)方式。根据上面的描述可知,当hi=0时,表示节点装置不承担负载,当0<hi<ci时,表示节点装置不满负载工作,当hi=ci时,表示节点装置满负载工作。
在此,引入节点装置的最佳响应形式。对于每个节点装置i,有其中,βi是表示节点装置是满负载工作还是不满负载工作的常数,αi,t是表示节点装置是否运算资源t的常数。节点装置i的最佳响应描述为下述凸优化问题的解:
其中,引入非负乘数αi,t,针对上述(2)和(3),根据KKT平稳性条件(stationaritycondition)有/>根据KKT互补松弛条件(complementary slackness condition),当且仅当/>时,αi,t=0;当且仅当时,βi=0。
也就是说,对于H-i,节点装置i的最佳响应为其中,对于每个t∈[T],βi≥0以及αi,t≥0。当且仅当/>时,αi,t=0;当且仅当/>时,βi=0。
在此基础上,假设节点装置的最佳响应是运算资源a且不运算资源b的情况,则由于节点装置i在资源a上的最佳负载为/>则因币/>即/>节点装置j在资源b上的最佳负载为/> 则
基于上述可知,至少有一种资源由所有节点装置运算。进一步地,假设所有节点装置都运算了资源a,且属于集合M中的节点装置未运算资源b,则对于任意节点装置i∈[N]/M,有/>以及/>因此/>因而导致/> 由此可见,在PNE中,在承担负载的节点装置运算所有种类资源的情况下,每个承担负载的节点装置运算每种资源。
此外,假设集合MA表示的是承担负载的节点装置的集合,对于任意资源t, 即/>因而可知, 与资源t无关。
也就是说,在PNE中,对于任意承担负载的节点装置,节点装置i在资源t上的最佳负载对于两种资源t,t′∈[T],有/>即每个资源上的最佳负载和待分配的资源量成正比。
另外,在PNE中,对于任意节点装置i,不承担负载可表示为αi,t≥0,因为 则/>即/>不满负载工作可表示为βi=0以及αi,t=0,因此/>满负载工作可表示为βi≥0以及αi,t=0,因此/>
也就是说,在PNE中,对于任意节点装置i,当且仅当时,节点装置不承担负载,/>当且仅当/>时,节点装置满负载工作,/>当且仅当 时,节点装置不满负载工作,/>
综上,节点装置i的在资源t上的最佳负载可表示为其中,其中,Γ*表示多个节点装置在至少一种资源上的总负载量即全网负载。为了确保所获得的负载处于有效范围内,将/>在0与负载容量ci之间取最大最小值以将负载限定在[0,ci]的范围内。此外,由上述可知,每个资源上的最佳负载和待分配的资源量成正比,因而基于因了/>可以获得节点装置在每种资源t上的最佳负载。
由此可见,针对多个节点装置共享多种资源的情况,在各节点装置用于获取资源所承担的负载容量、负载对应的损失参数各不相同的复杂情况,通过上述方式可以实现资源获取量与用户负荷等因素之间的平衡,进而实现资源分配的优化。
此外,对于多种资源的情况,可以根据每种资源量,获得节点装置i在不同种资源上的最佳负载,从而解决节点装置i在不同种资源上的负载分配问题。
针对多个节点装置在至少一种资源上的总负载量即全网负载Γ*,在一实施例中,所述多个节点装置在至少一种资源上的总负载量是在令多个节点装置中的至少部分满足个体优化条件、且多个节点装置满足第一负载均衡条件的情形下根据各节点装置各自的负载容量以及损失参数确定的。其中,所述个体优化条件包括:拉格朗日乘子法条件、或KKT条件。所述第一负载均衡条件如纳什均衡条件。
在一具体示例中,上述全网负载Γ*可以通过算法1进行计算,其中,算法1考虑了所有节点装置都试图满足KKT条件使自己的效用达到极大值的性质,同时算法1也考虑了不同节点装置的负载容量和损失参数不同,模拟列举了不同的全网负载是否满足第一负载均衡的条件,最终选择符合均衡条件的全网负载Γ*。
具体地,假设不承担负载节点装置的集合表示为不满负载的节点装置的集合表示为/>满负载的节点装置的集合表示为/>所有节点装置在所有资源上的总负载Γ为等式Γ=f(Γ)的解,其中,/>则有:
如果A>0或Γ=C
其中,
针对算法1,对于节点装置i,从0开始,当Γ大于0, 则有/>分别相当于/> 算法1的列表L中的第一个元素反映Γ的极值,列表L中的剩余元素表示当节点装置进入或离开集合时A、B、C上的操作。在对L进行排序后,模拟Γ从0上升至[L[i-1][0],L[i][0]],由[Γ-,Γ+]表示,并且相应的A、B、C为第一个i元组的第二个元素、第三个元素以及第四个元素的和。然后,如果Γ-≤Γ′≤Γ+,则计算解Γ′。
对于等式Γ=f(Γ),因为f(x)为连续凹函数,且以及f′(0)=N>1,所以等式有解。
另外,对于等式Γ=f(Γ),令x为最小解,当Γ=x时,节点装置i的负载为hi,节点装置集合仍由表示,A、B、C相应地来自上述集合。假设x′>x也为等式的解,当Γ=x′时,节点装置i的负载为h′i,由于对于每个/>有h′i≤hi,对于每个有/>则:
这使得因为/>如果B≥2,则这与上述结果矛盾。如果B=0,则x′<0,这也与上述结果矛盾。如果B=1,在/>中仅有一个节点装置且该节点装置的损失参数为p,则可推断出/>这与上述假设矛盾。综上,说明等式Γ=f(Γ)的解唯一。
综上,可以基于算法1获得全网负载Γ*,并基于获得节点装置i的在资源t上的最佳负载。
在实际应用中,存在各节点装置的损失参数相同的情况,在这种情况下,所述多个节点装置在至少一种资源上的总负载量是基于根据不同数量的节点装置的负载容量满足个体优化条件且多个节点装置满足第一负载均衡条件而获得的各个总负载量中的最小值确定的。其中,所述个体优化条件例如KKT条件,所述第一负载均衡条件例如纳什均衡条件。另,为了清楚描述,依次参与总负载量计算的各节点装置的负载容量是降序排列的。具体地,将依次参与总负载量计算的各节点装置的负载容量以降序排列,使其满足c1≥c2≥…≥cN,其中,角标也表示节点装置相应的编号。
在PNE结构中,由于各节点装置具有相同的这表明各节点装置的行为仅依赖于其最大负载,具有较高的最大负载的节点装置不满负载工作,其余节点装置满负载工作。
令假设不满负载工作的一节点装置的负载为x,则,该节点装置的全网负载为Γ*=ix+Wi,/>通过求解上述等式,有/> 以及Γ*=Qi。因而,Si表示所有节点装置中i个不满负载工作的节点装置的负载,Qi表示所有节点装置中i个不满负载工作的节点装置的全网总负载。
首先,因为Wi≥0,有
因而,仅当Wi=0时,等式成立。
其次,对于任意t∈[T],有
因为Si≥ci+1≥…≥cN,则
以及
因此,
仅当Wi=(N-i)Si,ci+1=…=cN=Si时,等式成立。
综上,对于i∈[N],仅在Wi=0时相等关系成立;对于i∈[N-1],如果Si≥ci+1,/>仅在ci+1=…=cN=Si时相等关系成立。
此外,对于任意i∈[N-1],有:1)ci+1≥Si+1;2)ci+1≥Si;3)Qi≥Qi+1。此外,如果上述的≥替换为≤,上述不等式也成立,即满足1)ci+1≤Si+1;2)ci+1≤Si;3)Qi≤Qi+1。
具体地,将1)、2)、3)对应的命题的否定形式表示为1)′、2)′、3)′,首先,假设Qi≥Qi+1,则。
即
类似地,如果Qi≤Qi+1,则ci+1≤Si+1,即
另外,通过反证1)∧2)′和1)′∧2)来证明和/>具体地,当 因为/>以及则
然而,根据上面描述的对于i∈[N],仅在Wi=0时相等关系成立;对于i∈[N-1],如果Si≥ci+1,/>仅在ci+1=…=cN=Si时相等关系成立,有 有Qi+1≥Qi以及/>这就导致了矛盾。
类似地,可以获得/>这也导致了矛盾。
另外,一方面,
另一方面,
这两方面互相矛盾,因而无法得到S2≤c2≤S1,也无法得到S2≥c2≥S1。
综上,在损失参数p相同的情况下,全网负载Γ*=Qk,其中,所有节点装置中的k个节点装置不满负载工作,其负载为其余节点装置满负载工作,k是最小整数使得Qk=mini∈[N]Qi以及/>特别地,/>以及
也就是说,在损失参数p相同的PNE中,节点装置工作的情况由包括不承担负载、不满负载工作以及满负载工作三种状态简化为包括不满负载工作和满负载工作两种状态。由于节点装置是按照其最大负载降序排列的,因而前k个节点装置为不满负载工作,后面N-k个节点装置为满负载工作。
综上,可以基于以及/>获得全网负载Γ*,并基于/>获得节点装置i的在资源t上的最佳负载。
在各节点装置运算资源的行动具有先后顺序,且后行动者能够观察到先行动者的行动的情况下,对于资源为一种且各节点装置的损失参数相同的情况,为了获得各节点装置在至少一种资源上的理想负载量处理模块包括第二负载优化器,所述第二负载优化器用于在所述资源为一种且各节点装置的所述损失参数相同的情形下,通过第二负载优化方式得到各节点装置的所述理想负载量。
其中,所述多个节点装置包括第一类节点装置和第二类节点装置,所述第二类节点装置对应的第二理想负载量基于所述第一类节点装置对应的第一理想负载量而变化。所述第二负载优化方式包括:根据各第二类节点装置中的至少部分满足个体优化条件且令多个节点装置满足第二负载均衡条件而获得的多个节点装置的总负载量、以及第一类节点装置在一种资源上的获取量和第一类节点装置的损失参数,确定第一节点装置在一种资源上分配的第一理想负载量、以及第二节点装置在一种资源上分配的第二理想负载量。
其中,所述第一类节点装置是指运行资源的在先行动者,通常可称为领导者,所述第二类节点装置是指运行资源的后行动者,通常可称为跟随者。领导者先做动作,其他跟随者接着同时做出自己的选择。所述个体优化条件包括:拉格朗日乘子法条件、或KKT条件。所述第二负载均衡条件例如斯塔克尔伯均衡条件。
请参阅图6,显示为本申请实施例中的负载分配系统中通过第二负载优化方式获得理想负载量的框架示意图。如图所示,对于资源为一种且各节点装置的损失参数相同的情况,本申请实施例中的负载分配系统中有两类节点装置,其中,第一类节点装置可称为领导者x,第一类节点装置即领导者的数目为1,第二类节点装置可称为跟随者i,第二类节点装置即跟随者的数目为N,即,本实施例中,节点装置的数量为N+1个。根据跟随者的数目N,各跟随者的负载容量c1,c2,...cN,待分配资源量R,领导者的负载容量cx,通过第二负载优化器进行第二负载优化操作,以获得作为领导者的节点装置的理想负载量以及作为跟随者的各节点装置的理想负载量/>
在一实施例中,所述第二负载优化方式为斯塔克尔伯均衡(StackelbergEquilibrium,SE)方式,则第一类节点装置即领导者x的斯塔克尔伯均衡最佳负载记为第二类节点装置即跟随者i的斯塔克尔伯格均衡最佳负载记为/>其中,所述节点装置的数目为N+1个,包括一个领导者以及N个跟随者。所述总负载量遵循于总负载量函数,所述总负载量函数是以第一类节点装置的负载为输入,且其输出为:在各第二类节点装置中损失参数最高的一或多个节点装置满足所述个体优化条件、以及其余第二类节点装置的负载达到各自负载容量的约束下得到的所述多个节点装置的总负载量。所述个体优化条件例如KKT条件。根据斯塔克尔伯格均衡,第一类节点装置即领导者的斯塔克尔伯格均衡最佳负载第二类节点装置即跟随者i的斯塔克尔伯格均衡最佳负载
其中,Qk,Ωk变量的计算方法为:
/>
特别地,ΘN+1=R,Θ0=0,Q0(x)=W0+x,WN=0.
其中,k表示SE均衡中有多少跟随者不满负载;Ωi表示当有i个跟随者不满负载时,领导者的最佳负载;总负载量函数Qi(x)表示当领导者承担的负载为x时,负载容量最高的i个跟随者不满负载(满足KKT条件),其他跟随者满负载,全网的负载值。Wi是中间变量,代表i+1到N号节点装置的负载容量总和;Θi,Φi,Ψi为中间变量,由综合考虑跟随者行为后,对领导者的效用函数求导而来。其中,领导者x的效用函数为
综上,可以分别获得第一类节点装置的最佳负载以及第二类节点装置的各最佳负载/>
此外,在实际操作中,还存在有些节点装置不理性设置其负载和获取资源平衡的情况,也就是说,节点装置在获取资源时完全不考虑平衡资源获取、用户负载以及损失参数等因素,鉴于此,为了获得其他理性节点装置的理想负载量,处理模块包括第三负载优化器,所述第三负载优化器用于通过各节点装置的资源最大化条件确定各节点装置的所述理想负载量。其中,所述资源最大化条件例如使效用函数的二阶导数小于零且一阶导数等于零。在一具体示例,理性节点装置的理想负载量可通过对上述效用函数的二阶条件求解来获得。请参阅图7,显示为本申请实施例中的负载分配系统中通过第三负载优化方式获得理想负载量的框架示意图。如图所示,负载分配系统根据节点装置的数目N,各节点装置的负载容量c1,c2,...cN,各节点装置的负载对应的损失参数p1,p2,...pN,资源的的种类数量T,以及各资源的待分配资源量r1,r2,...rT,通过第三负载优化器进行第三负载优化操作,以获得各理性节点装置i在各种资源t上的理想负载量/>
此外,本申请负载分配系统不仅可以应用于各节点装置之间没有任何约束关系,且各节点装置都能够观察到其他节点装置的特征、策略及得益函数等方面的准确信息的情况,对于各节点装置并不完全清楚其他节点装置的准确信息的情况,可进行多轮操作,使得各节点装置i在资源t上的效用最终也收敛于并基于上述方式获得该情况下各节点装置的理想负载量。
需特别说明的是,在图5~7的实施例中,所述第一负载优化器、第二负载优化器及第三负载优化器可以通过并存、部分共用的集成方式实现在所述处理模块,而根据输入数据所符合的情形而使用对应的第一负载优化器、第二负载优化器、第三负载优化器进行处理。
控制模块42用于控制各节点装置按照各自对应的理想负载量工作。
本申请实施例中的负载分配系统,在充分考虑各节点装置对应的负载容量和损失参数的情况下确定各节点装置在至少一种资源上的理想负载量并控制各节点装置依据其理想负载量工作,以实现节点装置投入的负载与获得的资源的平衡从而实现资源分配的优化。
请参阅图8,显示为本申请负载分配系统在另一实施例中的结构示意图,如图所示,负载分配系统包括处理模块81和通信模块82。
处理模块81用于根据多个节点装置的数量、至少一种资源的资源量、各节点装置用于获取至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在至少一种资源上分配的理想负载量。
其中,处理模块81获取理想负载量的实现方式与上述处理模块41获取理想负载量的实现方式类似,在此不再赘述。
通信模块82用于发送包含所述理想负载量的信息、或对应该理想负载量的工作指令至对应节点装置。
本申请实施例中的负载分配系统在充分考虑各节点装置对应的负载容量和损失参数的情况下确定各节点装置在至少一种资源上的理想负载量并将对应理想负载量的信息或工作指令发送至相应节点装置,使各节点装置依据对应信息或指令工作,以实现节点装置投入的负载与获得的资源的平衡从而实现资源分配的优化。
本申请还提供一种计算机装置。请参阅图9,显示为本申请计算机装置在一实施例中的结构示意图,如图所示,本申请的计算机装置90包括通信装置91,存储装置92以及处理装置93。
在实施例中,所述计算机装置例如为装载有APP应用程序或具备网页/网站访问性能的电子设备,所述电子设备包括存储器、存储器控制器、一个或多个处理单元(CPU)、外设接口、RF电路、音频电路、扬声器、麦克风、输入/输出(I/O)子系统、显示屏、其他输出或控制设备,以及外部端口等组件,这些组件通过一条或多条通信总线或信号线进行通信。所述电子设备包括但不限于如台式电脑、笔记本电脑、平板电脑、智能手机、智能电视等个人计算机。所述电子设备还可以是由带有多个虚拟机的主机和对应每个虚拟机的人机交互装置(如触控显示屏、键盘和鼠标)所构成的电子设备。
所述通信装置用于与外部进行通信,在一些实施例中,所述通信装置用于向节点装置发送包含所获得的理想负载量的信息、或对应该理想负载量的工作指令,使得节点装置可以基于所述信息或指令进行工作。所述通信装置有助于经一个或多个外部端口而与外部设备进行通信,并且它还包括用于处理RF电路和/或外部端口接收的数据的各种软件组件。外部端口(例如通用串行总线(USB)、FIREWIRE等等)适合于直接或者经网络(例如因特网,无线LAN等等)间接耦接到其他设备。
所述存储装置用于存储至少一个程序;在实施例中,所述存储装置可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,存储装置还可以包括远离一个或多个处理器的存储器,例如经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网、广域网、存储局域网等,或其适当组合。存储器控制器可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问。
在一实施例中,所述处理装置与所述存储装置和通信装置耦接,用于运行所述至少一个程序时以执行并实现如上述负载分配方法所描述的至少一种实施例。在实施例中,所述处理装置可操作地与存储器和/或非易失性存储设备耦接。更具体地,处理装置可执行在存储器和/或非易失性存储设备中存储的指令以在计算设备中执行操作,诸如生成图像数据和/或将图像数据传输到电子显示器。如此,处理装置可包括一个或多个通用微处理器、一个或多个专用处理器、一个或多个现场可编程逻辑阵列、或它们的任何组合。
本申请还提供一种节点装置,在一实施例中,所述节点装置包括上述的计算机装置,以基于所述计算机装置按照上述负载分配方法获得的理想负载量来控制节点装置工作。在另一实施例中,所述节点装置与上述的计算机装置通信连续,以基于计算机装置发送的包含所获得的理想负载量的信息、或对应该理想负载量的工作指令进行操作。
本申请还提供一种计算机可读写存储介质,存储有至少一个程序,所述程序被处理器执行时实现上述针对负载分配方法所描述的至少一种实施例。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
在一个或多个示例性方面,本申请所述方法的计算机程序所描述的功能可以用硬件、软件、固件或其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。
本申请上述的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。基于此,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (25)
1.一种负载分配方法,其特征在于,包括以下步骤:
根据多个节点装置的数量、至少一种资源待分配的资源量、各节点装置为获取所述至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在所述至少一种资源上分配的理想负载量,其中,节点装置i在每种资源t上分配的理想负载量为所述节点装置i在每种资源t上的最佳负载为所述最佳负载/>通过以下方式确定:
其中,rt表示资源t待分配的资源量,R表示所有资源的待分配的资源总量,ci表示节点装置i的负载容量,Γ*表示多个节点装置在至少一种资源上的总负载量,pi表示节点装置i的损失参数;
其中,所述负载容量为计算设备用于获取计算资源所能承担的最大负荷,则所述损失参数为计算设备因其所承担的负荷而产生的损耗;或者,所述负载容量为各节点服务器所能投入的最大负载,则所述损失参数为各节点服务器在运算资源时耗费的电力能源。
2.根据权利要求1所述的负载分配方法,其特征在于,还包括控制各节点装置按照各自对应的理想负载量工作的步骤。
3.根据权利要求1所述的负载分配方法,其特征在于,还包括发送包含所述理想负载量的信息、或对应该理想负载量的工作指令至对应节点装置的步骤。
4.根据权利要求1所述的负载分配方法,其特征在于,通过第一负载优化方式得到各节点装置的所述理想负载量,所述第一负载优化方式包括:
根据所述多个节点装置在所述至少一种资源上的总负载量、各节点装置的所述损失参数以及所述至少一种资源的资源量,以确定各节点装置在所述至少一种资源上分配的有效范围内的理想负载量。
5.根据权利要求4所述的负载分配方法,其特征在于,所述多个节点装置在所述至少一种资源上的总负载量是在令所述多个节点装置中的至少部分满足个体优化条件、且所述多个节点装置满足第一负载均衡条件的情形下根据各节点装置各自的负载容量以及损失参数确定的。
6.根据权利要求4所述的负载分配方法,其特征在于,在各节点装置的所述损失参数相同的情形下,所述多个节点装置在至少一种资源上的总负载量是基于根据不同数量的节点装置的负载容量满足个体优化条件且所述多个节点装置满足第一负载均衡条件而获得的各个总负载量中的最小值确定的。
7.根据权利要求6所述的负载分配方法,其特征在于,依次参与总负载量计算的各节点装置的负载容量是降序排列的。
8.根据权利要求1所述的负载分配方法,其特征在于,在所述资源为一种且各节点装置的所述损失参数相同的情形下,通过第二负载优化方式得到各节点装置的所述理想负载量;其中,所述多个节点装置包括:第一类节点装置和第二类节点装置,所述第二类节点装置对应的第二理想负载量基于所述第一类节点装置对应的第一理想负载量而变化;所述第二负载优化方式包括:
根据各所述第二类节点装置中的至少部分满足个体优化条件且令所述多个节点装置满足第二负载均衡条件而获得的所述多个节点装置的总负载量、以及所述第一类节点装置在所述一种资源上的获取量和所述第一类节点装置的损失参数,确定所述第一类节点装置在所述一种资源上分配的第一理想负载量、以及所述第二类节点装置在所述一种资源上分配的第二理想负载量。
9.根据权利要求8所述的负载分配方法,其特征在于,所述总负载量遵循于总负载量函数,所述总负载量函数是以第一类节点装置的负载为输入,且其输出为:在各第二类节点装置中损失参数最高的一或多个节点装置满足所述个体优化条件、以及其余第二类节点装置的负载达到各自负载容量的约束下得到的所述多个节点装置的总负载量。
10.根据权利要求5或8所述的负载分配方法,其特征在于,所述个体优化条件包括:拉格朗日乘子法条件、或KKT条件。
11.根据权利要求1所述的负载分配方法,其特征在于,通过各节点装置的资源最大化条件确定各节点装置的所述理想负载量。
12.一种负载分配系统,其特征在于,包括:
处理模块,用于根据多个节点装置的数量、至少一种资源待分配的资源量、各节点装置为获取所述至少一种资源所承担负载的负载容量、及各节点装置的负载所对应的损失参数,确定各节点装置在所述至少一种资源上分配的理想负载量,其中,节点装置i在每种资源t上分配的理想负载量为所述节点装置i在每种资源t上的最佳负载为所述最佳负载通过以下方式确定:
其中,rt表示资源t待分配的资源量,R表示所有资源的待分配的资源总量,ci表示节点装置i的负载容量,Γ*表示多个节点装置在至少一种资源上的总负载量,pi表示节点装置i的损失参数;
其中,所述负载容量为计算设备用于获取计算资源所能承担的最大负荷,则所述损失参数为计算设备因其所承担的负荷而产生的损耗;或者,所述负载容量为各节点服务器所能投入的最大负载,则所述损失参数为各节点服务器在运算资源时耗费的电力能源。
13.根据权利要求12所述的负载分配系统,其特征在于,还包括:控制模块,用于控制各节点装置按照各自对应的理想负载量工作。
14.根据权利要求12所述的负载分配系统,其特征在于,还包括:通信模块,用于发送包含所述理想负载量的信息、或对应该理想负载量的工作指令至对应节点装置。
15.根据权利要求12所述的负载分配系统,其特征在于,所述处理模块包括第一负载优化器,用于通过第一负载优化方式得到各节点装置的所述理想负载量,所述第一负载优化方式包括:
根据所述多个节点装置在所述至少一种资源上的总负载量、各节点装置的所述损失参数以及所述至少一种资源的资源量,以确定各节点装置在所述至少一种资源上分配的有效范围内的理想负载量。
16.根据权利要求15所述的负载分配系统,其特征在于,所述多个节点装置在所述至少一种资源上的总负载量是在令所述多个节点装置中的至少部分满足个体优化条件、且所述多个节点装置满足第一负载均衡条件的情形下根据各节点装置各自的负载容量以及损失参数确定的。
17.根据权利要求15所述的负载分配系统,其特征在于,在各节点装置的所述损失参数相同的情形下,所述多个节点装置在至少一种资源上的总负载量是基于根据不同数量的节点装置的负载容量满足个体优化条件且所述多个节点装置满足第一负载均衡条件而获得的各个总负载量中的最小值确定的。
18.根据权利要求17所述的负载分配系统,其特征在于,依次参与总负载量计算的各节点装置的负载容量是降序排列的。
19.根据权利要求12所述的负载分配系统,其特征在于,所述处理模块包括第二负载优化器,用于在所述资源为一种且各节点装置的所述损失参数相同的情形下,通过第二负载优化方式得到各节点装置的所述理想负载量;其中,所述多个节点装置包括:第一类节点装置和第二类节点装置,所述第二类节点装置对应的第二理想负载量基于所述第一类节点装置对应的第一理想负载量而变化;所述第二负载优化方式包括:
根据各所述第二类节点装置中的至少部分满足个体优化条件且令所述多个节点装置满足第二负载均衡条件而获得的所述多个节点装置的总负载量、以及所述第一类节点装置在所述一种资源上的获取量和所述第一类节点装置的损失参数,确定所述第一类节点装置在所述一种资源上分配的第一理想负载量、以及所述第二类节点装置在所述一种资源上分配的第二理想负载量。
20.根据权利要求19所述的负载分配系统,其特征在于,所述总负载量遵循于总负载量函数,所述总负载量函数是以第一类节点装置的负载为输入,且其输出为:在各第二类节点装置中损失参数最高的一或多个节点装置满足所述个体优化条件、以及其余第二类节点装置的负载达到各自负载容量的约束下得到的所述多个节点装置的总负载量。
21.根据权利要求16或19所述的负载分配系统,其特征在于,所述个体优化条件包括:拉格朗日乘子法条件、或KKT条件。
22.根据权利要求12所述的负载分配系统,其特征在于,所述处理模块包括第三负载优化器,用于通过各节点装置的资源最大化条件确定各节点装置的所述理想负载量。
23.一种计算机装置,其特征在于,包括:
通信装置,用于与外部通信;
存储装置,用于存储至少一个程序;
处理装置,与所述通信装置及存储装置耦合,用于运行所述至少一个程序时以执行并实现如权利要求1至11中任一所述的负载分配方法。
24.一种节点装置,其特征在于,包括通信连接于如权利要求23所述的计算机装置。
25.一种计算机可读存储介质,其特征在于,存储有至少一个程序,所述程序被处理器执行时执行并实现如权利要求1至11中任一所述的负载分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010276286.1A CN111552560B (zh) | 2020-04-09 | 2020-04-09 | 负载分配方法和系统、计算机装置、节点装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010276286.1A CN111552560B (zh) | 2020-04-09 | 2020-04-09 | 负载分配方法和系统、计算机装置、节点装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552560A CN111552560A (zh) | 2020-08-18 |
CN111552560B true CN111552560B (zh) | 2023-11-14 |
Family
ID=72002438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010276286.1A Active CN111552560B (zh) | 2020-04-09 | 2020-04-09 | 负载分配方法和系统、计算机装置、节点装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552560B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866223B (zh) * | 2021-01-12 | 2022-11-08 | 北京金山云网络技术有限公司 | 一种同态加密请求的路由方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131431A1 (en) * | 2009-11-30 | 2011-06-02 | International Business Machines Corporation | Server allocation to workload based on energy profiles |
CN107743611A (zh) * | 2015-04-29 | 2018-02-27 | 微软技术许可有限责任公司 | 动态云计算平台资源的最优分配 |
CN108984125A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种资源分配的方法、装置及存储介质 |
CN110691383A (zh) * | 2019-08-27 | 2020-01-14 | 北京邮电大学 | 一种资源分配方法及装置 |
-
2020
- 2020-04-09 CN CN202010276286.1A patent/CN111552560B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131431A1 (en) * | 2009-11-30 | 2011-06-02 | International Business Machines Corporation | Server allocation to workload based on energy profiles |
CN107743611A (zh) * | 2015-04-29 | 2018-02-27 | 微软技术许可有限责任公司 | 动态云计算平台资源的最优分配 |
CN108984125A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种资源分配的方法、装置及存储介质 |
CN110691383A (zh) * | 2019-08-27 | 2020-01-14 | 北京邮电大学 | 一种资源分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111552560A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10937125B2 (en) | Resource-utilization-based workload re-allocation system | |
US8793381B2 (en) | Workload adaptive cloud computing resource allocation | |
US8458500B2 (en) | Server allocation to workload based on energy profiles | |
Patel et al. | Comparative study and review of grid, cloud, utility computing and software as a service for use by libraries | |
US8732717B2 (en) | Resource allocation | |
CA2964461A1 (en) | Composite partition functions | |
US20230206132A1 (en) | Method and Apparatus for Training AI Model, Computing Device, and Storage Medium | |
CN105743677B (zh) | 一种资源配置方法及装置 | |
WO2020186376A1 (en) | Techniques to forecast financial data using deep learning | |
JP2021504780A (ja) | 分散コンピューティング環境における自動対角スケーリングためのアプリケーションの優先順位付け | |
Kjorveziroski et al. | Kubernetes distributions for the edge: serverless performance evaluation | |
US9898061B2 (en) | Resource capacity management in a cluster of host computers using power management analysis | |
CN111552560B (zh) | 负载分配方法和系统、计算机装置、节点装置及存储介质 | |
CN115941464A (zh) | 智能网卡供电状态控制方法、装置、电子设备和存储介质 | |
CN114270377A (zh) | 识别用于完成任务的等效物的系统和方法 | |
CN104518897A (zh) | 虚拟防火墙的资源管理优化处理方法和装置 | |
CN110825425A (zh) | 配置数据管理方法及装置、电子设备、存储介质 | |
Chen et al. | DRJOA: intelligent resource management optimization through deep reinforcement learning approach in edge computing | |
US11770456B1 (en) | System and method for distributed management of storage systems based on subscription changes | |
WO2022105661A1 (en) | Media capture device with power saving and encryption features for partitioned neural network | |
Zheng et al. | Bridging the gap between big data and game theory: A general hierarchical pricing framework | |
CN106909472B (zh) | 一种分布式文件系统的输入/输出负载调整方法及装置 | |
WO2012008019A1 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
CN114648119A (zh) | 异质性因果效应的确定方法、装置、电子设备及存储介质 | |
US11429420B2 (en) | Method for controlling performance in virtualized environment and information processing device for the same |
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 |