CN106970779B - 一种面向内存计算的流式平衡图划分方法 - Google Patents

一种面向内存计算的流式平衡图划分方法 Download PDF

Info

Publication number
CN106970779B
CN106970779B CN201710200289.5A CN201710200289A CN106970779B CN 106970779 B CN106970779 B CN 106970779B CN 201710200289 A CN201710200289 A CN 201710200289A CN 106970779 B CN106970779 B CN 106970779B
Authority
CN
China
Prior art keywords
community
pictures
edge
graph
algorithm
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.)
Expired - Fee Related
Application number
CN201710200289.5A
Other languages
English (en)
Other versions
CN106970779A (zh
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.)
Chongqing University
Original Assignee
Chongqing University
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 Chongqing University filed Critical Chongqing University
Priority to CN201710200289.5A priority Critical patent/CN106970779B/zh
Publication of CN106970779A publication Critical patent/CN106970779A/zh
Application granted granted Critical
Publication of CN106970779B publication Critical patent/CN106970779B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种基于流式的平衡图划分方法,属于并行图计算领域,该算法针对现实大部分图呈现幂率分布的特点,首先对原始输入图快速的进行约束条件下的社区检测,再对社区进行排序,最后按照确定性贪婪流算法依次将顶点分配到指定的处理单元,相对于传统的划分算法,在划分质量与划分效率上都有很大的改善。本发明适用于呈幂率分布的大规模网络进行并行计算的任务划分。

Description

