CN107479968A - 一种面向动态图增量计算的均衡负载方法及系统 - Google Patents
一种面向动态图增量计算的均衡负载方法及系统 Download PDFInfo
- Publication number
- CN107479968A CN107479968A CN201710627874.3A CN201710627874A CN107479968A CN 107479968 A CN107479968 A CN 107479968A CN 201710627874 A CN201710627874 A CN 201710627874A CN 107479968 A CN107479968 A CN 107479968A
- Authority
- CN
- China
- Prior art keywords
- vertex
- load
- partition
- convergence time
- master
- 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 46
- 238000005192 partition Methods 0.000 claims abstract description 121
- 238000004364 calculation method Methods 0.000 claims abstract description 62
- 230000005012 migration Effects 0.000 claims abstract description 13
- 238000013508 migration Methods 0.000 claims abstract description 13
- 238000010586 diagram Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 8
- 238000003491 array Methods 0.000 claims description 5
- 238000011423 initialization method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 3
- 238000012804 iterative process Methods 0.000 abstract 2
- 238000004891 communication Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 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
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向动态图增量计算的均衡负载方法及系统,包括:利用上轮迭代计算过程中顶点的度与顶点的初始化增量值以及顶点的收敛时间生成预测直方图;图形数据结构发生变化后,初始化图数据中所有顶点的状态值与增量值;在新一轮迭代计算开始之前,利用直方图以及新的顶点的度与初始化增量值预测各顶点对应的收敛时间;由各分区的从节点统计该分区所有顶点的负载情况并发送到主节点,由主节点调度均衡各分区的负载并将决策结果返回给各从节点;由从节点迁移分区的负载到目标分区或接收来自过载分区的负载。通过本发明可以在动态图形数据发生变化之后,新一轮迭代计算过程中各个分区的负载情况保持均衡,从而达到加快图形迭代计算的效果。
Description
技术领域
本发明属于动态图计算技术领域,更具体地,涉及一种面向动态图增量计算的均衡负载方法及系统。
背景技术
在大数据时代,越来越多的应用依赖图形问题的建模与分析,并要求能够实时地在大规模动态的社会网络图上进行分析和计算。
增量计算技术能有效提高动态图的处理性能,在图数据不断变化的情况下,通过存储之前计算结果,当输入图形数据改变时,通过增量计算的初始化方法初始化顶点最新的状态值和增量值,以顶点数据的增量值作为消息转发到下一迭代对象来支持异步增量计算,能有效减少同步开销,同时能加快顶点收敛速度,缩短收敛时间。
由于图数据规模较大,需要将图数据划分为多个分区,各个分区在不同的worker上并行处理,由于每个分区顶点分布不同,以及动态数据变化的随机性,会存在各个分区负载不均衡的问题。目前解决负载均衡的方法主要有:(1)图划分策略:hash-partition、range-based partition、min-cut partition等;(2)work steal策略;(3)Mizan提出的动态负载均衡策略。简单的图划分策略hash-partition、range-based partition采用平均分配图的点或边到计算节点,不能解决不同的数据挖掘算法将在计算过程中产生不同程度的负载倾斜问题。Work steal策略在各个计算节点数据集分布均匀且计算节点计算性能相差甚微的情况下,不能获得较好的收益。资源相差动态负载均衡策略在BSP模式下动态监测每次superstep各个分区负载分布情况,由master判断负载是否发生倾斜并决策迁移方案,但运行时检测开销较大,需要支付较大的额外通信开销和同步时间。
发明内容
针对现有技术的以上缺陷或改进需求,本发明的目的在于提供了一种面向动态图增量计算的均衡负载方法及系统,由此解决目前负载均衡技术中存在的无法解决计算运行时负载倾斜的问题,以及优化运行时检测负载倾斜产生的额外通信开销和同步开销较大的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种面向动态图增量计算的均衡负载方法,包括:
(1)在分布式增量计算图形处理系统中,图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算后,对于收敛于状态利用上轮迭代计算过程中顶点的度与顶点的初始化增量值以及上轮迭代计算过程中顶点的收敛时间来生成预测直方图H(k-1),其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
(2)若动态图的图形数据结构发生变化:Gk=ΔGk-1+Gk-1,则利用基于增量计算的初始化方法初始化所有顶点的状态值为并由顶点的邻接顶点的状态值得到顶点的初始化增量值为ΔGk-1为增量图数据;
(3)在新一轮迭代计算开始之前,由顶点的度与顶点的增量计算顶点的负载因子,利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间其中,Vk表示新图Gk中的顶点集合;
(4)服务于各个分区的从计算节点worker根据预测得到的顶点的收敛时间统计相应分区内所有顶点的负载分布情况,并发送到主控制节点master,由master统一调度均衡各个分区的负载并将决策结果返回给各个worker;
(5)由各个worker根据master的决策结果迁移分区的负载到目标分区或接受来自过载分区的负载。
优选地,步骤(1)具体包括:
(1.1)图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算,对于收敛于状态其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
(1.2)利用顶点的度与初始化增量值来定义顶点的负载因子其中,α与β为预设值;
(1.3)根据顶点的负载因子与顶点在历史迭代计算的收敛时间生成预测直方图H(k-1),其中,直方图H(k-1)以负载因子为横坐标,历史迭代计算结果为纵坐标;
优选地,步骤(3)具体包括:
(3.1)对根据顶点的度与顶点的增量值来计算顶点的负载因子其中,α与β为预设值;
(3.2)利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间
优选地,步骤(4)具体包括:
(4.1)服务于各个分区的worker根据预测得到的顶点的收敛时间统计相应分区内收敛时间相同的顶点个数,生成下标为收敛时间,值为收敛时间相同的顶点个数的统计数组W[R],并将该数组发送到master;
(4.2)master收集所有分区发送的统计数组,找到最慢收敛时间以为间隔将区间分为τ等分: 其中,τ为粒度因子;
(4.3)重新统计每个数组Wj[R]位于各个区间的顶点数目,得到区间统计数组W′j[τ],其中,W′j[τ]的下标为对应区间,值为收敛时间在对应区间内的顶点个数,Wj[R]表示第j个分区对应的统计数组;
(4.4)根据区间统计数组W′j[τ],master计算第j个分区Pj在时间区间内的倾斜因子其中,r为顶点收敛时间区间,为r时间区间内所有分区平均负载情况,W′j[r]为分区Pj在r时间区间内的负载情况;
(4.5)master根据倾斜因子判断各个分区是否在时间区间r内出现负载倾斜,同时决策负载迁移方向,以及迁移负载数量;
(4.6)master将决策结果返回给各个分区。
优选地,步骤(4.5)具体包括:
(4.5.1)master根据收敛时间区间统计数组W′j[τ]对所有分区进行降序排序得到降序序列,标志满足条件的分区为倾斜分区;
(4.5.2)为所有倾斜分区在降序序列中找到匹配的对应分区,对应规则为按照降序序列首尾相对,标志出过载分区Pl与轻载分区Pm;
(4.5.3)决定由过载分区Pl迁移收敛时间在r时间区间内的顶点数到轻载分区Pm。
按照本发明的另一个方面,提供了一种面向动态图增量计算的均衡负载系统,包括:
直方图获取模块,用于在分布式增量计算图形处理系统中,图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算后,对于收敛于状态利用上轮迭代计算过程中顶点的度与顶点的初始化增量值以及上轮迭代计算过程中顶点的收敛时间来生成预测直方图H(k-1),其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
增量值初始化模块,用于在动态图的图形数据结构发生变化:Gk=ΔGk-1+Gk-1时,则利用基于增量计算的初始化方法初始化所有顶点的状态值为并由顶点的邻接顶点的状态值得到顶点的初始化增量值为ΔGk-1为增量图数据;
收敛时间预测模块,用于在新一轮迭代计算开始之前,由顶点的度与顶点的增量计算顶点的负载因子,利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间其中,Vk表示新图Gk中的顶点集合;
负载情况获取模块,用于通过服务于各个分区的从计算节点worker根据预测得到的顶点的收敛时间统计相应分区内所有顶点的负载分布情况,并发送到主控制节点master,由master统一调度均衡各个分区的负载并将决策结果返回给各个worker;
均衡负载模块,用于由各个worker根据master的决策结果迁移分区的负载到目标分区或接受来自过载分区的负载。
优选地,所述直方图获取模块包括:
收敛情况确定模块,用于在图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算,对于收敛于状态其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
第一负载因子计算模块,用于利用顶点的度与初始化增量值来定义顶点的负载因子其中,α与β为预设值;
直方图获取子模块,用于根据顶点的负载因子与顶点在历史迭代计算的收敛时间生成预测直方图H(k-1),其中,直方图H(k-1)以负载因子为横坐标,历史迭代计算结果为纵坐标;
优选地,所述收敛时间预测模块包括:
第二负载因子计算模块,用于对根据顶点的度与顶点的增量值来计算顶点的负载因子其中,α与β为预设值;
收敛时间预测子模块,用于利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间
优选地,所述负载情况获取模块包括:
第一数组获取模块,用于通过服务于各个分区的worker根据预测得到的顶点的收敛时间统计相应分区内收敛时间相同的顶点个数,生成下标为收敛时间,值为收敛时间相同的顶点个数的统计数组W[R],并将该数组发送到master;
区间分割模块,用于通过master收集所有分区发送的统计数组,找到最慢收敛时间以为间隔将区间分为τ等分: 其中,τ为粒度因子;
第二数组获取模块,用于重新统计每个数组Wj[R]位于各个区间的顶点数目,得到区间统计数组W′j[τ],其中,W′j[τ]的下标为对应区间,值为收敛时间在对应区间内的顶点个数,Wj[R]表示第j个分区对应的统计数组;
倾斜因子计算模块,用于根据区间统计数组W′j[τ],master计算第j个分区Pj在时间区间内的倾斜因子其中,r为顶点收敛时间区间,为r时间区间内所有分区平均负载情况,W′j[r]为分区Pj在r时间区间内的负载情况;
负载情况决策模块,用于通过master根据倾斜因子判断各个分区是否在时间区间r内出现负载倾斜,同时决策负载迁移方向,以及迁移负载数量;
决策结果反馈模块,用于通过master将决策结果返回给各个分区。
优选地,所述负载情况决策模块包括:
排序模块,用于通过master根据收敛时间区间统计数组W′j '[τ]对所有分区进行降序排序得到降序序列,标志满足条件的分区为倾斜分区;
分区负载情况确定模块,用于为所有倾斜分区在降序序列中找到匹配的对应分区,对应规则为按照降序序列首尾相对,标志出过载分区Pl与轻载分区Pm;
负载决策模块,用于决定由过载分区Pl迁移收敛时间在r时间区间内的顶点数到轻载分区Pm。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、均衡负载开销低:相比动态负载均衡在BSP模式下实时监测每个superstep各个分区负载情况,本发明只需在新一轮迭代计算开始之前对各个分区负载进行一次预测与均衡,可以极大地缩短通讯开销和同步开销;
2、预测准确性高:图形数据结构发生变化之后,新图的状态值接近于收敛状态值,且在图计算中顶点的度与顶点的收敛时间存在极大的相关性,除此之外,顶点的收敛状态值和收敛时间往往取决于顶点的初始状态值和初始化增量值,本发明反复记录和统计顶点的度和初始化增量值与历史计算结果生成预测直方图,将有效预测下轮迭代计算过程中顶点收敛时间;
3、决策迁移负载速度快:本发明提供了可自定义的粒度因子τ来控制判断负载倾斜的粒度,使得master可以并行判断与决策τ个时间区间内的负载情况。
附图说明
图1是本发明实施例公开的一种动态图增量计算过程示意图;
图2是本发明实施例公开的一种面向动态图增量计算的均衡负载方法的流程示意图;
图3是本发明实施例公开的一种直方图预测方法流程示意图;
图4是本发明实施例公开的一种收敛时间预测方法流程示意图;
图5是本发明实施例公开的一种负载情况判断方法流程示意图;
图6是本发明实施例公开的一种负载情况决策方法流程示意图;
图7是本发明实施例公开的一种分区匹配示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的整体思路在于,收集并统计动态图处理系统历史计算结果,在图数据发生变化之后,一次性预测并均衡各个分区负载,以优化运行时检测负载倾斜产生的额外通信开销和同步开销较大的技术问题。
如图1所示,动态图增量计算过程如下:图中R1表示的是图数据G1经过一轮计算之后得到计算结果,ΔG1表示新增图形数据,step1表示数据加载阶段,Repartition阶段表示负载均衡阶段,step2表示迭代计算阶段,step3表示数据结果写回阶段。H1表示根据上一轮计算结果R1生成的负载分布直方图,直方图生成之后,开始对新增节点进行负载预测,然后在Repartition阶段实现负载均衡,随后开始step2进行新一轮迭代计算。
如图2所示是本发明实施例公开的一种面向动态图增量计算的均衡负载方法的流程示意图,在图2所示的方法中包括以下步骤:
(1)在分布式增量计算图形处理系统中,图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算,收敛于状态利用上轮迭代计算过程中顶点的度与顶点的初始化增量值以及上轮迭代计算过程中顶点的收敛时间来生成预测直方图H(k-1),其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点,如图3所示,本步骤包括以下子步骤:
(1.1)图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算,收敛于状态
(1.2)利用顶点的度与初始化增量值来定义顶点的负载因子其中,α与β为预设值,可以由实际需要确定;
(1.3)根据与顶点在历史迭代计算的收敛时间生成预测直方图H(k-1),直方图H(k-1)以负载因子为横坐标,历史迭代计算结果为纵坐标,其中历史迭代计算结果为顶点的收敛时间;
(2)动态图图形数据结构发生变化之后Gk=ΔGk-1+Gk-1,利用基于增量计算的初始化方法初始化所有顶点的状态值为并由顶点的邻接顶点的状态值得到顶点的初始化增量值为ΔGk-1为增量图数据;
(3)在新一轮迭代计算开始之前,由顶点的度与顶点的增量计算顶点的负载因子,利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间其中,Vk表示新图Gk中的顶点集合,如图4所示,本步骤包括以下子步骤:
(3.1)对根据最新的顶点的度与顶点的增量值来计算顶点的负载因子
(3.2)利用直方图H(k-1)与顶点的负载因子预测对应顶点在新一轮迭代计算过程中对应的收敛时间
(4)服务于各个分区的从计算节点worker根据预测得到的顶点的收敛时间统计相应分区内所有顶点的负载分布情况,并发送到主控制节点master,由master统一调度均衡各个分区的负载并将决策结果返回给各个worker,如图5所示,本步骤包括以下子步骤:
(4.1)经过步骤(3.2)各个分区掌握了所有顶点预测收敛时间的分布情况,服务于各个分区的worker将统计收敛时间相同的顶点个数,生成下标为收敛时间,值为顶点个数的统计数组W[R],并将该数组发送到master;
(4.2)master收集所有分区发送的统计数组,找到最慢收敛时间自定义粒度因子τ为正整数,以为间隔将区间分为τ等分:
(4.3)重新统计每个数组Wj[R]位于各个区间的顶点数目,得到区间统计数组W′j[τ],其下标为对应区间,其值为收敛时间在对应区间内的顶点个数,Wj[R]表示第j个分区对应的统计数组;
(4.4)根据步骤(4.3)生成的收敛时间区间统计数组W′j[τ],master计算第j个分区Pj在时间区间内的倾斜因子其中,r为顶点收敛时间区间,为r时间区间内所有分区平均负载情况,W′j[r]为分区Pj在r时间区间内的负载情况;
(4.5)master根据倾斜因子判断各个分区是否在时间区间r内出现负载倾斜,同时决策负载迁移方向,以及迁移负载数量,如图6所示,本步骤包括以下子步骤:
(4.5.1)master根据收敛时间区间统计数组W′j[τ]对所有分区进行降序排序得到降序序列(P0,P1,...,Pn),标志满足条件的分区为倾斜分区ZPk;
(4.5.2)为所有倾斜分区ZPk在降序序列中找到匹配的对应分区,如图7所示,对应规则为按照降序序列首尾相对,标志出过载分区Pl与轻载分区Pm;
(4.5.3)决定由过载分区Pl迁移收敛时间在r时间区间内的顶点数到轻载分区Pm。
(5)最终由各worker根据master的决策结果迁移分区的负载到目标分区或接受来自过载分区的负载。
在本发明另一个实施例中,提供了一种面向动态图增量计算的均衡负载系统,包括:
直方图获取模块,用于在分布式增量计算图形处理系统中,图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算后,对于收敛于状态利用上轮迭代计算过程中顶点的度与顶点的初始化增量值以及上轮迭代计算过程中顶点的收敛时间来生成预测直方图H(k-1),其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
增量值初始化模块,用于在动态图的图形数据结构发生变化:Gk=ΔGk-1+Gk-1时,则利用基于增量计算的初始化方法初始化所有顶点的状态值为并由顶点的邻接顶点的状态值得到顶点的初始化增量值为ΔGk-1为增量图数据;
收敛时间预测模块,用于在新一轮迭代计算开始之前,由顶点的度与顶点的增量计算顶点的负载因子,利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间其中,Vk表示新图Gk中的顶点集合;
负载情况获取模块,用于通过服务于各个分区的从计算节点worker根据预测得到的顶点的收敛时间统计相应分区内所有顶点的负载分布情况,并发送到主控制节点master,由master统一调度均衡各个分区的负载并将决策结果返回给各个worker;
均衡负载模块,用于由各个worker根据master的决策结果迁移分区的负载到目标分区或接受来自过载分区的负载。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种面向动态图增量计算的均衡负载方法,其特征在于,包括:
(1)在分布式增量计算图形处理系统中,图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算后,对于收敛于状态利用上轮迭代计算过程中顶点的度与顶点的初始化增量值以及上轮迭代计算过程中顶点的收敛时间来生成预测直方图H(k-1),其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
(2)若动态图的图形数据结构发生变化:Gk=ΔGk-1+Gk-1,则利用基于增量计算的初始化方法初始化所有顶点的状态值为并由顶点的邻接顶点的状态值得到顶点的初始化增量值为ΔGk-1为增量图数据;
(3)在新一轮迭代计算开始之前,由顶点的度与顶点的增量计算顶点的负载因子,利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间其中,Vk表示新图Gk中的顶点集合;
(4)服务于各个分区的从计算节点worker根据预测得到的顶点的收敛时间统计相应分区内所有顶点的负载分布情况,并发送到主控制节点master,由master统一调度均衡各个分区的负载并将决策结果返回给各个worker;
(5)由各个worker根据master的决策结果迁移分区的负载到目标分区或接受来自过载分区的负载。
2.根据权利要求1所述的方法,其特征在于,步骤(1)具体包括:
(1.1)图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算,对于收敛于状态其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
(1.2)利用顶点的度与初始化增量值来定义顶点的负载因子其中,α与β为预设值;
(1.3)根据顶点的负载因子与顶点在历史迭代计算的收敛时间生成预测直方图H(k-1),其中,直方图H(k-1)以负载因子为横坐标,历史迭代计算结果为纵坐标。
3.根据权利要求2所述的方法,其特征在于,步骤(3)具体包括:
(3.1)对根据顶点的度与顶点的增量值来计算顶点的负载因子其中,α与β为预设值;
(3.2)利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间
4.根据权利要求3所述的方法,其特征在于,步骤(4)具体包括:
(4.1)服务于各个分区的worker根据预测得到的顶点的收敛时间统计相应分区内收敛时间相同的顶点个数,生成下标为收敛时间,值为收敛时间相同的顶点个数的统计数组W[R],并将该数组发送到master;
(4.2)master收集所有分区发送的统计数组,找到最慢收敛时间以为间隔将区间分为τ等分: 其中,τ为粒度因子;
(4.3)重新统计每个数组Wj[R]位于各个区间的顶点数目,得到区间统计数组Wj'[τ],其中,Wj'[τ]的下标为对应区间,值为收敛时间在对应区间内的顶点个数,Wj[R]表示第j个分区对应的统计数组;
(4.4)根据区间统计数组Wj'[τ],master计算第j个分区Pj在时间区间内的倾斜因子其中,r为顶点收敛时间区间,为r时间区间内所有分区平均负载情况,Wj'[r]为分区Pj在r时间区间内的负载情况;
(4.5)master根据倾斜因子判断各个分区是否在时间区间r内出现负载倾斜,同时决策负载迁移方向,以及迁移负载数量;
(4.6)master将决策结果返回给各个分区。
5.根据权利要求4所述的方法,其特征在于,步骤(4.5)具体包括:
(4.5.1)master根据收敛时间区间统计数组Wj'[τ]对所有分区进行降序排序得到降序序列,标志满足条件的分区为倾斜分区;
(4.5.2)为所有倾斜分区在降序序列中找到匹配的对应分区,对应规则为按照降序序列首尾相对,标志出过载分区Pl与轻载分区Pm;
(4.5.3)决定由过载分区Pl迁移收敛时间在r时间区间内的顶点数到轻载分区Pm。
6.一种面向动态图增量计算的均衡负载系统,其特征在于,包括:
直方图获取模块,用于在分布式增量计算图形处理系统中,图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算后,对于收敛于状态利用上轮迭代计算过程中顶点的度与顶点的初始化增量值以及上轮迭代计算过程中顶点的收敛时间来生成预测直方图H(k-1),其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
增量值初始化模块,用于在动态图的图形数据结构发生变化:Gk=ΔGk-1+Gk-1时,则利用基于增量计算的初始化方法初始化所有顶点的状态值为并由顶点的邻接顶点的状态值得到顶点的初始化增量值为ΔGk-1为增量图数据;
收敛时间预测模块,用于在新一轮迭代计算开始之前,由顶点的度与顶点的增量计算顶点的负载因子,利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间其中,Vk表示新图Gk中的顶点集合;
负载情况获取模块,用于通过服务于各个分区的从计算节点worker根据预测得到的顶点的收敛时间统计相应分区内所有顶点的负载分布情况,并发送到主控制节点master,由master统一调度均衡各个分区的负载并将决策结果返回给各个worker;
均衡负载模块,用于由各个worker根据master的决策结果迁移分区的负载到目标分区或接受来自过载分区的负载。
7.根据权利要求6所述的系统,其特征在于,所述直方图获取模块包括:
收敛情况确定模块,用于在图Gk-1=(Vk-1,Ek-1)经过一轮迭代计算,对于收敛于状态其中,V表示图顶点集合,E表示连接顶点边的集合,k表示第k次计算,下标i表示第i个顶点;
第一负载因子计算模块,用于利用顶点的度与初始化增量值来定义顶点的负载因子其中,α与β为预设值;
直方图获取子模块,用于根据顶点的负载因子与顶点在历史迭代计算的收敛时间生成预测直方图H(k-1),其中,直方图H(k-1)以负载因子为横坐标,历史迭代计算结果为纵坐标。
8.根据权利要求7所述的系统,其特征在于,所述收敛时间预测模块包括:
第二负载因子计算模块,用于对根据顶点的度与顶点的增量值来计算顶点的负载因子其中,α与β为预设值;
收敛时间预测子模块,用于利用直方图H(k-1)与顶点的负载因子预测顶点在新一轮迭代计算过程中对应的收敛时间
9.根据权利要求8所述的系统,其特征在于,所述负载情况获取模块包括:
第一数组获取模块,用于通过服务于各个分区的worker根据预测得到的顶点的收敛时间统计相应分区内收敛时间相同的顶点个数,生成下标为收敛时间,值为收敛时间相同的顶点个数的统计数组W[R],并将该数组发送到master;
区间分割模块,用于通过master收集所有分区发送的统计数组,找到最慢收敛时间以为间隔将区间分为τ等分: 其中,τ为粒度因子;
第二数组获取模块,用于重新统计每个数组Wj[R]位于各个区间的顶点数目,得到区间统计数组W′j[τ],其中,W′j[τ]的下标为对应区间,值为收敛时间在对应区间内的顶点个数,Wj[R]表示第j个分区对应的统计数组;
倾斜因子计算模块,用于根据区间统计数组W′j[τ],master计算第j个分区Pj在时间区间内的倾斜因子其中,r为顶点收敛时间区间,为r时间区间内所有分区平均负载情况,W′j[r]为分区Pj在r时间区间内的负载情况;
负载情况决策模块,用于通过master根据倾斜因子判断各个分区是否在时间区间r内出现负载倾斜,同时决策负载迁移方向,以及迁移负载数量;
决策结果反馈模块,用于通过master将决策结果返回给各个分区。
10.根据权利要求9所述的系统,其特征在于,所述负载情况决策模块包括:
排序模块,用于通过master根据收敛时间区间统计数组W′j[τ]对所有分区进行降序排序得到降序序列,标志满足条件的分区为倾斜分区;
分区负载情况确定模块,用于为所有倾斜分区在降序序列中找到匹配的对应分区,对应规则为按照降序序列首尾相对,标志出过载分区Pl与轻载分区Pm;
负载决策模块,用于决定由过载分区Pl迁移收敛时间在r时间区间内的顶点数到轻载分区Pm。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710627874.3A CN107479968B (zh) | 2017-07-28 | 2017-07-28 | 一种面向动态图增量计算的均衡负载方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710627874.3A CN107479968B (zh) | 2017-07-28 | 2017-07-28 | 一种面向动态图增量计算的均衡负载方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107479968A true CN107479968A (zh) | 2017-12-15 |
CN107479968B CN107479968B (zh) | 2020-08-28 |
Family
ID=60598272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710627874.3A Active CN107479968B (zh) | 2017-07-28 | 2017-07-28 | 一种面向动态图增量计算的均衡负载方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107479968B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108389152A (zh) * | 2018-03-09 | 2018-08-10 | 华中科技大学 | 一种图结构感知的图处理方法及装置 |
CN109766188A (zh) * | 2019-01-14 | 2019-05-17 | 长春理工大学 | 一种负载均衡调度方法及系统 |
CN117251380A (zh) * | 2023-11-10 | 2023-12-19 | 中国人民解放军国防科技大学 | 一种面向单调流式图的优先级异步调度方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981913A (zh) * | 2012-12-04 | 2013-03-20 | 公安部第三研究所 | 支持大规模分布式增量计算的推理控制方法及推理控制系统 |
CN103345508A (zh) * | 2013-07-04 | 2013-10-09 | 北京大学 | 一种适用于社会网络图的数据存储方法及系统 |
CN106100880A (zh) * | 2016-06-12 | 2016-11-09 | 南京邮电大学 | 一种云数据资源部署及可视化管理方法 |
US20170052813A1 (en) * | 2014-05-19 | 2017-02-23 | International Business Machines Corporation | Agile vm load balancing through micro-checkpointing and multi-architecture emulation |
US9621643B1 (en) * | 2015-07-31 | 2017-04-11 | Parallels IP Holdings GmbH | System and method for joining containers running on multiple nodes of a cluster |
-
2017
- 2017-07-28 CN CN201710627874.3A patent/CN107479968B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981913A (zh) * | 2012-12-04 | 2013-03-20 | 公安部第三研究所 | 支持大规模分布式增量计算的推理控制方法及推理控制系统 |
CN103345508A (zh) * | 2013-07-04 | 2013-10-09 | 北京大学 | 一种适用于社会网络图的数据存储方法及系统 |
US20170052813A1 (en) * | 2014-05-19 | 2017-02-23 | International Business Machines Corporation | Agile vm load balancing through micro-checkpointing and multi-architecture emulation |
US9621643B1 (en) * | 2015-07-31 | 2017-04-11 | Parallels IP Holdings GmbH | System and method for joining containers running on multiple nodes of a cluster |
CN106100880A (zh) * | 2016-06-12 | 2016-11-09 | 南京邮电大学 | 一种云数据资源部署及可视化管理方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108389152A (zh) * | 2018-03-09 | 2018-08-10 | 华中科技大学 | 一种图结构感知的图处理方法及装置 |
CN108389152B (zh) * | 2018-03-09 | 2020-10-30 | 华中科技大学 | 一种图结构感知的图处理方法及装置 |
CN109766188A (zh) * | 2019-01-14 | 2019-05-17 | 长春理工大学 | 一种负载均衡调度方法及系统 |
CN109766188B (zh) * | 2019-01-14 | 2020-12-08 | 长春理工大学 | 一种负载均衡调度方法及系统 |
CN117251380A (zh) * | 2023-11-10 | 2023-12-19 | 中国人民解放军国防科技大学 | 一种面向单调流式图的优先级异步调度方法及系统 |
CN117251380B (zh) * | 2023-11-10 | 2024-03-19 | 中国人民解放军国防科技大学 | 一种面向单调流式图的优先级异步调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107479968B (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107479968B (zh) | 一种面向动态图增量计算的均衡负载方法及系统 | |
US9477532B1 (en) | Graph-data partitioning for workload-balanced distributed computation with cost estimation functions | |
CN108089918B (zh) | 一种面向异构服务器结构的图计算负载均衡方法 | |
CN109710406B (zh) | 数据分配及其模型训练方法、装置、及计算集群 | |
CN106250233B (zh) | MapReduce性能优化系统及优化方法 | |
CN112148492A (zh) | 一种考虑多用户移动性的服务部署和资源分配方法 | |
US20190377606A1 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
CN113033800A (zh) | 分布式深度学习方法、装置、参数服务器及主工作节点 | |
WO2017207049A1 (en) | A node of a network and a method of operating the same for resource distribution | |
CN112613243A (zh) | 一种流体力学模拟的方法、装置及计算机可读存储介质 | |
US9485309B2 (en) | Optimal fair distribution among buckets of different capacities | |
CN114925627B (zh) | 一种基于图形处理器的直升机流场数值模拟系统及方法 | |
US10157076B2 (en) | Virtual machine migration device and method | |
CN104935523A (zh) | 一种负载均衡的处理方法和设备 | |
CN115658809A (zh) | 一种基于局部方向中心性的数据分布式聚类方法及装置 | |
CN107992358A (zh) | 一种适用于核外图处理系统的异步io执行方法及系统 | |
CN107506388A (zh) | 一种面向Spark并行计算框架的迭代式数据均衡优化方法 | |
US10387578B1 (en) | Utilization limiting for nested object queries | |
Bae et al. | Label propagation-based parallel graph partitioning for large-scale graph data | |
CN111737531B (zh) | 一种应用驱动的图划分调整方法和系统 | |
CN113326125B (zh) | 大规模分布式图计算端到端加速方法及装置 | |
CN118114580A (zh) | 确定流体计算的网格的方法和装置 | |
Audrito et al. | Resilient blocks for summarising distributed data | |
CN109377510B (zh) | 超算集群上的粒子追踪方法和系统 | |
WO2018222064A1 (en) | Systems and methods of hierarchical community detection in graphs |
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 |