【技术实现步骤摘要】
一种基于缓存机制的流式图划分方法和系统
本专利技术涉及图计算系统,具体提出了一种针对分布式图计算的基于缓存机制的流式图划分方法和系统。
技术介绍
现在的主流的图计算系统,通常需要将整张图加载到内存。随着时代发展,5G和物联网将在不久的将来迎来大幅增长,连入网络的设备量大幅增加,随之带来的是数据爆发式的增长。图的规模也将从现在的中小规模变为超大规模。单台物理机受内存限制,所以不能处理超大规模的图数据。为了处理超大规模图数据,需要借助分布式计算系统来均摊内存开销。想要在分布式系统的跳线进行图计算,需要将图切分成指定数量的子图,然后分别将子图放入对应的物理计算节点中。目前针对超大规模图的划分主要基于流式处理,即图以边流或是顶点流的形式进入系统。图划分算法根据到达的每一条边或者每一个顶点做出划分决策。流式计算的优点是速度快,对每一条到达边或者顶点只进行一次计算,计算开销小;其次不要将整张图载入内存,对内存依赖性低。Hash流式图划分方法,使用函数h(.)对边e(u,v)中的顶点v进行计算,然后通过得到的结果h(.)=h(v)mod|p|进行分区。DBH流式图划分方法,对整张图的所有顶点进行度(degree)的统计,得到每个顶点的度值。然后使用函数h(.)对边e(u,v)进行计算。与Hash不同的是,引入度值来选择需要哈希的顶点。如下所示,当顶点u度数小于顶点v的度数时,计算h(u);反之,当顶点u的度数大于等于顶点v的度数时,计算h(v)Greedy流式图划分方法,即贪 ...
【技术保护点】
1.一种基于缓存机制的流式图划分方法,其特征在于,图以边流的形式读入系统,所述方法包括如下步骤:/nS01:第一计算模块根据当前各个分区的容量、顶点分布对当前进入系统的边进行粗粒度划分;如果第一计算模块无法根据当前信息为到达边做出划分,则将到达边放入等待队列Q并更新此边的顶点信息到缓存;/nS02:当等待队列Q满,或者等待队列未满但已经没有新到边时,第一计算模块停止处理;第二计算模块开始按顺序处理等待队列Q中的边;/nS03:第二计算模块处理完所有在等待队列Q中的边后,第二计算模块终止计算并清空缓存;若此时第一计算模块已经没有新到边,则完成了对整张图的划分;若仍有新到边,则第一计算模块恢复运行,并返回步骤S01。/n
【技术特征摘要】
1.一种基于缓存机制的流式图划分方法,其特征在于,图以边流的形式读入系统,所述方法包括如下步骤:
S01:第一计算模块根据当前各个分区的容量、顶点分布对当前进入系统的边进行粗粒度划分;如果第一计算模块无法根据当前信息为到达边做出划分,则将到达边放入等待队列Q并更新此边的顶点信息到缓存;
S02:当等待队列Q满,或者等待队列未满但已经没有新到边时,第一计算模块停止处理;第二计算模块开始按顺序处理等待队列Q中的边;
S03:第二计算模块处理完所有在等待队列Q中的边后,第二计算模块终止计算并清空缓存;若此时第一计算模块已经没有新到边,则完成了对整张图的划分;若仍有新到边,则第一计算模块恢复运行,并返回步骤S01。
2.根据权利要求1所述的基于缓存机制的流式图划分方法,其特征在于,第二计算模块处理完所有在等待队列Q中的边后,以向第一计算模块发送请求的方式请求第一计算模块恢复运行;此时,若第一计算模块仍有新到边,则恢复运行,否则第一计算模块不恢复运行,整张图的划分完成。
3.根据权利要求1所述的基于缓存机制的流式图划分方法,其特征在于,所述的步骤S01为:
1)若当前边中的顶点在分区中都未出现,则第一计算模块选取当前所有分区中负载最小的分区放置此边;
2)若当前边中有且只有一个顶点在分区中出现过,则选择在存在此顶点的分区中、最小负载的分区放置此边;
3)若当前边中两个顶点都在分区中出现过,分为以下情况:
a)若当前边中两个顶点都出现在了同一分区,第一计算模块则选择满足此条件的分区中负载最小的分区放置此边;
b)若当前边中的两个顶点出现在不同分区,第一计算模块则将此边放入等待队列Q中,并更新两个顶点其所对应的邻结链表到缓存。
4.根据权利要求1所述的基于缓存机制的流式图划分方法,其特征在于,所述的第二计算模块处理等待队列Q中的边的方法为:
1)对于边e(u,v),其中,u和v分别为两个顶点;p(u)表示所有分区中存在顶点u的分区;n(v)表示v的邻接链表,即与顶点v所有相临边的顶点集合;对u所存在的分区计算p(u)与n(v)的交集,对v所存在的分区计算p(u)与n(v)的交集;所有分区初始分数si=0,i∈分区1,分区2,…,分区n;如产生交集,则当前分区分数si=si+1;
2)完成计算后,选出si最大的分区;如果存在多个同样分数的分区,选择负载最低的分区作为最终分区放置此边,并更新u和v到...
【专利技术属性】
技术研发人员:李云波,罗喜伶,许乙付,张昌明,
申请(专利权)人:北京航空航天大学杭州创新研究院,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。