一种面向内存计算的流式平衡图划分方法
技术领域
本发明属于内存计算的任务划分领域,涉及大规模计算任务并行化以及任务分配方法。
背景技术
图模型可以表达对象之间的复杂关系,在诸多领域都有广泛的应用,如社交网络、健康医疗、生物领域、科学与计算任务均可采用图来表示并计算。然而随着问题规模的扩大,如Facebook就有超过8亿的活跃用户和数百亿的关系链接,因此此类问题难以在单台计算机难以此类问题计算,需要将任务划分到并行计算环境中执行。
为应对大图计算任务分析需求,分布式迭代处理系统相应的被开发出来,如spark,pregel,GiraphLab,Trinity等。这些系统主要利用哈希方式将顶点分配到各个分区,此方式虽然复杂度低但是处理单元之间的通信量(割边)会很大,增加了迭代处理的时间。如果用划分质量更好的算法代替哈希方式(如metis),由于metis极高的时间复杂度,虽然迭代处理时间降低了,但总的消耗时间反而比哈希方式大的多,因此设计效率更高的图分割算法已经成为现有分布式图计算系统亟待解决的问题.
现有图划分工作方式,无论是集中式和流式划分,都难以同时满足划分效率与划分质量上的需求。例如经典的Kernighan-Lin算法只适合处理规模较小的图,对于大图处理效率很低,难以满足大数据时代的大图划分和计算的需要.流式图划分算法一次只处理一个点,所使用到的信息通常是点的邻接等比较简单的数据,因此流式划分的效率要高于集中式划分.但是划分质量要比集中式划分算法低很多.
此外,现有的方法都忽视了图自身结构的特点,特别是大部分现实的图结构都呈幂率分布特征,即“小世界”的性质。这就亟需本领域技术人员解决相应的技术问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种面向内存计算的流式平衡图划分方法。
为了实现本发明的上述目的,本发明提供了一种面向内存计算的流式平衡图划分方法,如下步骤:
S1,根据图片呈现幂律分布的特点,对输入的图片快速的进行社区检测,满足检测条件则停止迭代;
S2,对S1中检测出的社区图片进行排序,确定社区图片顺序;
S3,按照社区图片顺序采用确定性贪婪流算法依次将点分配到对应的处理单元中,从而划分图片的社区属性。
所述的面向内存计算的流式平衡图划分方法,优选的,所述S1包括:
S1-1,采用标签传播的方法,每次迭代过程中取周围邻居图片相同标签号最多的一类为自身的标签号,如果相同标签号不止一类时,则随机取一类作为自己的标签号;
S1-2,为了防止过大的社区图片出现,对社区的规模以及迭代次数进行了限制,每个社区的规模V为图的顶点数,k表示分区的数量,下标i为正整数,N+为正整数。
所述的面向内存计算的流式平衡图划分方法,优选的,所述S2包括:
对S1中检测出的社区进行排序,确定流顺序:F1,F2...Fn为检测出的社图片,其中下标n为正整数,不同社区图片之间的边数用edgei,j,其中,i,j代表不同的社区表示,cleft定义为处理单元剩余的容量,确定社区的顺序步骤如下:
S2-1,随机选择某一社区
Figure GDA0002225544470000032
作为队列的第一位,t表示某t时刻,按照S3载入处理单元;
S2-2,如果
Figure GDA0002225544470000033
选择
S2-3,如果
Figure GDA0002225544470000035
选择
所述的面向内存计算的流式平衡图划分方法,优选的,所述S3包括:
S3-1,采用确定性贪婪流算法按照顺序依次将点分配到对应的处理单元的步骤如下:tsi(v)表示t时刻顶点v所在的单元Si,c为分区可接受的最大容量,Γ(v)为点v邻居集合,对于同一社区的顶点,原则上分配到同一个处理单元,由于负载均衡的要求,相同社区的点可能不在同一个单元,对于此类顶点我们用确定性贪婪算法(DG)来进一步优化割边率,点v所放置的单元ind为:
Figure GDA0002225544470000037
综上所述,由于采用了上述技术方案,本发明的有益效果是:
部分子团内部链接要比子团之间的链接要稠密,如果先将这些子团检测出来,对后续图的划分非常有利。而标签传播算法(LPA)能够简单高效实现社区发现(线性复杂度),算法迭代四次后有接近百分之九十八的标签可以划分到某一社区,不再变化。因此该方法很适合本发明的预处理工作。
相对于哈希方式,割边率明显降低,图计算过程中计算机之间通信量减少;实际计算的总时间(包括图的划分,图的装载及图的计算)有所降低,并且随着迭代次数的增多,效果会更加的明显。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明算法的流程图;
图2是本发明与传统算法在图Amazon0312划分比较;
图3A和3B是本发明与传统算法在理论随机图和幂律图上的划分比较;
图4是本发明的稳定性分析。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
如图1所示,本发明所述的基于流式的平衡图划分方法包括以下步骤:
(1)利用真实世界的图大多呈幂律分布的特点,采用标签传播的思想对输入图快速的进行社区检测,满足条件则停止迭代,为了防止出现大量详细的小社区或者过大的社区出现,我们对迭代次数与社区的规模都进行的限制,每个社区的规模
Figure GDA0002225544470000051
迭代次数t<4。K为分区的数目。
(2)对第一步骤发现的结果(F1,F2...Fn)进行排序,社区与社区之间的边数用edgei,j(i,j代表不同的社区)表示。cleft定义为处理单元可接受的剩余容量,确定社区的顺序步骤如下:
a)随机选择某一社区
Figure GDA0002225544470000052
作为队列的第一位(t表示某t时刻),按照步骤(3)装入处理单元。
b)如果
Figure GDA0002225544470000053
选择
Figure GDA0002225544470000054
c)如果
Figure GDA0002225544470000055
选择
Figure GDA0002225544470000056
(3)采用确定性贪婪流算法按照社区顺序依次将点分配到对应的处理单元。
Figure GDA0002225544470000064
表示t时刻顶点v所在的单元si,c为分区最大的容量,Γ(v)为点v邻居集合,对于同一社区的顶点,原则上分配到同一个单元,由于处理单元容量的限制和负载均衡的要求,相同社区的顶点可能不在同一个单元,对于此类的顶点我们用确定性贪婪算法(DG)来进一步优化割边率,点v所放置的单元ind:
实施例一
参考图2不同划分算法在图Amazon0312的划分结果,纵坐标表示割边率Ecuti,j表示不同处理单元之间的割边数,E表示图的总边数。横坐标表示不同的划分方法,哈希算法(H),平衡算法(B),指数权重确定性贪心算法(EDG),指数权重三角算法(ET),线性权重确定性贪心算法(LDG),线性权重三角算法(LT),三角算法(T),分块算法(C)。K=32,红线代表Metis的划分结果0.08%,图上标注的数值表示对应算法的平衡系数,三角算法(T)的平衡系数最大2.11,本发明的平衡系数为1.00,割边率为21%,最接近Metis.Metis平衡系数为1.02。
实施例二
参考图3A和图3B,理论幂律图(PL)与非幂律图(ER)的结果,纵坐标表示割边率
Figure GDA0002225544470000063
横黑线表示metis划分结果(理想值),值越接近Metis,划分的质量越好.相对应度的频率图右上角所示.ER图划分结果中线性权重确定性贪心算法(LDG)划分质量最好,达到了83%,哈希算法(hash)结果最差92%,本发明为85%,Metis为81%。PL的划分结果中本发明的割边率为49%,Metis为50%.因为幂律网络图的“小世界”特性特别适合初始的社团检测,因此本发明特别适合于幂律图的划分。
实施例三
参考图4本发明第一步骤中对于点的标号选取问题,如果周围邻居中最多标号的种类不止一类时,此时是随机的选取一种,包含有随机性,因此,需要验证是否此随机性对划分结果有影响.用3个真实图(amazon0505,amazon0312,amazon0601)来验证本发明的稳定性,纵坐标为标准差值Diferenc=λtt+1表示前一次实验的割边率与下一次的割边率的差,横坐标表示实验次数,由图4可以看出每次的差值波动都是在a*102,(a∈[1,9])附近,波动率很小,对于大图而言可以忽略不计,说明了本算法的稳定。
实施例四
参考表1图Twitter-2010在20台机器上的Pagerank计算的总时间,分别迭代了9次与12次,预处理中的迭代次数设置为小于4,Pagerank迭代9次时与迭代12次两算法的差值在逐渐增加,随着计算迭代次数的增多,本发明的优势会越明显。表1展示了在Spark集群系统中,分别调用本发明策略与哈希策略对twitter图进行Pagerank计算的总时间。
表1
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (3)

