CN105117292A - 随机扩散动态负载均衡方法 - Google Patents
随机扩散动态负载均衡方法 Download PDFInfo
- Publication number
- CN105117292A CN105117292A CN201510467927.0A CN201510467927A CN105117292A CN 105117292 A CN105117292 A CN 105117292A CN 201510467927 A CN201510467927 A CN 201510467927A CN 105117292 A CN105117292 A CN 105117292A
- Authority
- CN
- China
- Prior art keywords
- random
- information
- task
- load balancing
- migration
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 145
- 238000009792 diffusion process Methods 0.000 title claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 117
- 238000013508 migration Methods 0.000 claims abstract description 46
- 230000005012 migration Effects 0.000 claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims abstract description 25
- 230000007704 transition Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 claims description 16
- 238000007476 Maximum Likelihood Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 9
- 230000006854 communication Effects 0.000 description 23
- 238000004422 calculation algorithm Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 12
- 238000005457 optimization Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007935 neutral effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000329 molecular dynamics simulation Methods 0.000 description 1
- 238000012367 process mapping Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种随机扩散动态负载均衡方法,包括以下步骤:步骤1、把计算任务随时间的迁移而位于哪个进程这一状态变量看作是一个随机过程,每次迭代通过随机扩散信息交换协议以及基于概率图模型的参数学习过程;步骤2、计算出任务量随机迁移矩阵,据此进行任务迁移来达到负载均衡。具有良好的扩展性和良好的全局均衡效果等优点。
Description
技术领域
本发明涉及一种在多核集群上进行并行计算的动态负载均衡技术,特别涉及一种随机扩散动态负载均衡方法,该均衡方法主要是针对异构集群系统。
背景技术
由于芯片制造工艺以及存储带宽的制约,一味地追求单机性能显得越来越不现实。并行计算自提出以来一直是解决大规模计算问题的主要手段,近几十年来更是被广泛关注和研究,并行计算系统主要的硬件模型主要有对称多处理机系统(SymmetricMultiProcessing,SMP)和大规模并行处理系统(MassivelyParallelProcessing,MPP)等,其对应的计算模式分别是多核计算和集群计算。多核集群并行计算是当今计算的主流模式已成为工业界和学术界的共识,尤其是在高性能计算(HighPerformanceComputing,HPC)领域。随着应用复杂性和处理数据量的增长,以及要求提供计算服务的用户数量的增多,集群系统的单机核数与计算结点数目将不断增加,甚至通过安装具有高吞吐率的加速卡,如图形处理器(GPU)、现场可编程门阵列(FPGA)以及众核集成协处理器(MIC),来增强单机计算性能。
业务数据的累积使得各个行业对数据处理和计算性能的需求从来没有如此迫切,为了有效地利用集群系统的计算资源,工业界和学术界一直致力于研究影响并行计算应用性能的因素。除了计算系统本身的规模、各个结点的计算能力、互联网络、存储系统以及并行算法本身的设计以外,负载均衡往往是一个被忽视的重要因素。负载不均衡带来的坏处只有在处理大规模数据的时候才会比较突出,在一般的并行计算应用中,因为进程的数量较少或者任务量不多,负载不均衡现象并不明显,如果不是有对比实验数据或者专门测试负载均衡情况那么是很难识别出来的,这种程序一旦遇上数据量或者运行规模翻几倍的情况则很可能无法胜任。
对于一些简单应用,例如结构化的网格计算、稠密矩阵运算,负载容易被预测,而且不会动态地改变。这类应用并不需要复杂的负载均衡技术,只需要简单的静态负载均衡(StaticLoadBalancing,SLB),在运行之前把计算任务尽可能平均地分配到各个计算进程便可以满足需要。然而,随着复杂应用的出现,计算负载随时间而变化并且其变化趋势较难预测的现象已经变得十分普遍。例如,在分子动力学模拟应用里,如果分子是按数量静态分配给各个进程,分子的移动就不会引起负载不均衡;如果一些复杂的模拟算法为了更好地进行作用力的计算而把分子按空间坐标分配给各个进程,分子的移动将带来负载不均衡并严重地影响到算法整体的性能。在科学计算软件中,计算流体动力学、气候模拟中的降雨和云层等都是经常会引起负载不均衡的大型复杂应用。
动态负载均衡(DynamicLoadBalancing,DLB)技术通过在运行时间隔性地在进程之间迁移计算任务来减少应用的总体运行时间,这种技术能有效地解决以上所说的复杂应用所产生的负载不均衡现象,带来应用整体性能的提升。不但如此,当应用是运行在一个结点间或者进程间计算性能不一致的集群上时,即使每个进程的负载能均衡分配,负载不均衡的现象依然存在,因为这时候各个计算进程的有效运行时间并不一致,也就是说进程之间的等待会带来计算资源的浪费。出现进程间计算性能不一致的原因有很多,例如异构系统中部分结点的配置差异,部分结点安装了加速卡可以为运行其上的进程提供加速服务,温度、湿度的变化可能会使机器的计算性能出现波动,这些情况一般很难进行统计或预测,所以动态负载均衡技术更加显得重要。
负载均衡的目标在于寻找一个有效的负载分配策略,使得并行计算中各个进程能以尽可能一样的时间结束计算任务。负载均衡问题本身属于NPC问题,寻找一个最优的负载分配策略需要很大的计算开销,特别是对于大规模并行应用和负载动态变化的应用。而且,在动态负载均衡过程中,计算任务和数据的迁移需要额外的通讯开销,这也成为影响整体性能的其中一个因素。因此,寻找一个既能带来整体负载基本均衡,同时带来最小的额外开销的策略成为负载均衡技术研究中的重要任务。
负载均衡系统在实际应用中有多种存在方式,它既可以嵌套在不同的并行应用中为特定的应用提供负载均衡功能,这种应用的并行库不具备负载均衡的功能,例如传统的MPI应用,并行应用需要自己实现负载均衡的功能;它也可以作为一个独立模块存在于并行计算框架中,通常被称为该框架的任务调度系统。
在并行计算中,特别是运行在异构系统上的应用,动态负载均衡技术对于应用的整体性能以及硬件资源的利用率起到关键作用。本发明的重点在于如何设计一个高效的动态负载模型,使得并行计算应用能带来更高的加速效率。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种随机扩散动态负载均衡方法,该均衡方法以由原问题分解得到的若干个子任务为研究对象,把其在某个特定时间点的位置情况看作一个随机变量,然后利用随机过程理论把负载均衡问题转化为一个迭代优化的过程,每一次迭代的目的就是使得代价函数(负载不均衡程度)减少,从而等价于负载均衡操作。
本发明的目的通过下述技术方案实现:一种随机扩散动态负载均衡方法,包括以下步骤:一种随机扩散动态负载均衡方法,包括以下步骤:
步骤1、把计算任务随时间的迁移而位于哪个进程这一状态变量看作是一个随机过程,每次迭代通过随机扩散信息交换协议以及基于概率图模型的参数学习过程;
步骤2、计算出任务量随机迁移矩阵,据此进行任务迁移来达到负载均衡;
所述随机扩散信息交换协议,用于进程负载状态信息的交换,据此来进行动态负载均衡模型的建立;
所述基于概率图模型的参数学习过程,用于动态负载均衡模型中的变量更新。
所述随机扩散信息交换协议具体包括以下步骤:
步骤11、轻载进程向过载进程和均衡进程集合中的一个随机子集发送信息;
步骤12、在上一轮信息扩散中有接收到信息的进程在与自己不同类型的进程集合里随机选择α个进程,把自己收到的信息传递给他们,所述每个进程随机选取进程的概率是独立的;
步骤13、重复τ次步骤12直至信息覆盖率达到99%为止。
所述基于概率图模型的参数学习过程具体包括以下步骤;
步骤1a、构造能表示系统内部随机变量(向量)之间的条件依赖关系的动态贝叶斯图;
步骤1b、根据进程的负载量构造状态迁移图的形状;
步骤1c、用最大似然参数估计法求出状态迁移概率矩阵。
所述步骤2包括以下步骤:
步骤21、初始化系统内部变量和进程的初始身份;
步骤22、随机扩散负载信息;
步骤23、根据收集到的最新信息进行参数学习,更新系统的内部变量;
步骤24、根据系统的内部变量来构造随机迁移任务量矩阵;
步骤25、根据随机迁移任务量矩阵,每个进程从自身任务队列末端开始选择合适的任务迁移到其它进程;
步骤26、更新系统迭代周期;
步骤27、重复步骤22至26,直至系统结束为止。
本发明的原理:本发明是一种基于动态贝叶斯网络和随机扩散通信协议的动态负载均衡方法,并针对异构系统中并行计算的负载均衡问题,提出一种随机化的方法,通过在线学习计算系统各个计算单元的性能分布特征来对系统的状态作出预测,据此作出任务迁移的决策。本发明基于图模型的分布式学习算法,能很好地适应异构系统;所使用的基于随机扩散的高效通讯模型能保证负载信息的覆盖率;其核心的迭代优化算法具有自适应的学习能力,可应对不稳定的环境。
本发明相对于现有技术具有如下的优点及效果:
1、本发明把负载均衡问题转化为优化问题后,其优化目标比较特殊,一般优化算法并不能得到很好的收敛速度。本发明结合概率图模型,把原优化问题转化成概率图模型中的参数学习问题,利用概率图这一数学工具简化了原优化问题;本发明提出的动态负载均衡方法既具有良好的扩展性,也有较好的全局均衡效果。
2、本发明针对分布式环境下,大规模集群之间消息通讯的较大开销所带来的不良影响,本发明采用了一种随机扩散的算法,使得进程之间的通讯以一种异步的方式进行,并且使优化算法与之相适应,在保证其收敛速度的前提下进行随机优化,从而降低通信延迟带来的负面影响。
3、本发明其本质上属于分布式算法,但它不同于现有的算法,没有预先把进程分成若干个区域进行局部通讯和局部任务迁移,而是采用随机的方式,在每次需要信息交换的时候随机选取通讯对象群体。这样设计避免了分布式负载均衡算法信息不完整的缺点,为了能跳出局部最优,本发明把全局的进程视为待通讯对象,然后以一定的概率来选择目标,既节省了全局通讯的开销,也为每个进程获取全局信息提供可能性。
4、本发明在异构系统下的并行计算更容易导致负载不均衡,而计算性能的信息对于负载均衡算法至关重要,所以需要及时通知其余进程。由于进程在机器内部分到的计算资源不一定长期稳定,所以还要定时更新计算性能信息。大量的通讯会使得负载均衡算法适得其反,而不足的信息则会令负载均衡器作出错误的判断,从而影响其效果。本发明采用随机扩散算法作为信息交换的策略,既保证了足够的信息量,也减少了通讯的开销。
附图说明
图1为随机扩散动态负载均衡算法的总体流程图。
图2为负载不均衡函数的三维曲面图。
图3为系统建模的动态贝叶斯图模型。
图4a为状态迁移图的初步构造示意图。
图4b为状态迁移图的重构示意图。
图4c为状态迁移图的修正示意图。
图5a为扩散半径等于3的第一轮信息扩散。
图5b为扩散半径等于3的第二轮信息扩散。
图5c为扩散半径等于3的第三轮信息扩散。
图5d为扩散半径等于3的第四轮信息扩散。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本发明提出的动态负载均衡方法是一个逐步迭代优化的算法,每一次迭代的开始都会有一个当前系统状态的视图,即任务进程映射,负载均衡系统通过随机信息扩散以及对动态贝叶斯图进行参数学习来更新系统的各个变量,从而得出任务迁移的决策,然后按照随机迁移的规则进行任务迁移,在经历一段时间间隔以后重复以上过程,直至系统终止。
如图2所示,为了衡量所提出的新算法的有效性,需要选择一个合适的度量来表示计算系统的负载不均衡程度。与标准差相比,在各个进程中,最大负载量与平均负载量的比值被证实能更好地体现系统的负载不均衡性,系统的负载不均衡程度可以定义为
其中,f(S)表示负载不均衡程度,dmax表示所有进程负载中的最大值,davg表示所有进程负载中的最小值。
当负载均衡器执行了任务迁移的动作以后,负载向量会更新,从而导致系统负载不均衡程度f(S)的改变。本发明提出的动态负载均衡策略的目标是找到一个最优的迁移矩阵S可以使得函数f最小化。
因为dmax>davg恒成立,所以存在一个约束平面标记出函数的有效范围。从图像中很难直接观察出最小值点,但从函数的表达式中可以推出,函数的最小值点出现在约束平面与函数曲面相交的直线上,即y=x,z=0的直线,最小值为0。显然,在系统运行的过程中,dmax和dmax的值都会一直减少,如果能一直沿着这条最优直线递减将是最理想的情况,但这种实现是困难的,本发明只能使优化的轨迹尽可能贴近最优直线,以保证系统负载处于相对较平衡的状态。另外,这个曲面还有一个特点,就是平均剩余时间低于50的时候,函数曲面的部分区域呈现急速上升的趋势。那是因为当计算系统快要结束的时候,各个计算单元里剩余的计算任务都很少,一次小规模的任务迁移都会导致系统整体负载情况发生较大的变化,所以负载均衡系统需要作出谨慎的选择,宁可允许少量的负载不均衡,也不进行效果不明显的任务迁移,因为这样很有可能会起到反作用,并浪费通讯的开销。
给定一个概率空间(Ω,P)和一个可度量空间(R,Σ),一个随机过程X(t)被定义为一组在Ω上的随机变量,值域为R,t是一个代表时间的有序变量。本发明把计算系统中进程标识的集合{a0,a1,...,ai,...,am},m为进程的数量,看作状态空间R,则X(t)表示一个随机任务在t时刻所位于的进程。
因为任务的迁移不会持续地进行,假设对于每个非负整数n,当n≤t<n+1的时候,随机变量X(t)独立于参数t,那么这个随机过程便成为一个随机变量序列X1,X2,...,Xn,...。对于某个随机任务,给定当前状态和一系列的过去状态,该任务未来的状态与历史状态无关,即:
P{Xn+1=x|X1=x1,X2=x2,...,Xn=xn}=P{Xn+1=x|Xn=xn},
这个特性满足马尔科夫无后效性,因此可以应用离散马尔科夫链模型。如果计算系统的环境是稳定的,那么每个任务要么稳定存在于某个进程,成为吸收壁,要么在进程之间迁移直到它被处理。本发明针对的是环境不稳定的计算系统,那么这些系统的不稳定性可以被看作随着时间的发展,系统具有一系列不同的稳定状态时间片,本发明提出的算法就是要预测这些离散的稳定状态,通过动态地迁移任务来适应新的环境。
根据马尔科夫链的状态迁移理论,一个任务从时刻n到时刻n+1由一个进程迁移到另一个进程的概率可以表示为迁移矩阵Pm×m,矩阵中的每个元素pi:j表示任务从进程i迁移到进程j的概率。
另一个需要讨论的问题是需要迁移多少任务,因为把进程中所有任务都考虑在迁移候选列表中是不现实的。定义一个比例系数向量其中每个元素cl代表进程l考虑在迁移候选列表的任务量比例。这个比例系数向量即是新模型的选择策略,把所有任务都看作是具有相同度量标准的,每次选择的迁移候选任务集合的负载总数占该进程负载总数的比例为cl。然后,迁移矩阵可以表达为:
其中,对角矩阵函数表示由一个向量到一个对角矩阵Z的映射,向量中的每个元素作为对角矩阵中对角线的元素。
因为负载向量在执行完一轮任务迁移后便已经确定下来,在本发明的模型中,参数和P是两个能影响系统负载均衡的因素。因此,可以把动态负载均衡问题描述成一个优化问题,
其中,
要直接优化以上函数是十分困难的,因此本发明借助概率图模型来解决这个难题。如图3所示,本发明把性能负载量和任务的位置X这些随机变量(向量)视作概率图中的节点,他们之间的依赖关系看作概率图中的边,用他们的条件概率分布表示边的权值,因此基于有向无环图(DirectedAcyclicGraph)的贝叶斯网络(BayesianNetwork)更加适合本发明的模型,由于模型中含有时间序列,所以可拓展为动态贝叶斯网络(DBN)模型。图中所示是一个展开的动态贝叶斯网络G,重复的子结构是两个时间片段的贝叶斯网络(2TBN)。观测变量是各个进程的负载,各个进程的计算性能属于隐藏变量,本发明通过信息扩散的方式把这个变量的值扩散到系统中去,从而变成已知变量。另一个隐藏变量则是任务所在的位置,即进程号。在某个时间片段,一个任务的位置依赖于上一个时间片段它所在的位置、各个进程的性能以及负载,而这个依赖关系使用条件概率的方式表达。通过概率图模型的参数学习,最后会得出任务位置X这个随机变量的状态迁移图。
如图4a、图4b和图4c所示,把任务所在的状态视作状态迁移图中的节点,而它们之间迁移的概率看作状态迁移图中边的权值,状态空间R中的每个元素xi可视作状态迁移图中的节点,迁移概率矩阵P可看作状态迁移图中的邻接矩阵,如果pi:j的值为正,则存在一条有向边由节点xi指向xj,权值为pi:j,由此构成状态迁移图Gt。该迁移概率矩阵表示的是每个计算单元xj和它的父节点xi之间的一个条件概率关系P(xj|xi)=pi:j。需要确定在状态迁移图中,每个状态xi之间是否存在边结构,图是否必需连通,是否允许存在环,这些问题都要在构造状态迁移图的阶段确定下来。
在构造的初始阶段,或者进行迭代更新之后,状态迁移图有可能会出现如图4a所示那样,存在较长的路径ξ=<0,1,2,3,4,5>以及环φ=<3,4,5>,这意味着任务被重复或多余地在计算单元之间迁移,虽然这样也可以达到负载均衡的目的,但却浪费了不必要的通讯开销,甚至引起系统的通讯延迟。为了避免这种情况,需要对状态迁移图制定一些限制条件,在构造的过程中尽可能地避免如图4a那样的情况。
一个好的负载均衡系统应该尽可能少地迁移任务来达到相对均衡的状态,应该极力防止任务在计算单元之间重复地迁移,所以本发明把状态迁移图中的节点分成三类:发送者、接收者和中立者。简单来说,负载超过系统平均值的计算单元应归类于发送者,比平均值少的为接收者,而跟平均值相差不大的视为中立者,中立者并不参与任务的迁移,但仍然会接收系统的反馈信息,因为它们之间的角色可能会随着系统的运行而变化。在系统刚开始运行的时候,可以使用广播的方式来传递系统负载平均值,但随着系统的不断运行,使用这种方法显得并不合适,因为计算平均值需要全局的信息,这样就会带来额外的通讯开销,这时候可以通过计算自身迁入和迁出的概率差来估计平均值。如图4b所示,迁入迁出概率差为正的节点归为接收者,负的则为发送者,接近于零的为中立者,如果忽略中立者,可构成一个二分图,边只有从发送者指向接收者。
重新构造的图结构如图4c所示,边的权值重新调整但并不改变原图中的迁入迁出概率差,这时候的图结构里不再出现环以及长度超过一条边的路径,这样的图结构可以更好地提高负载均衡系统的效率。发送节点和接收节点组成了弱连通子图,而中立节点是一个不具有边连接的节点集合,它们的类型可能会随着系统的运行发生变化,依据是根据接收到的系统反馈信息来判断自身的类型,节点类型的更新信息同样要反馈给系统,让其他节点知晓系统中的节点发生变化,但无论图的结构如何变化,始终要满足无环无长路径的条件。
根据以上的步骤,可得出变量和P和的更新表达式分别为:
其中,表示单位向量,表示以向量的长度为秩的单位矩阵,参数β可以通过最大似然估计法来求出,而更新这些变量需要收集系统信息,本发明提出的动态负载均衡方法采用了随机扩散的信息交换协议。
如图5a、图5b和图5c所示,是一个扩散半径为3的信息扩散过程,图5a所示是先由接收者把自己的信息随机地发送给其余两类中的进程,之所以选择由轻载进程开始是因为他们的信息应当优先传递给系统中的其余进程,因为其余进程只要知道哪些进程是过载便有可选进程进行任务迁出。而其余两类的信息就显得没那么重要,因为中立者只是想告诉大家自己并不参与任务迁移,过载进程的信息其实也只是告诉大家他们不能接受任务迁入,而主动权是掌握在过载进程手中,一旦他们得知有轻载进程便可立即采取措施来达到负载均衡。图5b中发送者把上一轮收集的信息连同自己的信息一起扩散出去,这时候所有的轻载进程信息和大部分过载进程信息已进入扩散信息流中。到了第三次信息扩散,如图5c所示,这时将不再区分进程的身份,凡是在上一轮有接收到信息的,这轮都将参与信息扩散,而图中只有两个进程参与信息传递,因为异步通讯可能会因为网络故障导致丢包或者延迟,到了第四轮信息扩散,如图5d所示,进程4因为延迟导致和第四轮的进程1一起发生信息传递,而第三轮的进程2却因为丢包相当于没有参与通信,第四轮也只是刚开始,但通过观察可知,到了第三轮通信的时候,基本上每个进程都已经获得系统上大部分进程的信息,以这种信息覆盖率已经满足优化算法的需要。
并行计算作业启动的时候,负载均衡系统先收集一次全局信息作为初始化,这些信息只包括一些聚合信息如系统负载的平均量,之后不会再进行类似的聚合通讯,因为通过把进程的状态信息扩散到系统,其余进程可以根据这些收集到的零散信息进行加工整合,推断整个系统的状态。任务迁移并不需要频繁执行,可以通过多次信息交换以后再执行一次实际的任务迁移。在每次迭代中,在信息交换之后便须要对一些变量进行更新,其更新步骤都是依据上面所提出的模型里涉及到的数学公式进行。
在任务迁移算法中,每个发送者根据迁移概率矩阵和迁移比例系数来决定目标进程和迁出负载量,而迁出任务的选择策略则比较简单,从最新到达的任务,即任务队列的尾部进行探索,线性寻找任务总量比计划迁出负载量小的任务。在信息扩散算法中,每个进程都需要根据自己的身份来识别通讯目标集合,然后使用抽样的方法选取固定数量的进程,然后把自身的信息或者收到的信息以异步的方式发送出去。通过身份来区分通讯目标是为了让不同身份的进程之间更快地交换信息,因为对于一个轻载的进程,其状态最希望是被某个过载进程获取,然后可以确立任务迁移目标。采用抽样的方法选取进程是为了让目标进程集合的每个进程都有收到信息的机会,从概率上保证了信息的覆盖率。而使用异步的方式发送信息是为了能让通讯过程更加快速,因为信息是随机扩散,但其整体在理论上是能保证大部分的进程可以接收到信息,异步通讯可能会有信息丢失的情况,但这无碍于随机扩散算法的效果。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种随机扩散动态负载均衡方法,其特征在于,包括以下步骤:
步骤1、把计算任务随时间的迁移而位于哪个进程这一状态变量看作是一个随机过程,每次迭代通过随机扩散信息交换协议以及基于概率图模型的参数学习过程;
步骤2、计算出任务量随机迁移矩阵,据此进行任务迁移来达到负载均衡;
所述随机扩散信息交换协议,用于进程负载状态信息的交换,据此来进行动态负载均衡模型的建立;
所述基于概率图模型的参数学习过程,用于动态负载均衡模型中的变量更新。
2.根据权利要求1所述的随机扩散动态负载均衡方法,其特征在于,在步骤1中,所述随机扩散信息交换协议具体包括以下步骤:
步骤11、轻载进程向过载进程和均衡进程集合中的一个随机子集发送信息;
步骤12、在上一轮信息扩散中有接收到信息的进程在与自己不同类型的进程集合里随机选择α个进程,把自己收到的信息传递给他们,所述每个进程随机选取进程的概率是独立的;
步骤13、重复τ次步骤12直至信息覆盖率达到99%为止。
3.根据权利要求1所述的随机扩散动态负载均衡方法,其特征在于,在步骤1中,所述基于概率图模型的参数学习过程具体包括以下步骤;
步骤1a、构造能表示系统内部随机变量之间的条件依赖关系的动态贝叶斯图;
步骤1b、根据进程的负载量构造状态迁移图的形状;
步骤1c、用最大似然参数估计法求出状态迁移概率矩阵。
4.根据权利要求1所述的随机扩散动态负载均衡方法,其特征在于,所述步骤2包括以下步骤:
步骤21、初始化系统内部变量和进程的初始身份;
步骤22、随机扩散负载信息;
步骤23、根据收集到的最新信息进行参数学习,更新系统的内部变量;
步骤24、根据系统的内部变量来构造随机迁移任务量矩阵;
步骤25、根据随机迁移任务量矩阵,每个进程从自身任务队列末端开始选择合适的任务迁移到其它进程;
步骤26、更新系统迭代周期;
步骤27、重复步骤22至26,直至系统结束为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510467927.0A CN105117292B (zh) | 2015-07-31 | 2015-07-31 | 随机扩散动态负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510467927.0A CN105117292B (zh) | 2015-07-31 | 2015-07-31 | 随机扩散动态负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117292A true CN105117292A (zh) | 2015-12-02 |
CN105117292B CN105117292B (zh) | 2018-09-14 |
Family
ID=54665293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510467927.0A Expired - Fee Related CN105117292B (zh) | 2015-07-31 | 2015-07-31 | 随机扩散动态负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117292B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095548A (zh) * | 2016-06-03 | 2016-11-09 | 青岛海信移动通信技术股份有限公司 | 一种多核处理器系统中分发中断的方法和装置 |
CN107450963A (zh) * | 2017-07-24 | 2017-12-08 | 湖南创星科技股份有限公司 | 一种面向虚拟机放置的化学反应优化算法 |
CN109298921A (zh) * | 2018-08-28 | 2019-02-01 | 哈尔滨理工大学 | 一种基于贝叶斯网络的分布式计算任务调度算法 |
CN109710403A (zh) * | 2018-12-20 | 2019-05-03 | 深圳大学 | 应用进程映射方法、电子装置及计算机可读存储介质 |
CN110109754A (zh) * | 2016-05-17 | 2019-08-09 | 青岛海信移动通信技术股份有限公司 | 进程的调度方法及装置 |
CN110990155A (zh) * | 2019-11-29 | 2020-04-10 | 杭州电子科技大学 | 一种面向大规模安全监控的参数通信方法 |
WO2023219701A1 (en) * | 2022-05-11 | 2023-11-16 | Microsoft Technology Licensing, Llc | Probability-based load balancing |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522129A (zh) * | 2018-11-23 | 2019-03-26 | 快云信息科技有限公司 | 一种资源动态均衡方法、装置及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687572B2 (en) * | 2001-11-15 | 2004-02-03 | Honeywell International Inc. | Supervisory method and system for improved control model updates applied to dynamic balancing |
CN101009648A (zh) * | 2006-12-27 | 2007-08-01 | 北京航空航天大学 | 多服务器的分层迭代负载平衡方法 |
CN101465875A (zh) * | 2008-11-12 | 2009-06-24 | 湖南大学 | 一种基于网络定位的负载均衡算法 |
US7590984B2 (en) * | 2003-05-29 | 2009-09-15 | International Business Machines Corporation | System and method for balancing a computing load among computing resources in a distributed computing problem |
-
2015
- 2015-07-31 CN CN201510467927.0A patent/CN105117292B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687572B2 (en) * | 2001-11-15 | 2004-02-03 | Honeywell International Inc. | Supervisory method and system for improved control model updates applied to dynamic balancing |
US7590984B2 (en) * | 2003-05-29 | 2009-09-15 | International Business Machines Corporation | System and method for balancing a computing load among computing resources in a distributed computing problem |
CN101009648A (zh) * | 2006-12-27 | 2007-08-01 | 北京航空航天大学 | 多服务器的分层迭代负载平衡方法 |
CN101465875A (zh) * | 2008-11-12 | 2009-06-24 | 湖南大学 | 一种基于网络定位的负载均衡算法 |
Non-Patent Citations (1)
Title |
---|
严善楷: "异构系统中并行计算的动态负载均衡技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109754A (zh) * | 2016-05-17 | 2019-08-09 | 青岛海信移动通信技术股份有限公司 | 进程的调度方法及装置 |
CN110109754B (zh) * | 2016-05-17 | 2023-06-30 | 青岛海信移动通信技术有限公司 | 进程的调度方法及装置 |
CN106095548A (zh) * | 2016-06-03 | 2016-11-09 | 青岛海信移动通信技术股份有限公司 | 一种多核处理器系统中分发中断的方法和装置 |
CN107450963A (zh) * | 2017-07-24 | 2017-12-08 | 湖南创星科技股份有限公司 | 一种面向虚拟机放置的化学反应优化算法 |
CN109298921A (zh) * | 2018-08-28 | 2019-02-01 | 哈尔滨理工大学 | 一种基于贝叶斯网络的分布式计算任务调度算法 |
CN109710403A (zh) * | 2018-12-20 | 2019-05-03 | 深圳大学 | 应用进程映射方法、电子装置及计算机可读存储介质 |
CN109710403B (zh) * | 2018-12-20 | 2020-08-14 | 深圳大学 | 应用进程映射方法、电子装置及计算机可读存储介质 |
CN110990155A (zh) * | 2019-11-29 | 2020-04-10 | 杭州电子科技大学 | 一种面向大规模安全监控的参数通信方法 |
CN110990155B (zh) * | 2019-11-29 | 2022-03-22 | 杭州电子科技大学 | 一种面向大规模安全监控的参数通信方法 |
WO2023219701A1 (en) * | 2022-05-11 | 2023-11-16 | Microsoft Technology Licensing, Llc | Probability-based load balancing |
Also Published As
Publication number | Publication date |
---|---|
CN105117292B (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117292B (zh) | 随机扩散动态负载均衡方法 | |
Cui et al. | A novel offloading scheduling method for mobile application in mobile edge computing | |
CN108566659B (zh) | 一种基于可靠性的5g网络切片在线映射方法 | |
Boukerche et al. | Dynamic load balancing strategies for conservative parallel simulations | |
Wang et al. | A deep learning based energy-efficient computational offloading method in Internet of vehicles | |
CN114756383A (zh) | 一种分布式计算方法、系统、设备及存储介质 | |
England et al. | A robust spanning tree topology for data collection and dissemination in distributed environments | |
CN104780213A (zh) | 一种主从分布式图处理系统负载动态优化方法 | |
CN113033800A (zh) | 分布式深度学习方法、装置、参数服务器及主工作节点 | |
CN105677447B (zh) | 分布式云中基于聚类的时延带宽极小化虚拟机部署方法 | |
CN108089918B (zh) | 一种面向异构服务器结构的图计算负载均衡方法 | |
Chai et al. | A parallel placement approach for service function chain using deep reinforcement learning | |
Xu et al. | Online learning algorithms for offloading augmented reality requests with uncertain demands in MECs | |
CN111510334A (zh) | 一种基于粒子群算法的vnf在线调度方法 | |
El Kabbany et al. | A dynamic load balancing framework for real-time applications in message passing systems | |
Abdel-Kader et al. | Efficient energy and completion time for dependent task computation offloading algorithm in industry 4.0 | |
Asheralieva et al. | Ultra-reliable low-latency slicing in space-air-ground multi-access edge computing networks for next-generation internet of things and mobile applications | |
CN117633527A (zh) | 一种面向异构环境的大模型混合并行训练方法和系统 | |
CN115587222B (zh) | 分布式图计算方法、系统及设备 | |
CN116996941A (zh) | 基于配网云边端协同的算力卸载方法、装置及系统 | |
CN109254844B (zh) | 一种大规模图的三角形计算方法 | |
Hu et al. | Decentralized load balancing on unstructured peer-2-peer computing grids | |
CN107341057A (zh) | 一种数据处理方法及装置 | |
Sarma et al. | A Dynamic Load Balancing Architecture for Fog Computing using Tree Base Resource Arrangement and Flexible Task Prioritization | |
Li et al. | An efficient multicore based parallel computing approach for TSP problems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180914 Termination date: 20210731 |
|
CF01 | Termination of patent right due to non-payment of annual fee |