1.一种面向内存计算的流式平衡图划分方法,其特征在于,如下步骤:
S1,根据图片呈现幂律分布的特点,对输入的图片快速的进行社区检测,满足检测条件则停止迭代;
S2,对S1中检测出的社区图片进行排序,确定社区图片顺序;
对S1中检测出的社区图片进行排序,确定流顺序:F1,F2…Fn为检测出的社区图片,其中下标n为正整数,不同社区图片之间的边数用edgei,j,其中,i,j代表不同的社区表示,cleft定义为处理单元剩余的容量,确定社区图片的顺序步骤如下:
S2-1,随机选择某一社区图片
Figure FDA0002118866870000011
作为队列的第一位,Ft表示某t时刻的社区图片,V为社区图片的顶点数,k表示分区的数量,按照S3载入处理单元;
S2-2,如果cleft≥maxj(edgej,Ft),j≠Ft,选择Ft+1=maxj(edgej,Ft);
S2-3,如果cleft<minj(edgej,Ft),j≠Ft,选择Ft+1=minj(edgej,Ft);
S3,按照社区图片顺序采用确定性贪婪流算法依次将点分配到对应的处理单元中,从而划分图片的社区属性。
2.根据权利要求1所述的面向内存计算的流式平衡图划分方法,其特征在于,所述S1包括:
S1-1,采用标签传播的方法,每次迭代过程中取周围邻居图片相同标签号最多的一类为自身的标签号,如果相同标签号不止一类时,则随机取一类作为自己的标签号;
S1-2,为了防止过大的社区图片出现,对社区的规模以及迭代次数进行了限制,每个社区的规模
Figure FDA0002118866870000012
V为图的顶点数,k表示分区的数量,下标n为正整数,N+为正整数。
3.根据权利要求1所述的面向内存计算的流式平衡图划分方法,其特征在于,所述S3包括:
S3-1,采用确定性贪婪流算法按照顺序依次将点分配到对应的处理单元的步骤如下:
Figure FDA0002118866870000013
表示t时刻顶点V所在的单元Si,k表示分区的数量,Γ(V)为点V邻居集合,对于同一社区的顶点,原则上分配到同一个处理单元,由于负载均衡的要求,相同社区的点可能不在同一个单元,对于此类顶点我们用确定性贪婪算法(DG)来进一步优化割边率,点V所放置的单元ind为:
Figure FDA0002118866870000021
CN201710200289.5A 2017-03-30 2017-03-30 一种面向内存计算的流式平衡图划分方法 Expired - Fee Related CN106970779B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710200289.5A CN106970779B (zh) 2017-03-30 2017-03-30 一种面向内存计算的流式平衡图划分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710200289.5A CN106970779B (zh) 2017-03-30 2017-03-30 一种面向内存计算的流式平衡图划分方法

Publications (2)

Publication Number Publication Date
CN106970779A CN106970779A (zh) 2017-07-21
CN106970779B true CN106970779B (zh) 2020-01-03

Family

ID=59336692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710200289.5A Expired - Fee Related CN106970779B (zh) 2017-03-30 2017-03-30 一种面向内存计算的流式平衡图划分方法

Country Status (1)

Country Link
CN (1) CN106970779B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298940B (zh) * 2018-09-28 2019-12-31 考拉征信服务有限公司 计算任务分配方法、装置、电子设备及计算机存储介质
CN111539534B (zh) * 2020-05-27 2023-03-21 深圳大学 一种基于强化学习的通用分布式图处理方法及系统
CN111737531B (zh) * 2020-06-12 2021-05-28 深圳计算科学研究院 一种应用驱动的图划分调整方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2153359A1 (fr) * 2007-05-29 2010-02-17 France Telecom Procede de classification d'un ensemble de documents electroniques
US9218630B2 (en) * 2012-03-22 2015-12-22 Microsoft Technology Licensing, Llc Identifying influential users of a social networking service
CN105303450A (zh) * 2015-11-09 2016-02-03 北京工业大学 基于谱聚类改进交叉的复杂网络社区发现方法

Also Published As

Publication number Publication date
CN106970779A (zh) 2017-07-21

Similar Documents

Publication Publication Date Title
Bhimani et al. Accelerating K-Means clustering with parallel implementations and GPU computing
CN103179052B (zh) 一种基于接近度中心性的虚拟资源分配方法及系统
US8819236B2 (en) Resource optimization for online services
Hao et al. Energy-aware scheduling in edge computing with a clustering method
CN106970779B (zh) 一种面向内存计算的流式平衡图划分方法
EP3092779A1 (en) System and method for zoning in software defined networks
CN101048736A (zh) 优化大规模并行超级计算机上的应用布局
CN108804383B (zh) 基于度量空间的支撑点并行枚举方法及装置
CN106250233B (zh) MapReduce性能优化系统及优化方法
Yang et al. Balancing job performance with system performance via locality-aware scheduling on torus-connected systems
CN104536803A (zh) 一种基于组合优化的虚拟机调度方法
Li et al. Page-sharing-based virtual machine packing with multi-resource constraints to reduce network traffic in migration for clouds
Bender et al. Communication-aware processor allocation for supercomputers: Finding point sets of small average distance
Yan et al. Differential private spatial decomposition and location publishing based on unbalanced quadtree partition algorithm
Zhang et al. A fast adaptive load balancing method for parallel particle-based simulations
Zhang et al. Data-aware task scheduling for all-to-all comparison problems in heterogeneous distributed systems
Kaur et al. Enlob: Energy and load balancing-driven container placement strategy for data centers
González PARAVT: Parallel Voronoi tessellation code
Al-kahtani et al. An efficient distributed algorithm for big data processing
CN111553834A (zh) 基于fpga的并发图数据预处理方法
CN110781247A (zh) 向量聚类方法、装置及存储介质
Li et al. AoI-aware user service satisfaction enhancement in digital twin-empowered edge computing
Li et al. GAP: Genetic algorithm based large-scale graph partition in heterogeneous cluster
Bani-Mohammad et al. An efficient non-contiguous processor allocation strategy for 2D mesh connected multicomputers
Mierendorff Parallelization of multigrid methods with local refinements for a class of nonshared memory systems

Legal Events

Date Code Title Description
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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200103

Termination date: 20210330

CF01 Termination of patent right due to non-payment of annual fee